Ir para conteúdo
  • Cadastre-se

(Resolvido)[HELP] {ACTION}


Ir para solução Resolvido por Cerberus,

Posts Recomendados

Olá, estou procurando um Action que quando eu der use, sou teletransportado para um tal lugar, creio que seja simples.
Requisitos:
*ID do meu item: 2345

*teleportar para [X: 141] [Y: 9] [Z: 7].

*Que seja 100% funcional e testado

Se ajudar dou REP+
Vlew (y)
 

Link para o post
Compartilhar em outros sites
function onUse(cid, item, topos)
if item.uid == 2345 and getPlayerStorageValue(cid, 9001) < 1 then 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "foi teleportado.")             
            doTeleportThing(cid,{x=141, y=9, z=7})
setPlayerStorageValue(cid, 9001, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "nao pode!")
end
return true
end

tag 

<action itemid="2345" event="script" value="NameScript.lua" />

do geito com storage ele so faz 1 ves.. se quiser que sempre ele seja teleportado e so tirar 

getPlayerStorageValue(cid, 9001) < 1

e

setPlayerStorageValue(cid, 9001, 1)
Editado por kbpaulo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingActions e TalkActions"

Para: "OTServSuporte OTServSuporte de Scripts"

Link para o post
Compartilhar em outros sites
function onUse(cid, item, topos)
if item.uid == 2345 and getPlayerStorageValue(cid, 9001) < 1 then 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "foi teleportado.")             
            doTeleportThing(cid,{x=141, y=9, z=7})
setPlayerStorageValue(cid, 9001, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "nao pode!")
end
return true
end

tag 

<action itemid="2345" event="script" value="NameScript.lua" />

do geito com storage ele so faz 1 ves.. se quiser que sempre ele seja teleportado e so tirar 

getPlayerStorageValue(cid, 9001) < 1

e

setPlayerStorageValue(cid, 9001,

O seu script nao funciona, perdoe-me mas tem algo errado ai  :hum: 

Link para o post
Compartilhar em outros sites

se não funcionou tem erro qual foi... mais garanto que vc foi tira a storage e nao tirou o and xD..

Link para o post
Compartilhar em outros sites

foi mal foi erro meu mesmo 

troca essa linha

if item.uid == 2345

por essa - pois e 1 item não unique xD...mls o erro foi meu mesmo.

if item.itemid == 2345 
Editado por kbpaulo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

foi mal foi erro meu mesmo 

troca essa linha

if item.uid == 2345

por essa - pois e 1 item não unique xD...mls o erro foi meu mesmo.

if item.itemid == 2345 

mano, agora funcionou, mas me responde uma coisa: por q o item nao some ? era pra ser usado e sumir,  :hum:

Link para o post
Compartilhar em outros sites
function onUse(cid, item, topos)
if item.itemid == 2345 and getPlayerStorageValue(cid, 9001) < 1 then 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "foi teleportado.")             
            doTeleportThing(cid,{x=141, y=9, z=7})
setPlayerStorageValue(cid, 9001, 1)
doPlayerRemoveItem(cid, 2345, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "nao pode!")
end
return true
end
Editado por Rusherzin (veja o histórico de edições)

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Link para o post
Compartilhar em outros sites
  • Solução

mano, agora funcionou, mas me responde uma coisa: por q o item nao some ? era pra ser usado e sumir,  :hum:

 

adiciona essa tag depois da storage ou do teleport

 doRemoveItem(item.uid, 1)
function onUse(cid, item, topos)
if item.itemid == 2345 and getPlayerStorageValue(cid, 9001) < 1 then 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "foi teleportado.")             
            doTeleportThing(cid,{x=141, y=9, z=7})
setPlayerStorageValue(cid, 9001, 1)
doPlayerRemoveItem(cid, 2345, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "nao pode!")
end
return true
end

 

 

rush tem que tomar cuidado com essa tag que vc adicionou tem distros que se o cara der use no use fora da bp do player ele não some por causa dela.

Link para o post
Compartilhar em outros sites

adiciona essa tag depois da storage ou do teleport

 doRemoveItem(item.uid, 1)

 

 

rush tem que tomar cuidado com essa tag que vc adicionou tem distros que se o cara der use no use fora da bp do player ele não some por causa dela.

