Eu gostei bem explicado, obrigado DuuhCarvalho
- Fórum
- OTServ
- Tutoriais
- Tutoriais de Scripting
- Tutorial Básico Actions
Tutorial Básico Actions
Por DuuhCarvalho, 21 de fev. de 2014 em Tutoriais de Scripting
info
Grupo: Conde
Registrado: 03/06/08
Posts: 508
Reputação: +149

Editado Fevereiro 21 por dyego2008
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.
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+
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

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 .
info
Grupo: Campones
Registrado: 06/02/14
Posts: 48
Reputação: +9
Char no Tibia: Qarioman Erucasmius

Parabens, bem explicado e simples
vlw rep+
Na segunda tag .xml, acho que deveria ter AllowFarUse so para lembrar.
Editado Fevereiro 22 por SeKtooR
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

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
endentendendo ..
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 Fevereiro 24 por DuuhCarvalho
info
Grupo: Grão-Duque
Registrado: 28/07/11
Posts: 3.5k
Reputação: +570
Gênero: Masculino
Char no Tibia: Transloko

Tutorial aprovado, e movido.
info
Grupo: Campones
Registrado: 25/09/13
Posts: 30
Reputação: +1

Achei meio fraco...
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

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 !







info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody
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 :
Valores de Armazenamento : (Você não tem que configurar)
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 endEntendendo...
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 :
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 endEntendendo ...
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:
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 Fevereiro 25 por DuuhCarvalho