JV
action

[PEDIDO] Arrumar meu script

Por jvcasarin, 29 de ago. de 2015 em Scripts

pedido
duvida
error
erro
ajuda
help
script
lua
7
1.5k
jvcasarinJ
29 de agosto de 2015 às 02:49

Bom gente, sei que existem vários scripts disso, mas como estou tentando entender a linguagem LUA, estou tentando criar o script, com o que eu já observei nos fórums, e que foi gravado na minha memória ^^.

 

Bom, o script é pra checar se o player tem X storage, se ele tiver, ele pode passar pelo tile com a actionID Y, se não tiver a storage, ele é teleportado para a "fromposition"..

 

Ai vai o script:

function onStepIn(cid, item, position, fromposition)
local storage = 18597
 
if getPlayerStorageValue(cid) <= 0 then
doSendPlayerCancel(cid, "You/'re not a VIP player.")
doTeleportThing(cid, fromposition)
doSendMagicEffect(position, 13)
else
getPlayerStorageValue(cid) == getStorageValue(storage) then
doSendTextMessage(cid, "Welcome to the VIP Area!", 27)
doSendMagicEffect(position, 14)
    end
return true
end

EDIT:

 

Quando inicio o server, acontece isso:

xK0JPz.png

 

Editado Agosto 29 por jvcasarin

29 de agosto de 2015 às 02:53

Tente.

function onStepIn(cid, item, position, fromPosition)
 
if not isPlayer(cid) then return true end
if not isPremium(cid) then
        return doTeleportThing(cid, fromPosition) and doPlayerSendCancel(cid, "Only players VIP enter here.")
    else
doSendMagicEffect(position, 13)
else
getPlayerStorageValue(cid) == getStorageValue(storage) then
doSendTextMessage(cid, "Welcome to the VIP Area!", 27)
doSendMagicEffect(position, 14)
    end
return true
end

Editado Agosto 29 por AdminGabriel

jvcasarinJ
29 de agosto de 2015 às 03:03

Vlw a resposta rapida, e pela vontade de ajudar, mas eu gostaria de usar apenas a checagem da storage, e não a função de premium... É que vou fazer um "vip" novo no server, que depende só de X storage... obrigado :)

29 de agosto de 2015 às 03:41
function onStepIn(cid, item, position, fromPosition)
local storage = 18597
 
if getPlayerStorage(cid) < storage then
getPlayerStorageValue(cid) == getStorageValue(storage) then
doSendTextMessage(cid, "Welcome to the VIP Area!", 27)
doSendMagicEffect(position, 14)
    end
return true
end

Tente.

Alencar522A
29 de agosto de 2015 às 12:15

function onStepIn(cid, item, position, fromPosition)
local storage = 18597
if getPlayerStorageValue(cid, storage) == -1 then
doPlayerSendCancel(cid, "You/'re not a VIP player.")
doTeleportThing(cid, fromPosition)
doSendMagicEffect(position, 13)
else
doPlayerSendTextMessage(cid, 27, "Welcome to the VIP Area!")
doSendMagicEffect(position, 14)
end
return true
end

Se tiver alguma dúvida quanto a funções olhe a lista nesse link:

http://www.xtibia.com/forum/topic/228757-tutorial-basico-movements/

 

Editado Agosto 29 por Alencar522

jvcasarinJ
30 de agosto de 2015 às 03:52
Melhor resposta
function onStepIn(cid, item, position, fromPosition)
local storage = 18597
 
if getPlayerStorage(cid) < storage then
getPlayerStorageValue(cid) == getStorageValue(storage) then
doSendTextMessage(cid, "Welcome to the VIP Area!", 27)
doSendMagicEffect(position, 14)
    end
return true
end

Tente.

 

 

Desculpe a pouca informação no tópico, quando eu tento iniciar o server, aparece esse erro:

xK0JPz.png

 

 

E com o seu código continua dando o mesmo erro. Obrigado.

 

 

 

function onStepIn(cid, item, position, fromPosition)
local storage = 18597
if getPlayerStorageValue(cid, storage) == -1 then
doPlayerSendCancel(cid, "You/'re not a VIP player.")
doTeleportThing(cid, fromPosition)
doSendMagicEffect(position, 13)
else
doPlayerSendTextMessage(cid, 27, "Welcome to the VIP Area!")
doSendMagicEffect(position, 14)
end
return true
end

Se tiver alguma dúvida quanto a funções olhe a lista nesse link:

http://www.xtibia.com/forum/topic/228757-tutorial-basico-movements/

 

 

 

 

Obrigado também, mas está dando o mesmo erro:

 

xK0JPz.png

RESOLVIDO!

 

O ERRO ESTAVA NA TAG! Na parte de informar o "value" eu escrevi "valur"

 

Mas eu usei o script assim:

function onStepIn(cid, item, position, fromPosition)
local storage = 18597
 
if getPlayerStorageValue(cid, storage) <= 0 then
doPlayerSendCancel(cid, "You're not a VIP player.")
doTeleportThing(cid, fromPosition)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
return true
else
doPlayerSendTextMessage(cid, "Welcome to the VIP Area!")
doSendMagicEffect(getThingPos(cid), 14)
end
return true
end

Mas alguém pode me dizer o por que de eu ter usado o return true?

Editado Agosto 30 por jvcasarin

SkyLighS
30 de agosto de 2015 às 11:23

Movido para resolvidos


Tópico Movido
Este tópico foi movido de "OTServSuporteSuporte Scripting"
para "OTServSuporteSuporte ScriptingPedidos e dúvidas resolvidos - Scripting".