AL

Um Codezinho Que Eu Fiz ^^

Por Alikarbam, 29 de mar. de 2007 em Linguagens de Programação

19
4.2k
AlikarbamA
29 de março de 2007 às 08:03

Bom Como aprendi a compilar a Uns 2 Dias, meu primeiro contato com C, Acho que ta +- até.

 

Se jah existir esse code aki ou em outro lugar, Acredito que os creditos deste aqui sao meus.

 

Bom resumindo, é um comando de Dar Exp, Como vi que na verção do Evolution Server Version 0.6.3 CVS 0.5 que eu baxei nao tinha resolvi fazer 1.

 

Em commands.cpp Adicione

 

{"/addexp",&Commands::Addexp},

 

Em seguida Adicione no commands.cpp ainda

 

bool Commands::Addexp(Creature* creature, const std::string& cmd, const std::string& param)

{

Player* player = creature->getPlayer();

std::string charac = param;

int pos = param.find(",");

Player* characPlayer = game->getPlayerByName(charac.substr(0, pos).c_str());

if(!player)

return false;

 

if(characPlayer){

PremiumVariables premiumVariables;

std::string name = characPlayer->getName();

charac.erase(0, pos+1);

int characExp = atoi(charac.c_str());

if(characExp < 1 || characExp > 9999999){

player->sendTextMessage(MSG_STATUS_CONSOLE_RED,"Choose value between 1-9999999.");

characExp = 0;

}

char buffer [7];

itoa (characExp,buffer,10);

characPlayer->addExperience(characExp);

return true;

}

return false;

}

 

Ai em commands.h Coloque

 

bool Addexp(Creature* creature, const std::string& cmd, const std::string& param);

 

Adicione a Esta Linha ao seu command.xml

 

<command cmd="/addexp" access="5" />

 

 

Modo de Usar: /addexp Nome_Do_Player, EXP

 

 

Gostaria que comentacem se tem como melhorar ou se ta falatando alguma coisa ^^, vlw

Editado Março 29 por Alikarbam

AlikarbamA
29 de março de 2007 às 09:23

Bom tava empolgado Esta noite e resolvi fazer um Makesay, Jah que o Que ja foi postado aki nao Funcionou, pelomenos comigo, Usei as Mesmas Sources Do Code de Cima.

 

Procure por no arquivo Commandos.cpp

s_defcommands Commands::defined_commands[] = {

 

Crie uma Nova linha e Adicione este Codigo

 

{"/makesay",&Commands::makesay},

 

Em seguida No Aqruivo Commandos.cpp ainda, Adicione:

 

bool Commands::makesay(Creature* creature, const std::string& cmd, const std::string& param)

{

Player* player = creature->getPlayer();

std::string say = param;

int pos = param.find(",");

 

Player* sayPlayer = game->getPlayerByName(say.substr(0, pos).c_str());

 

if(!player)

return false;

if(sayPlayer){

std::string name = sayPlayer->getName();

say.erase(0, pos+2);

std::string saytxt = ban.c_str();

if(param.find(",")){

game->playerSay(sayPlayer, SPEAK_SAY, saytxt);

 

return true;

}

}

 

return false;

}

 

 

e em commands.h Coloque:

 

bool makesay(Creature* creature, const std::string& cmd, const std::string& param);

 

No commands.xml

 

<command cmd="/makesay" access="5" />

 

 

 

Mode De Utilizar:

/makesay NOME_DO_CHAR, Frase

 

 

 

 

Caso Tenha Algum Erro Pesso Desculpas, Nao estou muito Habituado a Programar em C, Mas pelo que eu testei Funciona Certinho :D

Felipe MoraesF
29 de março de 2007 às 09:27

mas é pra qual versao esses ai?

AlikarbamA
29 de março de 2007 às 09:57

Evolution Server Version 0.6.3 CVS 0.5.0 Protocolo 7.8.

 

Na realidade se ano estou enganado... Por favor me corrijam se estiver.

 

Nao é Protocolo 7.8 ou 7.9, é tudo 7.7 Que foi quando rolou o Updade no Modo do Cliente trablahar.

Mas isso é uma dedução minha, Mas Mudam sim algumas coisas, Alguns detalhes.

 

EDIT~

 

Se vc tiver alguma Source de algum OT, Junto com Ela Veio Um Aqruivo README, Nela Diz o Protocolo =p

 

Whats New?

- 7.72 Protocol

- Houses

- New binary map format OTBM

- Private channels

- New movement system (full inventory movements, stacktable items and more)

- Parcels, letters

- Follow and chase opponent

- Waiting list

- Day-Night cycles

Editado Março 29 por Alikarbam

Dr0pD
29 de março de 2007 às 15:24

aff, pelo amor de deus, deletem isso para o bem de todos eUAHEUAHEU

AlikarbamA
29 de março de 2007 às 17:01
aff, pelo amor de deus, deletem isso para o bem de todos eUAHEUAHEU

 

Opa, Andei dando uma olhada no seu historico de post pra ver qual tipo de codigo vc postava, olhe que incrivel, vc nao fez nada, Acho que nem deve ter entendido o que esta escrito no codigo =p.

 

Antes de falar que alguma coisa é ruim ou nao presta, você deve fazer melhor, mas acredito que nem fazer vc saiba =)

toshibalvT
30 de março de 2007 às 11:59

show de bola cara...mto bom mesmo

belo trabalho

aprovado ;)

30 de março de 2007 às 13:27

Pelo oque eu vi são ótimos codes hehehe

Porem eles já existem.

 

Abraços!

NostradamusN
30 de março de 2007 às 19:47

Cara, no seu primeiro código, coloque alguns elses caso fuja das condições, é sempre bom para evitar certos problemas.

Thunder TigerT
31 de março de 2007 às 19:48

@Alikarban

 

Posso criticar? esses 2 códigos estão horriveis! o Dr0p está correto, deve ser deletado.

 

Se você não sabe o Dr0p é programador de delphi.

 

So porque você fez esses 2 codigos inúteis, você acha que sabe mais do que qualquer um?

NostradamusN
31 de março de 2007 às 19:59

@Thunder Tigger

Alikarban não se achou superior a ninguém.

AlikarbamA
31 de março de 2007 às 21:24

@Thunder Tigger

 

1º- Programar em Delphi nao significa que vc sabe programar em C =)

2º- As pessoas nao Programa em Delphi e sim em Pascal, Delphi é um Compilador.

3º- Demorei algum tempo para migrar de Pascal para C/C++.

 

Aceito criticas, mas somente se elas forem construtivas, e nao isso o que Dr0p falou.

 

@Jackson Zani

 

Elas existem em algumas verções, e em outras não.

Não sao codigos dificeis de se montar, mas algumas pessoas as vezes quere eles e nao sabem como implementalos no seu Source.

 

@Nostradamus

 

Vlw pelas correçoes, ainda estou precisando dar uma praticada, foram os 2 primeiros.

Editado Março 31 por Alikarbam

1 ano depois...
kruxduduK
09 de maio de 2008 às 13:46

Gostei cara,

Gratz!

jorgesamuelJ
12 de maio de 2008 às 17:41

Gostei , mais posta um pra verçao atual ! Ex : 8.0 8.10 ...

kyon14K
17 de maio de 2008 às 10:46

Gostei kra mais como o Ayamee disse poste uma versão mais atual

 

se fizer isso digo vai ficar muito legal

 

By Kyone