Agregar y quitar creature/gameobject. Modificar ubicaciones
Quitaremos o agregaremos un npc u objeto.
Para creatures usamos la tabla: creature
Para gameobjects usamos la tabla: gameobject
Columnas de la tabla
veremos solo la tabla de `creature`, no hay mucha diferencia con la de objetos..
guid - El guid sería el 'DNI' del npc. Es un número único, que identifica a un npc. Si se spawnean 20 jabalíes, cada uno tendrá un único guid, y no se repetirá con ningún otro guid de ningun otro npc.
guid id map spawnMask area spawnMask phaseMask modelid equipment_id position_x position_y position_z orientation spawntimesecs spawndist currentwaypoint curhealth curmana MovementType npcflag unit_flags dynamicflags
id - el Entry del npc.
map - En su server escriben .gps y les dice el mapa. Acá la lista.
zone - En su server escriben .gps y les dice la zona. Pueden dejar 0, no pasa nada.
area - En su server escriben .gps y les dice el áreaa. Pueden dejar 0, no pasa nada.
spawnMask - 1 para world , otro valor es para dungeons/raids. Info en la ayuda de TC.
phaseMask - complicado de explicar.. usen 1.
modelid - dejen 0, salvo que tenga q usar algun modelo en especial.
equipment_id - dejen 1, salvo que tenga q usar algun modelo en especial.
position_x (y,z,o) - coordenadas del npc
spawntimesecs - Segundos para que respawnee.
spawndist - Distancia del punto de spawn en el que puede spawnear. Si tiene movimiento, el radio de movimiento.
currentwaypoint - Dejan 0.
curhealth - Dejan 1.
curmana - Dejan 0.
MovementType - 0 se queda quieto. 1 se mueve en el radio de spawndist. 2 hace un waypoint previamente seteado en la tabla correspondiente.
npcflag - Dejan 0, salvo q tenga que tener una npcflag diferente al indicado en creature_template
unit_flags - Dejan 0, salvo q tenga que tener una unit_flags diferente al indicado en creature_template
dynamicflags - Dejan 0, salvo q tenga que tener una dynamicflags diferente al indicado en creature_template
Agregando/sacando un npc
Supongamos que falta un Stranded Crewman (45210).
Vamos al lugar donde deberia estar con el gm, ponemos .gps
y en el chat aparecerán las coordenadas.
Ahí agregamos en el guid 12214, el npc 45210, en la posición -4966.3,-6451.35,1.48649,2.042363, del mapa 0 (Eastern Kingdom). Respawnea en 90 segundos.Código:DELETE FROM `creature` WHERE `id`=45210 AND guid=12214; -- Stranded Crewman INSERT INTO `creature` (guid,id,map,zone,area,spawnMask,phaseMask,modelid,equipment_id,position_x,position_y,position_z,orientation,spawntimesecs,spawndist,currentwaypoint,curhealth,curmana,MovementType,npcflag,unit_flags,dynamicflags) VALUES (12214,45210,0,0,0,1,1,0,0,-4966.3,-6451.35,1.48649,2.042363,90,0,0,1,0,0,0,0,0);
Modificando la posición de un npc
Puede ocurrir que el npc esté ya puesto, pero no donde deberia.
Con el macro que les dí en el post de Introducción, pueden ver el guid que tiene el npc actualmente en wowarg.
El npc estaba spawneado pero no donde deberia. Así que no borramos nada, solo actualizamos las coordenadas x,y,z,o de ese npc (aclarando ID y el GUID).Código:UPDATE `creature` SET position_x=-3815,position_y=-5718.93,position_z=52.3259,orientation=5.99956 WHERE id=48102 AND guid=12213; -- Gorosh the Pant Stealer estaba mal ubicado
Agregando/sacando un gameobject
Código:DELETE FROM `gameobject` WHERE id=50983 AND `guid`=35689; -- fuego en campamento Dragonmaw INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES (35689,50983,530,1,1, -5116.788574, 631.188660, 85.055522,0.949811,0,0,0.457254, 0.889336, 300, 0, 1);
Update gameobject
Código:UPDATE `gameobject` SET orientation=1.62 WHERE id=205847 AND guid=159136; -- chair
NOTAS:
Al ingresar un npc, uds no saben que GUID libre hay en WoWArg. Pueden subir su fix con el guid que hayan usado en su server o sino pueden poner
SET @CGUID := xxxxxxxxx; -- Buscar id libre. Se necesitan 10 libres.


Citar