Getplayerpremmy Em Actions

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

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!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


colex

Serviços Prestados a Comunidade
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/10/05Posts: 301Gênero: Masculino

ae

bom code :D

eu tbm tava criandu um com mesmu nome "getPlayerPremmy" mas vc é mais rapido xD

bom trabalho

vlws

Augusto

Administrador de Sistemas
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 01/01/06Posts: 139Char no Tibia: Sua Irmã!

Kara, era isso msm que estava procurando

Valew



Lutando por um Fórum melhor!


Não respondo dúvida por MP/MSN/SKYPE.

soulblaster

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/10/05Posts: 196

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:

Assinatura feita por Kilerzinhow:
untitled3mg3.jpg
| Wey.Ctba | Wey.Ctba | Rafix | UnderNight | Xedegux |

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

@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:

 

 

 

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


drakulla

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/01/06Posts: 12Gênero: Masculino

num tem q botar alguma coisa no commands.cpp ou commands.h ??

Grato.

Drakulla



drakullafanbar2bt2.gif

 

drakulla

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/01/06Posts: 12Gênero: Masculino

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



drakullafanbar2bt2.gif

 

drakulla

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/01/06Posts: 12Gênero: Masculino

O Que Aconteceu com o kara ai a cima aconteceu cmg tbm pow!!!

deu igualzinhu ao meu !!!

Atenciosamente.

Drakulla



drakullafanbar2bt2.gif

 

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

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!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


soulblaster

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/10/05Posts: 196

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)
Assinatura feita por Kilerzinhow:
untitled3mg3.jpg
| Wey.Ctba | Wey.Ctba | Rafix | UnderNight | Xedegux |

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133
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!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


soulblaster

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/10/05Posts: 196

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:

Assinatura feita por Kilerzinhow:
untitled3mg3.jpg
| Wey.Ctba | Wey.Ctba | Rafix | UnderNight | Xedegux |

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

HiHo!

----- EDITANDO -----

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

----- EDITANDO -----

FlW

CyA!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


aiola

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/10/06Posts: 23

bem grande mas so pega em neverland o meu e map global :(

byetcha

Perfect Mapper

Varegera
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 12/12/06Posts: 124Gênero: MasculinoChar no Tibia: lanternah

aew boaaa

vlws pela ajuda

flw


primeiro avatar do xtibia =D


clica AQUI e upe meu pokemon PLXXXX

metas:
[x]1post----------------------------[x]100 posts (BARONETE)----------[ ]800 posts (ARISTOCRATA)
[x]5 posts (SERVO)---------------[x]200 posts (BARÃO)--------------[ ]1000 posts (REGENTE)
[x]10 posts (CAMPONÊS)---------[ ]300 posts (VISCONDE)----------[ ]1400 posts (SÁBIO)
[x]25 posts (CAÇADOR)----------[ ]400 posts (DUQUE)--------------[ ]1800 posts (SACERDOTE)
[x]50 posts (CAVALEIRO)--------[ ]600 posts (ARQUEDUQUE)-------[ ]2500 posts (PRÍNCIPE)