Caramba nunca tinha visto isso.
E bom pra colocar o item numa quest foda ou para vips.
Muito bom.
Gostei.
Por zimbituba, 14 de dez. de 2008 em Linguagens de Programação
info
Grupo: Conde
Registrado: 08/06/08
Posts: 676
Reputação: +1
Char no Tibia: Kimera De Pegasus

Caramba nunca tinha visto isso.
E bom pra colocar o item numa quest foda ou para vips.
Muito bom.
Gostei.
info
Grupo: Conde
Registrado: 18/12/05
Posts: 912
Reputação: +86
Gênero: Masculino
Char no Tibia: Kohzete

Legal bom ver codes em c++ aqui
Ja que infelizmente a maioria dos scripters eh fechado
Eu tava aprendendo c++
+ desisti auauha
TO aprendendo java
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

Que bom que está progredindo Shynzo. Mas, qual a modificação que você fez para atribuit tal código como em partes, seu?
info
Grupo: Visconde
Registrado: 15/03/08
Posts: 295
Reputação: +1

oO
Muuito boumm isssooo!! Gostei muito., Vousar auqi
=)
info
Grupo: Conde
Registrado: 19/01/08
Posts: 704
Reputação: +17
Char no Tibia: Atera Knight

Nostradamus
Eu não falei que era meu.... mas fiz modificações simples na parte do lusscript.cpp, eu tinha tentado por o codigo do caramas dava erro ai eu vi que u TFS nesta paste por exemplo:
int32_t LuaScriptInterface::luaSetPlayerExpRate(lua_State* L)
no original era assim
int LuaScriptInterface::luaSetPlayerExpRate(lua_State *L)
ai creio que isto e mais umas partes estavam dando erro ao compilar, ai troquei isto e funcionou perfeitamente =D
Simples... porém ultil
Aos demais obrigado pelos comentários =D
Editado Dezembro 16 por Shynzo
info
Grupo: Conde
Registrado: 06/08/06
Posts: 554
Reputação: +223
Char no Tibia: Balacky

Muito legal e util Shynzo parabéns ;D
info
Grupo: Barão
Registrado: 15/12/07
Posts: 239
Reputação: +2

Boaaaa Shynzo...
vo coloquei aqui no server...
gostei :idea:
return (result * g_config.getNumber(ConfigManager::RATE_EXPERIENCE) );
Não encontrei no meu TFS 0.3 :~
info
Grupo: Conde
Registrado: 19/01/08
Posts: 704
Reputação: +17
Char no Tibia: Atera Knight

Não encontrei no meu TFS 0.3 :~
Sabes me dizer qual revisão do TFS v3? por que o code foir modificado para a v0.2, mas se você sourber qual revisão do TFS v0.3 eu posso adaptar aqui para o v0.3 também postar aqui memso no tópico
É que as funçoes de declaração são diferentes =D
Editado Dezembro 17 por Shynzo
info
Grupo: Campones
Registrado: 10/01/08
Posts: 73
Reputação: +3
Char no Tibia: Eletross

TU EH DOS MEUS!
Continue assim!
Posso postar como ajustar /clean do tfs e colocar seus devidos creditos???
Abração veio!
info
Grupo: Conde
Registrado: 19/01/08
Posts: 704
Reputação: +17
Char no Tibia: Atera Knight

TU EH DOS MEUS!
Continue assim!
Posso postar como ajustar /clean do tfs e colocar seus devidos creditos???
Abração veio!
kkkkk logo o meu secret ![]()
kkkkkkkkk
pode sim cara =D
se bem que agora o que eu tenho aki ja ta 9999999x melhor do que aquele ![]()
até mais +D
info
Grupo: Campones
Registrado: 15/10/10
Posts: 22
Reputação: +1

Olá Xtibianos,
Antes de mais nada, os dados do meu server.
VERSÃO: EVOLUTIONS 0.7.8 XML
PROTOCOLO: 7.92
Há alguns dias precisei inserir a função: Setplayerexprate em minha source. Não encontrei nenhum tutorial que fosse compatível com minha versão. Daí criei o seguinte código:
/*
Modificado em 26/09/2010 por Wesley
Se o player estiver com o anel com ID 13859
a sua experiencia é multiplicada por dois
*/
int32_t multiplica = 1;
Player* attackPlayer = attacker->getPlayer();
Item* item = NULL;
if(attackPlayer->inventory[sLOT_RING]){
item = attackPlayer->inventory[sLOT_RING];
int idDoItem = item->getID();
if(item && item->getSlotPosition() << SLOT_RING && idDoItem == 13859){
multiplica = 2;
}
}
/***** FIM *****/
O sistema "funcionou", duplicou a EXP quando usando o item. Porém, em alguns lugares, se usar o ring ele derruba o serv. Exemplo Frost Dragon em sqm de gelo.
Será que alguem teria uma solução para meu problema ?
Desde já, grato pelo tempo destinado a leitura deste pedido.
Editado Novembro 3 por FallenSpiritRPG
info
Grupo: Conde
Registrado: 19/01/08
Posts: 704
Reputação: +17
Char no Tibia: Atera Knight
setPlayerExpRate(cid, rate)
Olá pessoal esse é meu primeiro tópico como Coloborador XTibia, este código não foi criado por mim, mas eu fiz uma modificação para que ele funcionasse para o TFS, a partir de semana que vem vou trazer codes meus, e modificações em codes feitas por mim, estou trazendo este code por que acho legal =D.
Ele tem a função de adicionar um Extra Exp ao player que estiver usando algum item é quase igual ao amuleto da experiencia, mas tem umas melhoriase o item é configurado pelos movements.xml . Então agora vamos ao que interessa.
Em player.cpp acima de:
Adicione o seguinte:
Procure por isto:
E substitua por isto aqui:
Ao final de player.cpp adicione isto:
void Player::changePlayerExpRate(uint32_t rate) { expRate = rate; }Em Player.h acima de:
Adicione isto:
uint32_t getExpRate() const {return expRate;} void changePlayerExpRate(uint32_t rate);Acima disto:
Adicione isto:
Em creature.cpp procure isto:
E substitua por isto:
Em luascript.cpp acima de:
E adicione isto:
E no final de luascript.cpp adicione isto:
int32_t LuaScriptInterface::luaSetPlayerExpRate(lua_State* L) { uint32_t rate = popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getScriptEnv(); Player* player = env->getPlayerByUID(cid); if(player){ player->changePlayerExpRate(rate); lua_pushnumber(L, LUA_ERROR); } else{ reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushnumber(L, LUA_ERROR); } return 1; }Em luascript.h acima de:
Adicione isto:
Como usar?
Simples.... só usar o script abaixo =D
Vá em data/movements/scripts/ e crie um arquivo com o nome de extraExp.lua e adicione isto dentro:
Agora em movements.xml adicione isto:
Como funciona?
Simpres....se a rate do server for 35 se o player tiver usando o item que da extra exp vai ficar assim 35 * 4 = 140 de exp =D
Bom uso..
E até a próxima
Editado Dezembro 14 por Shynzo