HiHo!
bom... como essa seção estava ficando pouco movimentada eu resolvi criar esse comando. Esses dias não estou tendo muita criatividade masss... vamu lah =p
tah... mas o que ele faz?
.: Ele taca um efeito de poison no player (nome depois do comando)
.: Esse player perde 20 de life
.: O player fala: "Fum!"
.: Os players que estão perto falam: "Eca seu porco!"
.: Se o GM estiver invisível ele não falará nada e nem aparecerá o efeito de poison nele
Let's Go!
Commands.cpp?
procure por:
{"/kick",&Commands::kickPlayer},
logo abaixo adicione:
{"/pum",&Commands::pum},
Commands.cpp - final
(Se seu server tiver o gmInvisible do YurOTS) No final adicione:
bool Commands::pum(Creature* c, const std::string &cmd, const std::string ¶m){
Creature* creature = game->getCreatureByName(param);
Player* player = dynamic_cast<Player*>(creature);
bool canrun = false;
if(player && (player->gmInvisible == false))
{
game->creatureSay(creature, SPEAK_MONSTER1, "Fum!");
player->health -= 20;
canrun = true;
}
if(canrun)
{
SpectatorVec list;
SpectatorVec::iterator it;
game->getSpectators(Range(creature->pos), list);
for(it = list.begin(); it != list.end(); ++it) {
Player* p = dynamic_cast<Player*>(*it);
if(p)
{
p->sendMagicEffect(player->pos, 20);
if((p->getName() != player->getName()) && (p->gmInvisible == false))
{
game->creatureSay((*it), SPEAK_MONSTER2, "Eca seu porco!");
}
}
}
}
return true;
}
Commands.cpp - final
(Se seu server não tiver o gmInvisible do YurOTS) No final adicione:
bool Commands::pum(Creature* c, const std::string &cmd, const std::string ¶m){
Creature* creature = game->getCreatureByName(param);
Player* player = dynamic_cast<Player*>(creature);
bool canrun = false;
if(player)
{
game->creatureSay(creature, SPEAK_MONSTER1, "Fum!");
player->health -= 20;
canrun = true;
}
if(canrun)
{
SpectatorVec list;
SpectatorVec::iterator it;
game->getSpectators(Range(creature->pos), list);
for(it = list.begin(); it != list.end(); ++it) {
Player* p = dynamic_cast<Player*>(*it);
if(p)
{
p->sendMagicEffect(player->pos, 20);
if((p->getName() != player->getName())
{
game->creatureSay((*it), SPEAK_MONSTER2, "Eca seu porco!");
}
}
}
}
return true;
}
Commands.h
Procure por:
bool kickPlayer(Creature* c, const std::string &cmd, const std::string ¶m);
Logo abaixo adicione:
bool pum(Creature* c, const std::string &cmd, const std::string ¶m);
Bom... compile e não esqueça de colocar o /pum no commands.xml (pasta data)
.: Modo de usar
.:. /pum PLAYER .:. Player -> player que irá soltar o pum...
Bom... Acho que é tudo... ^^
FlW
CyA!