frerety 7 Postado Abril 30, 2006 Share Postado Abril 30, 2006 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... 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 https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/ Compartilhar em outros sites More sharing options...
colex 8 Postado Abril 30, 2006 Share Postado Abril 30, 2006 ae bom code eu tbm tava criandu um com mesmu nome "getPlayerPremmy" mas vc é mais rapido xD bom trabalho vlws Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-68547 Compartilhar em outros sites More sharing options...
Augusto 18 Postado Abril 30, 2006 Share Postado Abril 30, 2006 Kara, era isso msm que estava procurando Valew Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-68646 Compartilhar em outros sites More sharing options...
soulblaster 0 Postado Abril 30, 2006 Share Postado Abril 30, 2006 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 ---------------------------------------------------------------------------------- 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... Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-68746 Compartilhar em outros sites More sharing options...
frerety 7 Postado Maio 1, 2006 Autor Share Postado Maio 1, 2006 @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 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... <{POST_SNAPBACK}> Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-68975 Compartilhar em outros sites More sharing options...
drakulla 0 Postado Junho 1, 2006 Share Postado Junho 1, 2006 num tem q botar alguma coisa no commands.cpp ou commands.h ?? Grato. Drakulla Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-81061 Compartilhar em outros sites More sharing options...
drakulla 0 Postado Junho 1, 2006 Share Postado Junho 1, 2006 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 https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-81094 Compartilhar em outros sites More sharing options...
drakulla 0 Postado Junho 1, 2006 Share Postado Junho 1, 2006 O Que Aconteceu com o kara ai a cima aconteceu cmg tbm pow!!! deu igualzinhu ao meu !!! Atenciosamente. Drakulla Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-81101 Compartilhar em outros sites More sharing options...
frerety 7 Postado Junho 2, 2006 Autor Share Postado Junho 2, 2006 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 https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-81834 Compartilhar em outros sites More sharing options...
soulblaster 0 Postado Junho 2, 2006 Share Postado Junho 2, 2006 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 https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-81864 Compartilhar em outros sites More sharing options...
frerety 7 Postado Junho 2, 2006 Autor Share Postado Junho 2, 2006 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 <{POST_SNAPBACK}> hey... vc pode mi flar ond fika se o player eh premmy ow naum? Ty FlW CyA! Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-81877 Compartilhar em outros sites More sharing options...
soulblaster 0 Postado Junho 11, 2006 Share Postado Junho 11, 2006 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... Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-88930 Compartilhar em outros sites More sharing options...
frerety 7 Postado Junho 11, 2006 Autor Share Postado Junho 11, 2006 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 https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-88953 Compartilhar em outros sites More sharing options...
aiola 0 Postado Outubro 17, 2006 Share Postado Outubro 17, 2006 bem grande mas so pega em neverland o meu e map global byetcha Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-157866 Compartilhar em outros sites More sharing options...
Perfect Mapper 1 Postado Dezembro 24, 2006 Share Postado Dezembro 24, 2006 aew boaaa vlws pela ajuda flw Link para o comentário https://xtibia.com/forum/topic/14899-getplayerpremmy-em-actions/#findComment-203548 Compartilhar em outros sites More sharing options...
Posts Recomendados