Ir para conteúdo
Entre para seguir isso  
Dr0p

Aol

Recommended Posts

Dr0p    0
Dr0p

Code retirado do DeadTouch 2.0 :D

 

Em player.cpp abaixo de:


if(corpse && lootDrop){

 

Adicione isso:


                    #ifdef KILL_AOL

       if(inventory[sLOT_NECKLACE] && inventory[sLOT_NECKLACE]->getID() == 2173){

           g_game.internalRemoveItem(inventory[sLOT_NECKLACE], 1);

           }

       else{

      #endif

 

E abaixo disso:

 

    g_game.internalMoveItem(this, corpse, INDEX_WHEREEVER, item, item->getItemCount());

 	}

 }

}

 

Adicione isso:


#ifdef KILL_AOL

}

#endif

 

Agora alt + p -> Parameters:

 

-DKILL_AOL

 

E é só dar rebuild-all =)

 

Comenta ae :B

Compartilhar este post


Link para o post
Jackson Zani    1
Jackson Zani

Não é muito útil, pois já esta vindo na maioria das Versões

Mas para quem está começando do 0 , é bastante útil :D

Abraços!

Compartilhar este post


Link para o post
4jax    0
4jax

como o jackson falow mt bom pra quem se aventura a criar do zero ^^!

Compartilhar este post


Link para o post
punkndisaster    0
punkndisaster

Boa cara, bastante útil, obrigado por trazer para nós.

Compartilhar este post


Link para o post
Dr0p    0
Dr0p

no meu caso é util, pois comecei meu ot apartir do svn :D

acho mais emocionante ehsauheusa

Compartilhar este post


Link para o post
Convidado =-=~ARTHUR~=-=   
Convidado =-=~ARTHUR~=-=

TA VINU NA MAIORIA DAS VERSÕES ....

 

MEIO CONFUSOO!!!

Compartilhar este post


Link para o post
Zero    0
Zero

Confuso ?

Código extremamente simples e de grande utilidade. ^^

 

Apenas adiciona uma verificação, se existir algum neclace no slot de neclaces do player e esse neclace for o AOL ele remove o AOL, caso contrário ele realiza o código como estava antes. Como C++ utiliza operadores booleanos curt-circuit o código é facilmente reduzido.

 

Agora, acho legal programar Amulet of Life na qual o player não morre. Apenas perde o amuleto.

Se der eu desenvolvo e libero aqui pra galera.

 

Abraços!

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Hum, o codigo está certo mais você esqueceu da red skull brow o.O, se o cara tive red e tier usando aol naum vai perder os items....

 

 

Code:

 


if(invetory[sLOT_NECKLACE] && inventory[sLOT_NECKLACE]->getID() == 2173 && getSkull() != SKULL_RED)

{

  g_game.internalRemoveItem(inventory[sLOT_NECKLACE], 1);

  return;

}

 

Porque o return?

 

Não precisa executar nenhuma outra função se você tem aol,

 


void Player::dropLoot(Container* corpse)

{

    if(invetory[sLOT_NECKLACE] && inventory[sLOT_NECKLACE]->getID() == 2173 && getSkull() != SKULL_RED)

    {

        g_game.internalRemoveItem(inventory[sLOT_NECKLACE], 1);

        return;

    }

if(corpse && lootDrop){

 for(int i = SLOT_FIRST; i < SLOT_LAST; ++i){

 	Item* item = inventory[i];

#ifdef __SKULLSYSTEM__

 	if(item && ((item->getContainer()) || random_range(1, 100) <= 10 || getSkull() == SKULL_RED)){

#else

 	if(item && ((item->getContainer()) || random_range(1, 100) <= 10)){

#endif

   g_game.internalMoveItem(this, corpse, INDEX_WHEREEVER, item, item->getItemCount());

 	}

 }

}

}

 

Simples não? :)

Compartilhar este post


Link para o post
Zero    0
Zero

Boa observação Carnaúba.

Alerto, porém, para que tome cuidado com o uso de return para esta finalidade, pois se você não souber o que a aplicação fará com o valor retornado poderá gerar um bug em runtime que feche o servidor quando o código for executado.

 

É claro que em funções do tipo void não corremos esse risco.

 

Abraços!

Compartilhar este post


Link para o post
uchiha_pedroo    0
uchiha_pedroo

é so tow com uma duvida .... e que no meu ot não tem esse arquivo de soucer ... ai como que eu devo fazer ?

vlw

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×