Jump to content

[Quest]Trocar De Raça Ingame


pedrorrr
 Share

Recommended Posts

Bem venho aqui disponibilizar uma quest do qual andei atrás alguns meses. Com esta quest podes trocar de raça ingame, além disso também podes escolher o sexo da tua nova raça, ainda te reinicia os skill's e pontos de status e o mais fabuloso é que ela te vai desequipar 5 equipamentos dos quais "arma, armadura, elmo, traje e penteado" no final ainda te desloga o char o que vai permitir que todas as alterações sejam bem sucedidas.Quest:

Bem mas para esta quest funcionar correctamente iremos ter de fazer algumas alterações na source no ficheiro "questlua_pc.cpp" e aqui eu deixo o mérito ao nosso grande amigo e grande administrador "tierrilopes". Bem eu alterei um pouco a função para me facilitar "nada de especial e espero não levares a mal tierrilopes.

No ficheiro questlua_pc.cpp procuram por:
 

int pc_is_dead(lua_State* L) {

LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

if ( ch != NULL ) { lua_pushboolean(L, ch->IsDead()); return 1; }

lua_pushboolean(L, true); return 1; }

E por baixo adicionam:
 

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

int pc_desequipar_equipes(lua_State * L) {

LPITEM weapon = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_WEAPON);

LPITEM armor = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_BODY);

LPITEM elmo = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_HEAD);

LPITEM cabelo = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_HAIR);

LPITEM traje = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_BODY);

LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

if (!weapon) lua_pushnumber(L, 0); else ch->UnequipItem(weapon);

if (!armor) lua_pushnumber(L, 0); else ch->UnequipItem(armor);

if (!elmo) lua_pushnumber(L, 0); else ch->UnequipItem(elmo);

if (!cabelo) lua_pushnumber(L, 0); else ch->UnequipItem(cabelo);

if (!traje) lua_pushnumber(L, 0); else ch->UnequipItem(traje);

return 1; }

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP 

Ainda nesse ficheiro procuram por:

{ "is_dead", pc_is_dead },

E por baixo adicionam:
 

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

{ "desequipar_equipes", pc_desequipar_equipes },

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

Agora no filezilla/winscp devem ir ao seguinte caminho:
 

/usr/xxx/xxx/share/locale/xxx/quest

xxx = Localização das vossas server files

Normalmente:

/usr/home/game/share/locale/germany/quest

Ai vão editar o ficheiro "quest_functions" e adicionar a seguinte função nela:

pc.desequipar_equipes

Agora vão ao vosso putty/virtual box e fazem o seguinte:
 

cd /usr/xxx/xxx/share/locale/xxx/quest && ./qc nome da quest

// xxx = Localização das vossas server files

Normalmente:

cd /usr/home/game/share/locale/germany/quest && ./qc nome da quest 

Fonte do código da source e etc: m2dev.net

Créditos da Quest: BaaLaaN && tierrilopes && MasterOP

Créditos do código da source e etc: tierrilopes

Tópico original do tutorial da implementação do código sem alterações minhas: https://tlthings.net/index.php?/topic/106-desequipar-arma-e-armadura-em-quest

Nota: tierrilopes se algo tiver errado altera, não sou bom nisto :p

Nota2: Se quiserem usar a função original feita por o tierrilopes terão de alterar na quest todos os campos "pc.desequipar_equipes()" por "pc.tirar_arma_armadura()" e em "quest_functions" igual também.

Bem aqui me despeço com um especial agradecimento ao tierrilopes, pois sem ele maior parte disto não tinha sido possível.

  • Like 1
Link to comment
Share on other sites

  • 8 months later...
  • 6 months later...

vale ressaltar que não remove faixa nem costume weapon, caso alguem tenha os 2 no servidor edite a função com

LPITEM faixas = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_ACCE);

LPITEM CWeapon = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_WEAPON);

 

Link to comment
Share on other sites

  • 7 months later...
  • 1 year later...
Em 10/12/2015 em 00:56, pedrorrr disse:

Bem venho aqui disponibilizar uma quest do qual andei atrás alguns meses. Com esta quest podes trocar de raça ingame, além disso também podes escolher o sexo da tua nova raça, ainda te reinicia os skill's e pontos de status e o mais fabuloso é que ela te vai desequipar 5 equipamentos dos quais "arma, armadura, elmo, traje e penteado" no final ainda te desloga o char o que vai permitir que todas as alterações sejam bem sucedidas.Quest:

Bem mas para esta quest funcionar correctamente iremos ter de fazer algumas alterações na source no ficheiro "questlua_pc.cpp" e aqui eu deixo o mérito ao nosso grande amigo e grande administrador "tierrilopes". Bem eu alterei um pouco a função para me facilitar "nada de especial e espero não levares a mal tierrilopes.

No ficheiro questlua_pc.cpp procuram por:
 

int pc_is_dead(lua_State* L) {

LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

if ( ch != NULL ) { lua_pushboolean(L, ch->IsDead()); return 1; }

lua_pushboolean(L, true); return 1; }

E por baixo adicionam:
 

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

int pc_desequipar_equipes(lua_State * L) {

LPITEM weapon = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_WEAPON);

LPITEM armor = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_BODY);

LPITEM elmo = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_HEAD);

LPITEM cabelo = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_HAIR);

LPITEM traje = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_BODY);

LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

if (!weapon) lua_pushnumber(L, 0); else ch->UnequipItem(weapon);

if (!armor) lua_pushnumber(L, 0); else ch->UnequipItem(armor);

if (!elmo) lua_pushnumber(L, 0); else ch->UnequipItem(elmo);

