J'aurai souhaité avoir un tutoriel ou un partage d'un PNJ qui respawn.
Je précise : enfaite c'est un pnj avec un menu gossip et lorsqu'on clique sur le premier item du gossip les pnjs aux alentours respawn.
En gros ce script traduit pour un pnj :
static bool HandleRespawnCommand(ChatHandler* handler, char const* /*args*/) { Player* player = handler->GetSession()->GetPlayer(); // accept only explicitly selected target (not implicitly self targeting case) Unit* target = handler->getSelectedUnit(); if (player->GetTarget() && target) { if (target->GetTypeId() != TYPEID_UNIT || target->IsPet()) { handler->SendSysMessage(LANG_SELECT_CREATURE); handler->SetSentErrorMessage(true); return false; } if (target->isDead()) target->ToCreature()->Respawn(); return true; } CellCoord p(Trinity::ComputeCellCoord(player->GetPositionX(), player->GetPositionY())); Cell cell(p); cell.SetNoCreate(); Trinity::RespawnDo u_do; Trinity::WorldObjectWorker<Trinity::RespawnDo> worker(player, u_do); TypeContainerVisitor<Trinity::WorldObjectWorker<Trinity::RespawnDo>, GridTypeMapContainer > obj_worker(worker); cell.Visit(p, obj_worker, *player->GetMap(), *player, player->GetGridActivationRange()); return true; }
Je vous remercie beaucoup