Ir para conteúdo

Soul Points System


Posts Recomendados

Olá galera o Ruly á algum tempo liberou seu Soul Points Sytem é vim aki posta-lo,espero que usem e abusem dele :D

Based on Darkonia Soul System, but i change much things...

Features?

- Different Soul Points for each rune

- Different soul points for Player with Promoted and No Promoted

- You gain soul Point killing creatures

- When you have soul 0 and make a rune, server dont crash

In

void GameState::onAttackedCreature(Tile* tile, Creature *attacker, Creature* attackedCreature, int damage, bool drawBlood)

{

Antes De:

 

//Prepare body Item *corpseitem = Item::CreateItem(attackedCreature->getLookCorpse()); corpseitem->pos = CreaturePos; tile->addThing(corpseitem);

 

ADD:

 

#ifdef RUL_SOULint maxval;if (attackplayer->promoted){maxval = 200; } else {maxval = 100;   }   if(attackplayer && attackplayer->soul < maxval && !attackedplayer){       attackplayer->soul += g_config.getGlobalNumber("soulup",1);       } #endif //RUL_SOUL

 

Em Ioplayerxml.cpp:

Depois de:

 

 nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "cap"); if(nodeValue) {  player->capacity = atoi(nodeValue);  xmlFreeOTSERV(nodeValue); } else  isLoaded = false;

 

ADD:

 

#ifdef RUL_SOUL         nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "soul"); if(nodeValue) {  player->soul = atoi(nodeValue);  xmlFreeOTSERV(nodeValue); } else  player->soul = 100;#endif //RUL_SOUL

 

Depois De:

 

sb << player->getCapacity();      xmlSetProp(root, (const xmlChar*) "cap", (const xmlChar*)sb.str().c_str());       sb.str("");

 

Adicione:

 

#ifdef RUL_SOULsb << player->soul;         xmlSetProp(root, (const xmlChar*) "soul", (const xmlChar*)sb.str().c_str()); sb.str("");#endif //RUL_SOUL

 

Em Player.cpp

Depois de:

 

maglevel   = 20;

 

Adicione:

 

#ifdef RUL_SOUL soul = 100;#endif //RUL_SOUL

 

Em Player.h Public:

 

#ifdef RUL_SOULint soul;#endif //RUL_SOUL

 

Protocol76.cpp

In

void Protocol76::AddPlayerStats(NetworkMessage &msg,const Player *player)

Despois de:

 

msg.AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT));

 

ADD:

 

#ifdef RUL_SOUL msg.AddByte(player->soul); //soulpoints#endif //RUL_SOUL

 

Spells.cpp

In int SpellScript::luaActionMakeRune(lua_State *L){

Despois de

 

Player* player = dynamic_cast<Player*>(creature);

 

TROQUE:

 

if(player){

 

POR:

 

#ifdef RUL_SOUL      if(player && player->soul < 1)  return 0;  if(player && player->soul > 0){#endif //RUL_SOUL

 

E depois de:

 

 //check if we got enough mana for the left hand if(player->getMana() - magicTarget.manaCost >= magicTarget.manaCost) {  //try to create rune 2  b = internalMakeRune(player,SLOT_LEFT,spell,type,charges);  if(b == 1) {   magicTarget.manaCost += spell->getMana();  } }

 

Coloque:

 

#ifdef RUL_SOUL double soulcost = ceil(magicTarget.manaCost/40);#endif //RUL_SOUL

 

E TROQUE:

 

 else if(a == 1 || b == 1) {  magicTarget.damageEffect = 12; //NM_ME_MAGIC_ENERGIE = 12 }

 

POR:

 

 else if(a == 1 || b == 1) {  magicTarget.damageEffect = 12; //NM_ME_MAGIC_ENERGIE = 12  #ifdef RUL_SOUL    if(b==1 && player->soul > 0 || a== 1 && player->soul > 0){   #endif //RUL_SOUL               magicTarget.manaCost = spell->getMana();               #ifdef RUL_SOUL                player->soul -= (int) soulcost;#endif //RUL_SOUL

 

E por fim em config.lua Ponha:

-- how many soul pointss you gain when kill a monster

soulup = "3"

And add in Project->Project Options->Parameters->C++ Compiler

-DRUL_SOUL

Pronto,agora viva feliz com seu novo e perfect soul System :DD

TUDO BY RULY

Atenciosamente,Jvchequer

Link para o comentário
Compartilhar em outros sites

aew cara..

esse soul system tá aumentando igual tibia rl?

tpw..quando mata monstro demora alguns segundos/mins pra subir o soul?

ou esse é apenas o que foi usado no neverland um pouco modificado? xP

grande demais o código em uAHUAH =P

vlws

flws ae

fuiz!!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...