if (!cabelo) lua_pushnumber(L, 0); else ch->UnequipItem(cabelo);

if (!traje) lua_pushnumber(L, 0); else ch->UnequipItem(traje);

return 1; }

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP 

Ainda nesse ficheiro procuram por:

{ "is_dead", pc_is_dead },

E por baixo adicionam:
 

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

{ "desequipar_equipes", pc_desequipar_equipes },

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

Agora no filezilla/winscp devem ir ao seguinte caminho:
 

/usr/xxx/xxx/share/locale/xxx/quest

xxx = Localização das vossas server files

Normalmente:

/usr/home/game/share/locale/germany/quest

Ai vão editar o ficheiro "quest_functions" e adicionar a seguinte função nela:

pc.desequipar_equipes

Agora vão ao vosso putty/virtual box e fazem o seguinte:
 

cd /usr/xxx/xxx/share/locale/xxx/quest && ./qc nome da quest

// xxx = Localização das vossas server files

Normalmente:

cd /usr/home/game/share/locale/germany/quest && ./qc nome da quest 

Fonte do código da source e etc: m2dev.net

Créditos da Quest: BaaLaaN && tierrilopes && MasterOP

Créditos do código da source e etc: tierrilopes

Tópico original do tutorial da implementação do código sem alterações minhas:

 

Nota: tierrilopes se algo tiver errado altera, não sou bom nisto :p

Nota2: Se quiserem usar a função original feita por o tierrilopes terão de alterar na quest todos os campos "pc.desequipar_equipes()" por "pc.tirar_arma_armadura()" e em "quest_functions" igual também.

Bem aqui me despeço com um especial agradecimento ao tierrilopes, pois sem ele maior parte disto não tinha sido possível.

 

 

trocar_de_raca.lua

é possivel

 dentro da source não ter questlua_pc.cpp?

Link to comment
Share on other sites

  • 8 months later...
Em 10/12/2015 em 01:56, pedrorrr disse:

Bem venho aqui disponibilizar uma quest do qual andei atrás alguns meses. Com esta quest podes trocar de raça ingame, além disso também podes escolher o sexo da tua nova raça, ainda te reinicia os skill's e pontos de status e o mais fabuloso é que ela te vai desequipar 5 equipamentos dos quais "arma, armadura, elmo, traje e penteado" no final ainda te desloga o char o que vai permitir que todas as alterações sejam bem sucedidas.Quest:

Bem mas para esta quest funcionar correctamente iremos ter de fazer algumas alterações na source no ficheiro "questlua_pc.cpp" e aqui eu deixo o mérito ao nosso grande amigo e grande administrador "tierrilopes". Bem eu alterei um pouco a função para me facilitar "nada de especial e espero não levares a mal tierrilopes.

No ficheiro questlua_pc.cpp procuram por:
 

int pc_is_dead(lua_State* L) {

LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

if ( ch != NULL ) { lua_pushboolean(L, ch->IsDead()); return 1; }

lua_pushboolean(L, true); return 1; }

E por baixo adicionam:
 

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

int pc_desequipar_equipes(lua_State * L) {

LPITEM weapon = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_WEAPON);

LPITEM armor = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_BODY);

LPITEM elmo = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_HEAD);

LPITEM cabelo = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_HAIR);

LPITEM traje = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_BODY);

LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

if (!weapon) lua_pushnumber(L, 0); else ch->UnequipItem(weapon);

if (!armor) lua_pushnumber(L, 0); else ch->UnequipItem(armor);

if (!elmo) lua_pushnumber(L, 0); else ch->UnequipItem(elmo);

if (!cabelo) lua_pushnumber(L, 0); else ch->UnequipItem(cabelo);

if (!traje) lua_pushnumber(L, 0); else ch->UnequipItem(traje);

return 1; }

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP 

Ainda nesse ficheiro procuram por:

{ "is_dead", pc_is_dead },

E por baixo adicionam:
 

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

{ "desequipar_equipes", pc_desequipar_equipes },

// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP

Agora no filezilla/winscp devem ir ao seguinte caminho:
 

/usr/xxx/xxx/share/locale/xxx/quest

xxx = Localização das vossas server files

Normalmente:

/usr/home/game/share/locale/germany/quest

Ai vão editar o ficheiro "quest_functions" e adicionar a seguinte função nela:

pc.desequipar_equipes

Agora vão ao vosso putty/virtual box e fazem o seguinte:
 

cd /usr/xxx/xxx/share/locale/xxx/quest && ./qc nome da quest

// xxx = Localização das vossas server files

Normalmente:

cd /usr/home/game/share/locale/germany/quest && ./qc nome da quest 

Fonte do código da source e etc: m2dev.net

Créditos da Quest: BaaLaaN && tierrilopes && MasterOP

Créditos do código da source e etc: tierrilopes

Tópico original do tutorial da implementação do código sem alterações minhas: https://tlthings.net/index.php?/topic/106-desequipar-arma-e-armadura-em-quest

Nota: tierrilopes se algo tiver errado altera, não sou bom nisto :p

Nota2: Se quiserem usar a função original feita por o tierrilopes terão de alterar na quest todos os campos "pc.desequipar_equipes()" por "pc.tirar_arma_armadura()" e em "quest_functions" igual também.

Bem aqui me despeço com um especial agradecimento ao tierrilopes, pois sem ele maior parte disto não tinha sido possível.

 

 

trocar_de_raca.lua

Tens como fazer upload trocar_de_raca.lua link off

Link to comment
Share on other sites

  • 4 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...