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
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
-----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...
-----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 ¶m){ 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 ¶m);
Coloque:
bool Commands::broadcastColor(Creature* c, const std::string &cmd, const std::string ¶m);
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 mensagemmensagem é 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 ¶m){ 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 ¶m);
Coloque:
bool speedChanger(Creature* c, const std::string &cmd, const std::string ¶m);
Agora recompile e é soh aproveitar... ^^
NÃO SE ESQUEÇA DE ADICIONAR O COMANDO EM commands.xml!!!
Como usar:
/speed VELOCIDADE nome-do-playerOnde:
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... ^^
r000x demais nao chegueia usar mas codes bons, pena que ja tinha no ot que eu uso, mas r00x mesmo r00000x mesmo, vlwss por ajudar
[ASSINATURA EDITADA POR FAZER PROPAGANDAS. CASO CONTINUE SERÁ ALERTADO]
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
Eu também não acho que o Tópico é TÃÃÃO VELHO assim mas vou postar... ;D
Gostei ,agora é so aprender a Compilar direito,to partindo pras versões MySQL agora ;D
flw.
boa muito roxxxxx
vlws mesmo
flws
preciso aprender a compilar xD