Ir para conteúdo

Posts Recomendados

Actions, são scripts que são executado quando o Player * dar Use ou Use With * em algum item .

 

 

Funções usadas para começar um script em Actions :

function onUse(cid, item, frompos, item2, topos) -- Ao dar Use no item .

function onUse(cid, item, fromPosition, itemEx, toPosition) -- ao dar Use with .. (Usar o item em algo)

Valores de Armazenamento : (Você não tem que configurar)

cid = Player que está usando o item.
item = Item que está usando .
fromPosition = Posição que to usando o item.
toPosition = Para posição
itemEx = Se o Personagem está usando o item em algo . (contém dados de "algo")

Exemplo de Script : onUse .

function onUse(cid, item, frompos, item2, topos)

local level = 100
local pos = {x= 160, y= 54, z= 7}

   if getPlayerLevel(cid) >= level then
      doTeleportThing(cid, pos)
   else
      doPlayerSendTextMessage(cid, "Você precisa ter Level "..level.." ou mais.", 22)
   end
   
return TRUE
end

Entendendo...

 

Ao dar use no item. (definido em Action.Xml)

Se o Player(cid) tiver level maior ou igual a 100 então o mesmo será teleportado para posicão X (no caso 160, 54, 7) .

 

Tag em Actions.Xml :

 <action itemid="IDdoItem" script="NomedoArquivo.lua" />

Script com itemEx .

function onUse(cid, item, fromPosition, itemEx, toPosition)

local pos = {x= 160,y= 54,z= 7}


  if itemEx.itemid == 7131 then
      doTeleportThing(cid, pos)
  else
      doPlayerSendCancel(cid, "Você está usando o item no Lugar Errado")
  end


return TRUE
end

Entendendo ...

 

O item com use with será definido em Actions.Xml .

Ao usar o item (item com use with) em algo .

Se "algo" (itemEx.itemid) for 7131.. Se o Player tiver usando o item(com use with) no item 7131 então , o Player será teleportado para posição X.

 

Tag em Actions.Xml:

 <action itemid="IDdoItem" script="NomedoArquivo.lua" />

IDdoItem = Item com use With .

 

Para criar um novo script vá em data / actions / scripts e crie um novo Arquivo.lua

Depois é so colocar a tag em data / actions / Action.Xml.

 

 

Algumas Funções get, set, do ... Você encontra Aqui ! .

Editado por DuuhCarvalho
Link para o comentário
Compartilhar em outros sites

Acho que você também deveria ter explicado sobre as tabelas, já que a usou. Se o cara for bem iniciante, ficaria um pouco confuso.

Tirando isso, bem explicado. Rep+

Link para o comentário
Compartilhar em outros sites

Parabéns man, se vem trazendo bons conteúdos pro Forúm, ganhou meu REP+

 

 

Faz agora um de Creature explicando como adicionar algumas funções que a Distro pode não ter.

 

logo mais criarei novos tutoriais , vamos ver no que dá .

 

 

Acho que você também deveria ter explicado sobre as tabelas, já que a usou. Se o cara for bem iniciante, ficaria um pouco confuso.

Tirando isso, bem explicado. Rep+

 

Da próxima explicarei, mais é só um básico mesmo .

Link para o comentário
Compartilhar em outros sites

Na segunda tag .xml, acho que deveria ter AllowFarUse so para lembrar.

 

deveria não ;s

Base, script para quests :

 

edit--

 

Actions é mais usados para fazer quests então para que deseja fazer a sua, use isso como base ..

function onUse(cid, item, frompos, item2, topos)

if getPlayerStorageValue(cid, 12345) <= 0 then
   ...
     setPlayerStorageValue(cid, 12345, 1)
   else
   ...
end

return TRUE
end

entendendo ..

if getPlayerStorageValue(cid, 12345) <= 0 then

verifica se a storage (12345) do player é menor ou igual a 0, se sim então ..

acontecer oque você colocar no script. Ex : doPlayerAddItem(cid, 2160, 100) - o player vai ganhar 1 kk.

---

     setPlayerStorageValue(cid, 12345, 1)

mudar para 1 a storage (12345) , assim o player só vai poder fazer a quest 1 vez !.

----

else

se a storage (12345) não for menor ou igual a 0.. se for maiior ! então..

acontece oq você colocar no script . EX : doPlayerSendCancel(cid, "Você já fez essa Quest.") -- vai mandar uma mensagem pro player falando que ele já fez a quest.

----

end

finaliza o If ("se")

 

 

 

alguém pode fazer um script baseado no tutorial ..

Editado por DuuhCarvalho
Link para o comentário
Compartilhar em outros sites

Achei meio fraco...

 

function onUse(cid, item, frompos, item2, topos) -- Ao dar Use no item .
function onUse(cid, item, fromPosition, itemEx, toPosition) -- ao dar Use with .. (Usar o item em algo)
vc não ensinou como usar os parâmetros da função...
fromPosition e toPosition, não servem apenas para use with
Link para o comentário
Compartilhar em outros sites

 

Achei meio fraco...

 

function onUse(cid, item, frompos, item2, topos) -- Ao dar Use no item .
function onUse(cid, item, fromPosition, itemEx, toPosition) -- ao dar Use with .. (Usar o item em algo)
vc não ensinou como usar os parâmetros da função...
fromPosition e toPosition, não servem apenas para use with

 

 

Amigo ninguém falou que fromPosition e toPosition serve apenas para use with.

É só um tutorial básico que de certa forma já deve ter ajudado muitos membros !

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...