Ir para conteúdo

[Dúvida] Teleport Scroll


leleeuh

Posts Recomendados

Bem, so scripter faz um tempo...

Mas não me considero SCRIPTER, e sim SCRIPTE (sem r, por quê só sei editar script), bem, até que ja fiz umas scripts, mas bem feinhas, sabe, aquelas inuteis ?

 

Então, eu tentei fazer a minha primeira script 100% feita por mim.

E aqui la vamos nós, achei uma melda.

 

A melda é: A script não funciona.

 

 

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

 

config = {

 

rmvitem ="yes",

batlle ="yes",

townp ="yes",

pos = {x=x, y=y, z=z},

pz ="no"

}

 

 

local p = getPlayerTown(cid)

local townpos = getTownTemplePosition(p)

 

local msgt ="~ "..getPlayerName(cid).." Foi Teleportado. ~"

local fail ="'O Teleport Falhou.'"

 

elseif (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

doPlayerSendCancel(cid, "Você precisa estar sem o batlle.")

return 1

 

elseif(config.townp == "yes") then

doTeleportThing(cid, townpos)

doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

return 1

 

elseif (config.pz =="yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then

doPlayerSendCancel(cid, "Você precisa estar em Protection Zone.")

return 1

end

 

if(config.rmvitem =="yes") then

doRemoveItem(item.uid, 1)

end

 

doTeleportThing(cid,pos)

doSendMagicEffect(nplayer1pos,10)

doSendMagicEffect(topos,6)

doSendMagicEffect(frompos,6)

end

return 1

end

 

 

Quem me ajudar, ganha um grande e lindo obrigado e um abraço.

Atenciosamente, leleeuh.

 

 

@EDIT:

É para styller 8.60

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

tem uns bugs ai o 1º é q vc n pode usar elseif se n tiver um if antes entao, essa linha

elseif (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

vira

if (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

 

outra coisa, aki

elseif(config.townp == "yes") then
doTeleportThing(cid, townpos)
doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
return 1

 

vc usou o return entao o script vai retornar o 1 e vai parar de ser lido. normalmente n há problema, mas no seu caso há, porq vai teleportar o player e n vai checar se ele ta em pz ou remover o item dele (claro, finge q eu puis "yes" nos dois casos)

 

agr só pra encher o saco, é battle e n batlle ;d

 

outro bug

doSendMagicEffect(nplayer1pos,10)

vc n declarou essa variavel nplayer1pos, ou seja, o script n vai entender

 

e aki

doSendMagicEffect(topos,6)

topos é o lugar onde vc da use with, tipo, vc clica com a cara de pescar em na pos X entao topos vai ser X, se o item q vc usar nesse script n aparecer use with topos vai ser nula

 

ediçoes minimas no seu script ficou assim (obs n testei)

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

config = {

rmvitem ="yes",
battle ="yes",
townp ="yes",
pos = {x=x, y=y, z=z},
pz ="no"
}


local p = getPlayerTown(cid)
local townpos = getTownTemplePosition(p)

local msgt ="~ "..getPlayerName(cid).." Foi Teleportado. ~" 

if (config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendCancel(cid, "Você precisa estar sem o batlle.")
return 1

elseif (config.pz =="yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendCancel(cid, "Você precisa estar em Protection Zone.")
return 1

elseif(config.rmvitem =="yes") then
doRemoveItem(item.uid, 1)
end

if(config.townp == "yes") then
doTeleportThing(cid, townpos)
doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
return 1
end

doTeleportThing(cid,pos)
doSendMagicEffect(frompos,6)
return 1
end

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

@Eskylo:

 

Ta ainda dando um erro no bang:

[08/01/2011 20:47:41] [Error - LuaScriptInterface::loadFile] data/actions/scripts/teleportscroll.lua:36: 'end' expected (to close 'if' at line 30) near 'doTeleportThing'

[08/01/2011 20:47:41] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/teleportscroll.lua)

[08/01/2011 20:47:41] data/actions/scripts/teleportscroll.lua:36: 'end' expected (to close 'if' at line 30) near 'doTeleportThing'

 

Att~

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

  • 1 month later...

@UP

 

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

config = {
rmvitem = true, -- remover item ao usar?
battle = true, -- precisa estar sem battle para teleportar?
townp = true, -- teleportar para a cidade do jogador?
pos = {x=151, y=54, z=7}, -- edite para usar só se townp é false
pz = false, -- precisa estar em PZ?
time_exausted = 10, -- em minutos
storage = 95648 -- n mexa
}

if (config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
return doPlayerSendCancel(cid, "Você precisa estar sem o batlle.")
elseif (config.pz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
return doPlayerSendCancel(cid, "Você precisa estar em Protection Zone.")
elseif (getPlayerStorageValue(cid, config.storage) >= os.time()) then
return doPlayerSendCancel(cid, "Espere alguns minutos para teleportar novamente.")
elseif(config.rmvitem == true) then
doRemoveItem(item.uid, 1)
end
if(config.townp == true) then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
else
doTeleportThing(cid,config.pos)
end
doCreatureSay(cid, "~ "..getPlayerName(cid).." Foi Teleportado. ~", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
setPlayerStorageValue(cid,config.storage,os.time()+config.time_exausted*60)
return TRUE
end

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

×
×
  • Criar Novo...