Vlw carinha, agora sim ;)

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Doria Louro
      Olá nobre senhores, tudo bem com vocês?
      Servidor: TFS 0.3.6
      Cliente:    8.60
       
      Estou com a seguinte ideia, criar conjuntos de equipamentos em meu servidor, que aumente os atributos do player ao utilizar o conjunto/set completo, exemplo:

       
      Um exemplo dos itens contidos no meu itens.xml:
      <item id="2487" article="a" name="warrior armor"> <attribute key="weight" value="9000" /> <attribute key="armor" value="13" /> <attribute key="skillSword" value="1" /> <attribute key="skillAxe" value="1" /> <attribute key="skillClub" value="1" /> <attribute key="slotType" value="body" /> <attribute key="healthGain" value="2" /> <attribute key="healthTicks" value="3000" /> <attribute key="description" value="+2 HP every 3s, Sale value: $5000" /> </item>  
      Em meu movements.xml:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="function" value="onEquipItem"> <vocation id="8" /> </movevent> <movevent type="DeEquip" itemid="2487" slot="armor" event="function" value="onDeEquipItem" />  
      Entretanto eu fico limitado aos eventos de Equip default, se eu altero para meu script full_set.lua:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="script" value="full_set.lua"> <vocation id="8" /> </movevent>  
      Executando meu script  eu perco os atributos contidos no itens.xml, tais como o aumento de skill, ganho de HP por segundo e também qualquer vocação pode utilizar o equipamento.
       
      Simplificando, é possível utilizar os recursos padrões de Equip do movements e adicionar um/mais scripts personalizáveis sem perder as funcionalidades da function onEquipItem?
      Meu objetivo é quanto mais partes do set o jogador possuir, mais bônus ele obterá, um exemplo:
       
      Warrior Set
      [2 peças] - Aumenta em 100 HP total
      [4 peças] - Aumenta em 2 shielding
       
      Eu tenho uma ideia de colocar essa verificação no creaturescripts, entretanto não gostaria de tomar esse rumo pois acredito que poderia sobrecarregar meu servidor com as verificações por thing.
      Efetuei consultas pela internet e geralmente o pessoa que tem essa duvida utiliza itens que não tem status, tipo um ring, no meu caso é diferente.
       
      Possível solução: Seria utilizar o código Equip padrão no meu script e depois aplicar meu código, entretanto eu não encontrei em nenhum local esse script de Equip,
       
      Quem puder me ajudar eu ficaria eternamente grato já que esse é um sistema chave no meu projeto, agradeço desde já
    • Por Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por looktsx
      Salve Rapaziada tudo bom .
      queria ajuda pra cria um teleport ou uma alavanca com tempo ..
      depois do player usa o teleport ou a lavanca ele so poderá usa depois de tal determinado tempo.
       
      SERVIDOR 12.91
      Se alguem poder me ajuda vou fica grato ,
      des de ja agradeço a todos.
      ..
    • Por amoxicilina
      Action: Remover skull
       
       
    • Por Imperius
      Tinha visto isso no servidor do MegaTibia / Kaldrox e achei bem interessante.
       
      Todos os tópicos que encontrei sobre o assunto de alterar a cor das mensagens dos GMs, CMs e ADM no channel Help para vermelho, falavam que tinham que fazer uma configuração na própria source do servidor.
       
      Fiz uma gambiarra que funciona, sem a necessidade de mexer na source do servidor e de utilizar comandos para isso. Testei somente em TFS 0.4 e funciona tranquilamente.
       
      segue abaixo como configurar em seu otserver:
       
      data > talkactions > scripts > crie um arquivo chamado gmsayred.lua e cole o código abaixo:
       
      function onSay(cid, words, param, channel) if channel == CHANNEL_HELP then for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', "".. getCreatureName(cid) .. ": ".. words, TALKTYPE_CHANNEL_R1, CHANNEL_HELP) end return true end end  
      em talkactions.xml cole a tag abaixo:

       
      <!-- Gamemasters --> <talkaction default="yes" filter="quotation" logged="no" access="3" event="script" value="gmsayred.lua"/>    
      e pronto! Agora é só enviar alguma mensagem no Help que a mensagem ficará em vermelho.
       

       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo