mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	New test gm scripts to help with positioning populace npcs
This commit is contained in:
		
							
								
								
									
										23
									
								
								Data/scripts/commands/gm/changetonpc.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								Data/scripts/commands/gm/changetonpc.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| require("global"); | ||||
|  | ||||
| properties = { | ||||
|     permissions = 0, | ||||
|     parameters = "", | ||||
|     description = | ||||
| [[ | ||||
| Changes appearance for equipment with given parameters. | ||||
| !graphic <slot> <wID> <eID> <vID> <vID> | ||||
| ]], | ||||
| } | ||||
|  | ||||
| function onTrigger(player, argc) | ||||
|     local messageID = MESSAGE_TYPE_SYSTEM_ERROR; | ||||
|     local sender = "[changetonpc] "; | ||||
|          | ||||
| 	local npc = player.CurrentArea:FindActorInArea(player.currentTarget); | ||||
| 	 | ||||
|     if npc then | ||||
|         player:ChangeIntoNpc(npc); | ||||
|     end | ||||
|             | ||||
| end | ||||
							
								
								
									
										32
									
								
								Data/scripts/commands/gm/setpopulacepos.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								Data/scripts/commands/gm/setpopulacepos.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| require("global"); | ||||
|  | ||||
| properties = { | ||||
|     permissions = 0, | ||||
|     parameters = "sffff", | ||||
|     description = "Moves an actor into a new position instantly", | ||||
| } | ||||
|  | ||||
| function onTrigger(player, argc, name, posX, posY, posZ, rotation) | ||||
|  | ||||
| 	local actor; | ||||
|  | ||||
| 	if (name == nil) then | ||||
| 		player:SendMessage(0x20, "", "No name provided."); | ||||
| 		return; | ||||
| 	end	 | ||||
|  | ||||
|     local pos = player:GetPos(); | ||||
|     local x = posX or pos[1]; | ||||
|     local y = posY or pos[2]; | ||||
|     local z = posZ or pos[3]; | ||||
|     local rot = rotation or pos[4]; | ||||
| 				 | ||||
| 	actor = player.CurrentArea:FindActorInZoneByUniqueID(name); | ||||
| 	if (actor ~= nil) then | ||||
| 		actor:SetPos(x,y,z,rot,true); | ||||
| 		player:SendMessage(0x20, "", string.format("Moved %s @ %f, %f, %f, %f", name, x, y, z, rot)); | ||||
| 	else | ||||
| 		player:SendMessage(0x20, "", string.format("Could not find %s.", name)); | ||||
| 	end	 | ||||
| 	 | ||||
| end | ||||
							
								
								
									
										40
									
								
								Data/scripts/commands/gm/testpopulace.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								Data/scripts/commands/gm/testpopulace.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| require("global"); | ||||
|  | ||||
| properties = { | ||||
|     permissions = 0, | ||||
|     parameters = "dsdffff", | ||||
|     description = "Spawns an actor given the actorClassId", | ||||
| } | ||||
|  | ||||
| function onTrigger(player, argc, actorClassId, name, motionPack, posX, posY, posZ, rotation) | ||||
|  | ||||
| 	local actor; | ||||
|  | ||||
| 	if (actorClassId == nil) then | ||||
| 		player:SendMessage(0x20, "", "No actor class id provided."); | ||||
| 		return; | ||||
| 	end	 | ||||
|  | ||||
| 	if (motionPack == nil) then | ||||
| 		motionPack = 0; | ||||
| 	end | ||||
|  | ||||
| 	local actorClassId = tonumber(actorClassId); | ||||
|     local pos = player:GetPos(); | ||||
|     local x = x or pos[1]; | ||||
|     local y = y or pos[2]; | ||||
|     local z = z or pos[3]; | ||||
|     local rot = rotation or pos[4]; | ||||
| 	 | ||||
| 	if (actorClassId ~= nil and name ~= nil) then | ||||
| 		 | ||||
| 		actor = player.CurrentArea:SpawnActor(1000001, name, x, y, z, rot, 0, motionPack);		 | ||||
| 		actor:ChangeNpcAppearance(actorClassId) | ||||
| 		player:SendMessage(0x20, "", string.format("Spawned %d @ %f, %f, %f, %f", actorClassId, x, y, z, rot)); | ||||
| 	end	 | ||||
| 	 | ||||
| 	if (actor == nil) then | ||||
| 		player:SendMessage(0x20, "", "This actor class id cannot be spawned."); | ||||
| 	end | ||||
| 	 | ||||
| end; | ||||
		Reference in New Issue
	
	Block a user