Ir para conteúdo

Gm Commands [créditos: The Chaos]


Posts Recomendados

Post editado por gusbronha.

Abaixo temos um post de GM commands, eu não testei o code por isso não posso afirmar se funciona. Caso alguém teste poste aqui para edição do post.

Obrigado

Editado por gusbronha
Link para o comentário
Compartilhar em outros sites

-----edited-----

Abaixo temos um post de GM commands, eu não testei o code por isso não posso afirmar se funciona. Caso alguém teste poste aqui para edição do post.

LoL? Issu num era um tópico pedindo code? hAUhauAHuAh... :bigsmile:

-----fim do edited-----

Broadcast color

Em commands.cpp

em baixo de:

{"/kick",&Commands::kickPlayer},

Coloque

 

{"/bc",&Commands::broadcastColor},

 

Agora vá ao final de commands.cpp e adicione

 

bool Commands::broadcastColor(Creature* c, const std::string &cmd, const std::string &param){    int a;    int colorInt;    Player* player = dynamic_cast<Player*>©;    std::string message = param.c_str();    std::stringstream fullMessage;    std::string color;    MessageClasses mclass;        for(a=0; a<param.length(); ++a){       if(param[a] > 3 && param[a] == ' '){         color = param;         color.erase(a,1-param.length());         message.erase(0,1+a);         break;       }       else          message = param.c_str();           }    std::transform(color.begin(), color.end(), color.begin(), tolower);        if(color == "blue")       mclass = MSG_BLUE_TEXT;    else if(color == "red"){       game->creatureBroadcastMessage(c,message);       return false;    }    else if(color == "red2")       mclass = MSG_RED_TEXT;    else if(color == "orange")       mclass = MSG_ORANGE;    else if(color == "white")       mclass = MSG_ADVANCE; //Invasion    else if(color == "white2")       mclass = MSG_EVENT;    else if(color == "green")       mclass = MSG_INFO;    else if(color == "small")       mclass = MSG_SMALLINFO;    else if(color == "yellow")       mclass = MSG_YELLOW;    else if(color == "private")       mclass = MSG_PRIVATE;                                           else{       player->sendTextMessage(MSG_SMALLINFO, "Define a color, or use #b to speak in red.");       return false;    }    fullMessage << c->getName()<< ": "<< message.c_str()<<std::endl; //Name: Message                          for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){       if(dynamic_cast<Player*>(it->second))         (*it).second->sendTextMessage(mclass, fullMessage.str().c_str());    }    return true;}

 

Pronto. Agora é só declarar.

Commands.h

em baixo de:

bool kickPlayer(Creature* c, const std::string &cmd, const std::string &param);

Coloque:

 

bool Commands::broadcastColor(Creature* c, const std::string &cmd, const std::string &param);

 

Quase funcionando... Agora é soh declarar as "novas cores":

Const76.h

em baixo de:

MSG_RED_INFO = 0x12,

Coloque:

 

MSG_YELLOW    = 0x01,    MSG_PRIVATE   = 0x04,    MSG_ORANGE    = 0x11,

 

Você vai encontrar isso:

 

enum MessageClasses {    MSG_YELLOW    = 0x01,    MSG_PRIVATE   = 0x04,    MSG_ORANGE    = 0x11,    MSG_RED_INFO  = 0x12,    MSG_ADVANCE   = 0x13,    MSG_EVENT     = 0x14,    /*MSG_EVENT     = 0x15,    */    MSG_INFO      = 0x16,    MSG_SMALLINFO = 0x17,    MSG_BLUE_TEXT = 0x18,    MSG_RED_TEXT  = 0x19,};

 

Agora recompile e é soh aproveitar... ^^

NÃO SE ESQUEÇA DE ADICIONAR O COMANDO EM commands.xml!!!

Como usar:

/bc COR mensagem

mensagem é a sua mensagem... =p

COR:

1.Red: A cor que aparece qndo vc digita #b mensagem

2.Blue: Azul, igual a conversa de dois players(Code da cor by nitrous). ¹

3.White: Mesma cor qndo vc avança em level/skills.

4.White2: Mensagens em branco, invasões.

5.Green: Mensagem em verde!

6.small: uma mensagem pequena na tela.

7.Yellow: mensagem normal. ¹

8.Orange: mensagem laranja. ¹

9.Private: Azul marinho, igual a conversa de dois players. ¹

10.Red2: Igual uma mensagem normal, vermelha ¹.

¹- As CORES com esse ¹ vão aparecer na janela "Default" (não na "tela" propriamente dita).

Creditos para "The Chaos" e "Nitrous" ambos do forum otfans...

GM Speed

Commands.cpp

em baixo de:

{"/a",&Commands::teleportNTiles},

Coloque:

 

{"/speed",&Commands::speedChanger},

 

No fim adicione:

 

bool Commands::speedChanger(Creature* c, const std::string &cmd, const std::string &param){    int a;    Player* player = dynamic_cast<Player*>©;	std::string gambiarra = param.c_str();    std::stringstream speedValue;	std::string aimeudeus;	for(a=0; a<param.length(); ++a){       if(!isdigit(param[a])){         aimeudeus = param;         aimeudeus.erase(a,1-param.length());         gambiarra.erase(0,1+a);         break;       }       else          aimeudeus = param.c_str();    }    int newspeed = atoi(aimeudeus.c_str());	if(newspeed > 9999 || newspeed <= 99){       player->sendTextMessage(MSG_RED_TEXT,"Sorry but the speed must be more than 99 and less than 9999.");       return false;    }    if(Player* toChange = game->getPlayerByName(gambiarra)){       toChange->speed = newspeed;    toChange->sendChangeSpeed(game->getCreatureByName(gambiarra.c_str()));    speedValue << "GM "<<player->getName()<< " changed your speed to: "<<toChange->speed<<"."<<std::endl;        toChange->sendTextMessage(MSG_RED_TEXT,speedValue.str().c_str());    player->sendTextMessage(MSG_RED_TEXT,"Done.");    return true;        }    else{       player->speed = newspeed;       player->sendChangeSpeed©;       speedValue << "You changed your speed to: "<<player->speed<<"."<<std::endl;       player->sendTextMessage(MSG_RED_TEXT,speedValue.str().c_str());       return true;    }    return false;	}

 

Commands.h

em baixo de:

bool teleportNTiles(Creature* c, const std::string &cmd, const std::string &param);

Coloque:

 

bool speedChanger(Creature* c, const std::string &cmd, const std::string &param);

 

Agora recompile e é soh aproveitar... ^^

NÃO SE ESQUEÇA DE ADICIONAR O COMANDO EM commands.xml!!!

Como usar:

/speed VELOCIDADE nome-do-player

Onde:

VELOCIDADE => velocidade do player (de 100 a 9999)

nome-do-player => nome do player a quem você dará a velocidade (deixe em branco se você quiser alterar sua velocidade)

Exemplos:

Alterar velocidade de um player chamado Fre Re Ty

/speed 1050 Fre Re Ty

/speed 5567 Fre Re Ty

Alterar sua velocidade

/speed 168

/speed 9999

Creditos ao "The Chaos"

Moderas, srry pela propaganda, mas era pra fla q naum fui eu ki fiz, soh toh ajudanu... ^^
Editado por frerety
Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 1 month later...

bom, como acho q o tópico naum é tãão velho assim, eu posso postar...

eu gostaria de saber se algum compiler disposto a ajudar está interessado em me ajudar a criar alguns comandos de GM que estou necesitando no momento...

obrigado pela atenção,

Cleks2

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 2 months later...
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...