Primeiramente se você quiser criar uma talkactions tem que usa a função
function onSay(cid, words, param)
como você mesmo disse,esse script só será executado quando o jogador falar algo.
---
porque usar
if(words == "!vipdays") then ?
Na verdade só usamos essa funções para colocar mais de um Comando no mesmo arquivo.lua
if(words == "test1") then
script
....
elseif(words == "test2") then
script
...
end
a partir que vc usa if words ou elseif words os scripts não poderão conctar entre si...
exemplo:
if(words == "test1") then local storage = 1234 if getPlayerStorageValue(cid, storage) >= 1 doPlayerAddItem(cid,2123,1) end -- fecha if getPlayerStorageValue(cid, storage) >= 1 no test1 elseif(words == "test2") then if getPlayerStorageValue(cid, storage) >= 1 doPlayerAddItem(cid,2124,1) end -- fecha if getPlayerStorageValue(cid, storage) >= 1 no test2 end -- fecha o if do test1 then
o test2 não vai funcionar nesse caso.., porque?
porque a variavel storage não foi declarada como no test1...
------
locais
locais são tabelas para armazenar algum tipo de informação.
exemplo: do seu
local price = 1000000 local days = 2 if doPlayerRemoveMoney(cid, price) then addVipDays(cid, days) end
mais facil para organizar certo?
pois soh mudar ali no local a informação para que ela seja executada depois
tbm poderia ser assim:
if doPlayerRemoveMoney(cid, 1000000) then addVipDays(cid, 2) end
----
get -- pegar informação do jogador
set -- trocar alguma informação do jogador
exemplo:
if getPlayerStorageValue(cid, 12345) <= 0 then setPlayerStorageValue(cid, 12345,1) -- mudei a storage do player para 1 end
-- return false e return true
são saídas simples função retornando um valor booleano
return FALSE serve para parar um evento
sobre o return TRUE é para retorna Verdadeiro se essa ação ocorreu
exemplo:
if doPlayerRemoveMoney(cid, 1000000) == FALSE then return false -- vai parar o script end






info
Grupo: Lorde
Registrado: 17/01/09
Posts: 2.1k
Reputação: +395
Char no Tibia: Adra Sata
Bom , eu resolvi a fazer script .. antes eu só sabia editar ela ..
1º Coisa só queria saber se existe programa pra ficar mais facil?
Agora vamos o que interessa.
Minha dificuldade em fazer os script é assim.
Eu não tenho noção de onde devo colocar os script , pq se colocar em lugar errado parece que ele dá erros.
function onSay(cid, words, param)
^ Bom , em ingles significa mais ou menos , função quando falar .. isso é obrigatório no começo de toda as talkaction né?
2º if(words == "!vipdays") then
^ Aqui significa ^ se as palavras for igual a !vipdays então .. ou seja se ele falar !vipdays irá funcionar o talkaction certo?
é assim mais ou menos que eu sei ..
Eu queria saber sobre as variaves , por exemplo os comandos que eu devo adicionar para tal efeito.
Como Exemplo:
local price = 1000000
local days = 2
if doPlayerRemoveMoney(cid, price) then
addVipDays(cid, days)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.")
end
local price = 1000000
local days = 2
if doPlayerRemoveMoney(cid, price) then
addVipDays(cid, days)
^ Pq uso isso ?
Plxx alguem sabe um tutorial com todos os comandos e pra que serve , pra eu aprender a montar .. eu iria agradecer de mais .. e se tiver programa mais ainda.
Qual diferença de get , do .. essas coisinhas.
E
return TRUE
end
^ Toda hora que acabar uma parte de um script e passar para outro deve colocar no final ?
Vlw !
Editado Outubro 19 por SkyDangerous