Ir para conteúdo

Getplayerpremmy Em Actions


Posts Recomendados

Créditos: 20% para Soulblaster -> ajudou a garantir compatibilidade com usuários Neverland;

80% para mim por ter feito a versão original e ajudado a montar a versão para Neverland;

HiHo!

Criei uma função em c++ que será usada nas actions. A função se chama: getPlayerPremmy e é usada: getPlayerPremmy(cid). Ela irá retornar 0 se o player for P.A. e retornar -1 se o player não for P.A. Mãos à obra!

C++

em actions.cpp

ache:

 

	//getPlayerFood(uid)	lua_register(luaState, "getPlayerFood", ActionScript::luaActionGetPlayerFood);

 

acima desse code adicione:

 

	//getPlayerPremmy(uid)	lua_register(luaState, "getPlayerPremmy", ActionScript::luaActionGetPlayerPremmy);

 

Agora no final de actions.cpp adicione: (YurOTS)

 

int ActionScript::luaActionGetPlayerPremmy(lua_State *L){    unsigned int cid = (unsigned int)internalGetNumber(L); //pega u id do player(cid)            ActionScript *action = getActionScript(L); //pega a action	const KnownThing* tmp = action->GetPlayerByUID(cid);	if(tmp)    {  Player *player = (Player*)(tmp->thing);        if(player && player->premiumTicks && player->premiumTicks > 0)        {             lua_pushnumber(L, 0);        }        else        {             lua_pushnumber(L, -1);        }    }	else    {  lua_pushnumber(L, -1);  std::cout << "getPlayerPremmy: player not found" << std::endl;  return 1;	}    return 1;}

 

Agora no final de actions.cpp adicione: (NeverLand 4.2+)

 

int ActionScript::luaActionGetPlayerPremmy(lua_State *L){   unsigned int cid = (unsigned int)internalGetNumber(L); //pega u id do player(cid)          ActionScript *action = getActionScript(L); //pega a actionconst KnownThing* tmp = action->GetPlayerByUID(cid);if(tmp)   { Player *player = (Player*)(tmp->thing);    if(player && player->premmium)       {            lua_pushnumber(L, 0);       }       else       {            lua_pushnumber(L, -1);       }   }else   { lua_pushnumber(L, -1); std::cout << "getPlayerPremmy: player not found" << std::endl; return 1;}   return 1;}

 

Agora em actions.h

procure por:

 

static int luaActionGetPlayerFood(lua_State *L);

 

Em cima disto adicione:

 

static int luaActionGetPlayerPremmy(lua_State *L);

 

Recompile tudo... :bigsmile:

Actions

Crie um script chamado function.lua com esse code:

 

function onUse(cid, item, frompos, item2, topos)teleportlugar = {x=160, y=54, z=7}ppos = getPlayerPosition(cid)if item.itemid == 1945 then	premmy = getPlayerPremmy(cid)	if premmy == 0 then  doTeleportThing(cid,teleportlugar)  doTransformItem(item.uid,item.itemid+1)	else  doSendMagicEffect(ppos,2)  doPlayerSendCancel(cid,"A não! Não sou P.A.!")  doTransformItem(item.uid,item.itemid+1)	endelseif item.itemid == 1946 then	premmy = getPlayerPremmy(cid)	if premmy == 0 then  doTeleportThing(cid,teleportlugar)  doTransformItem(item.uid,item.itemid-1)	else  doSendMagicEffect(ppos,2)  doPlayerSendCancel(cid,"A não! Não sou P.A.!")  doTransformItem(item.uid,item.itemid-1)	endendreturn 1end

 

Adicionar a alavanca e o UID dela pelo mapeditor. Escolha a que você quiser...

Depois vá em data/actions e abra o arquivo actions.xml

No final (antes de </actions>) adicione:

 

<action uniqueid="ID_DA_ALAVANCA_QUE_VOCÊ_COLOCOU_PELO_MAPEDITOR" script="function.lua" />

 

Espero ter ajudado...

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

frerety... na hora q eu fui compilar deu um erro nessa linha:

       if(player && player->premiumTicks && player->premiumTicks > 0)

tenta arruma... ou fui que eu fiz alguma coisa errada o.O

----------------------------------------------------------------------------------

aaaaa é... quase me esqueci... vou aproveitar aqui mesmo...

tipow ta danu uns erros aqui... olha:

1º- cannot find -lobjc

2º- Id returned 1 exit status

3º- ...\Makefile.win [build Error]  [Neverland.exe] Error 1

dai c vc puder me ajudar... =): ... me AJUDE xD~~

------------edited----------------------------------------------------------------

ja arrumei esses erros =]

fui... :bye:

Link para o comentário
Compartilhar em outros sites

@soublaster

Kra... soh uma coizinha... esses erros taum dando dpois ki vc arrumou o code ou já estava dandu antes? Ah... E teria como vc colocar o log completo do compilador? tnkz... ^^

FlW

CyA!

frerety... na hora q eu fui compilar deu um erro nessa linha:

tenta arruma... ou fui que eu fiz alguma coisa errada  o.O

aaaaa é... quase me esqueci... vou aproveitar aqui mesmo...

tipow ta danu uns erros aqui... olha:

dai c vc puder me ajudar...  =): ... me AJUDE xD~~

fui... :bye:

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 5 weeks later...

Ei Pq O Meu Sempre da erro na hora de compilar??

Da Isso Oia:

----------------------------------------------------------------------------------

Unidade: c:\Documents and Settings\...\neverland 7.6 sources\Makefile.win |

Mensagem: [build Error] [Neverland.exe] Error 1

----------------------------------------------------------------------------------

ajuda plx mano!

Grato.

Drakulla

Link para o comentário
Compartilhar em outros sites

HiHo!

@soulblaster e drakulla

provavelmente o neverland têm uma incompatibilidade com o script... vou verificar e arrumar... Vai ser editado no post acima qndo eu conseguir arrumar...

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

frerety ja descubri pq num da no neverland...

no arquivo player.xml nao aparece c o player é premmy ou num... (premiumticks="1")

num dando pra usar

if(player && player->premiumTicks && player->premiumTicks > 0)
Link para o comentário
Compartilhar em outros sites

frerety ja descubri pq num da no neverland...

no arquivo player.xml nao aparece c o player é premmy ou num... (premiumticks="1")

num dando pra usar

 

 

 

hey... vc pode mi flar ond fika se o player eh premmy ow naum? Ty

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

claro q posso... =P

fika nas acc... olha:

sem premmy...

<?xml version="1.0"?>

<account pass="lol" type="1" premDays="0" lastsaveday="161">

<characters>

<character name="testando"/>

</characters>

</account>

com premmy...

<?xml version="1.0"?>

<account pass="lol" type="1" premDays="90" lastsaveday="161">

<characters>

<character name="testando"/>

</characters>

</account>

Flws....

cya... :bye:

Link para o comentário
Compartilhar em outros sites

HiHo!

----- EDITANDO -----

Já está disponivel a versão que garante compatibilidade com NeverLand... Observem o Tópico Principal (o primeiro =p)

----- EDITANDO -----

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

  • 4 months later...
  • 2 months later...
×
×
  • Criar Novo...