Jump to content

Desequipar Arma E Armadura Em Quest


tierrilopes
 Share

Recommended Posts

Abrir o ficheiro questlua_pc.cpp

 

Procurar 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;}

 

Adicionar isto debaixo:


 

int pc_tirar_arma_armadura(lua_State * L){

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

LPITEM armor = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_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);

return 1;}

 

 

Ficando assim:

 

 

 

Clipboardimage2015-12-09174422.png

 

 

 

Procurar por:

 

{ "is_dead", pc_is_dead },

 

Adicionar isto debaixo:

 

{ "tirar_arma_armadura", pc_tirar_arma_armadura },

 

Ficando assim:

 

 

 

Clipboardimage2015-12-09174731.png

 

 

 

Adicionar o seguinte no final do ficheiro quest_function (pasta quest das files):

pc.tirar_arma_armadura

 

Como utilizar em quest?

Para desequipar a arma e armadura de uma personagem, adicionar o seguinte código na quest:

pc.tirar_arma_armadura()

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Para remover arma, armadura, penteado e traje seria assim:

int pc_tirar_arma_armadura(lua_State * L)
   {
       LPITEM weapon = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_WEAPON);
       LPITEM armor = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_BODY);
       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 (!cabelo)
           lua_pushnumber(L, 0);
       else
           ch->UnequipItem(cabelo);

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

       return 1;
   }

Link to comment
Share on other sites

Para quem quiser como o @tierrilopes disse que fez agora por ultimo, aqui fica o código já:

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

int pc_desequipar_arma(lua_State * L)

{

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

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


if (!arma)

lua_pushnumber(L, 0);

else

ch->UnequipItem(arma);


return 1;

}

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


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

int pc_desequipar_armadura(lua_State * L)

{

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

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


if (!armadura)

lua_pushnumber(L, 0);

else

ch->UnequipItem(armadura);


return 1;

}

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


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

int pc_desequipar_elmo(lua_State * L)

{

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

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


if (!elmo)

lua_pushnumber(L, 0);

else

ch->UnequipItem(elmo);


return 1;

}

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


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

int pc_desequipar_escudo(lua_State * L)

{

LPITEM escudo = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_SHIELD);

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


if (!escudo)

lua_pushnumber(L, 0);

else

ch->UnequipItem(escudo);


return 1;

}

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


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

int pc_desequipar_botas(lua_State * L)

{

LPITEM botas = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_FOOTS);

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


if (!botas)

lua_pushnumber(L, 0);

else

ch->UnequipItem(botas);


return 1;

}

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


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

int pc_desequipar_pulseira(lua_State * L)

{

LPITEM pulseira = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_WRIST);

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


if (!pulseira)

lua_pushnumber(L, 0);

else

ch->UnequipItem(pulseira);


return 1;

}

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


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

int pc_desequipar_brincos(lua_State * L)

{

LPITEM brincos = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_EAR);

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


if (!brincos)

lua_pushnumber(L, 0);

else

ch->UnequipItem(brincos);


return 1;

}

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


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

int pc_desequipar_colar(lua_State * L)

{

LPITEM colar = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_NECK);

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


if (!colar)

lua_pushnumber(L, 0);

else

ch->UnequipItem(colar);


return 1;

}

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


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

int pc_desequipar_traje(lua_State * L)

{

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

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


if (!traje)

lua_pushnumber(L, 0);

else

ch->UnequipItem(traje);


return 1;

}

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


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

int pc_desequipar_cabelo(lua_State * L)

{

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

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


if (!cabelo)

lua_pushnumber(L, 0);

else

ch->UnequipItem(cabelo);


return 1;

}

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


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

int pc_desequipar_cinto(lua_State * L)

{

LPITEM cinto = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_BELT);

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


if (!cinto)

lua_pushnumber(L, 0);

else

ch->UnequipItem(cinto);


return 1;

}

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

 

		// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP
		{ "desequipar_arma",    pc_desequipar_arma    }, 
		{ "desequipar_armadura",    pc_desequipar_armadura    }, 
		{ "desequipar_elmo",    pc_desequipar_elmo    }, 
		{ "desequipar_colar",    pc_desequipar_colar    }, 
		{ "desequipar_brincos",    pc_desequipar_brincos    }, 
		{ "desequipar_botas",    pc_desequipar_botas    }, 
		{ "desequipar_pulseira",    pc_desequipar_pulseira    }, 
		{ "desequipar_escudo",    pc_desequipar_escudo    }, 
		{ "desequipar_cabelo",    pc_desequipar_cabelo    }, 
		{ "desequipar_traje",    pc_desequipar_traje    }, 
		{ "desequipar_cinto",    pc_desequipar_cinto    }, 
		// Função de retirar equipes -- By: Tierrilopes -- Alteração: Pedrorrr aka MasterOP
 

Quest Functions:

pc.desequipar_arma
pc.desequipar_armadura
pc.desequipar_elmo
pc.desequipar_colar
pc.desequipar_brincos
pc.desequipar_botas
pc.desequipar_pulseira
pc.desequipar_escudo
pc.desequipar_cabelo
pc.desequipar_traje
pc.desequipar_cinto
 
Link to comment
Share on other sites

  • 1 year later...
  • 5 months later...

Uma pequena actualização "Costume_weapons"

 

Spoiler
int pc_desequipar_costume(lua_State * L)
	{
		LPITEM costume = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(COSTUME_WEAPON);
		LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

		if (!costume)
			lua_pushnumber(L, 0);
		else
			ch->UnequipItem(costume);
		return 1;
	}

 

 

{ "desequipar_costume",    pc_desequipar_costume    },

 

 

Link to comment
Share on other sites

  • 1 year later...
  • 2 years 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...