Ir para conteúdo

[Encerrado] Problema no Tele.lua [PP]


Posts Recomendados

Estou com 1 problema no tele.lua como o titulo disse:

 

Vou colocar nos spoiler 1º o tele.lua 2º o erro que da.

 

 

 

 

local poke = {'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Porygon2', "Shiny Abra","Shiny Alakazam", "Shiny Hypno", "Jynx", "Shiny Jynx", "Misdreavus"}

local etele = 9499

local cdtele = pokemons[getCreatureName(getCreatureSummons(cid)[1])] or 1800

 

local config = {

premium = false, -- se precisa ser premium account (true or false)

battle = true -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas

}

 

local places = {

[1] = {name = "Cerulean", id = 1, sto = 897529},

[2] = {name = "Saffron", id = 2, sto = 897530},

[3] = {name = "Lavender", id = 3, sto = 897532},

[4] = {name = "Celadon", id = 4, sto = 897533},

[5] = {name = "Pewter", id = 5, sto = 897534},

[6] = {name = "Viridian", id = 6, sto = 897535}, --alterado v1.7 sistema q precisa flar com a nurse do lugar pra poder da TP pra la...

[7] = {name = "Vermilion", id = 7, sto = 897536},

[8] = {name = "Fuchsia", id = 8, sto = 897537},

[9] = {name = "Cinnabar", id = 9, sto = 897538},

[10] = {name ="Snow", id = 10, sto = 897539},

[11] = {name = "Golden", id = 11, sto = 897540},

}

 

local pokemons = {

["Abra"] = 2100, --35 min

["Kadabra"] = 1500, --25 min

["Alakazam"] = 1200, --20 min

["Drowzee"] = 2100,

["Hypno"] = 1500,

["Mr. Mime"] = 1200,

["Porygon"] = 1200,

["Porygon2"] = 1500,

["Shiny Abra"] = 900,

["Shiny Alakazam"] = 600,

["Shiny Hypno"] = 600,

["Jynx"] = 1500,

["Shiny Jynx"] = 1200,

["Misdreavus"] = 1500,

}

 

 

function onSay(cid, words, param)

 

if #getCreatureSummons(cid) == 0 then

doPlayerSendCancel(cid, "You need a pokemon to use teleport.")

return true

end

 

if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then

return 0

end

 

if getPlayerStorageValue(cid, 22545) == 1 then --golden arena

doPlayerSendCancel(cid, "You can't do that while the golden arena!")

return true

end

 

if getPlayerStorageValue(cid, 212124) >= 1 then --alterado v1.6

return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")

end

 

if getPlayerStorageValue(cid, 52480) >= 1 then

return doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6

end

 

if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then

return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7

end

 

if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then

local tempo = tonumber(exhaustion.get(cid, etele)) or 0

local min = math.floor(tempo)

doPlayerSendCancel(cid, "Your pokemon is tired, wait "..getStringmytempo(tempo).." to teleport again.")

return true

end

 

if config.premium and not isPremium(cid) then

doPlayerSendCancel(cid, "Only premium members are allowed to use teleport.")

return true

end

 

if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then

doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")

return true

end

 

if (param == '') then

local str = ""

str = str .. "Places to go :\n\nHouse\n"

for a = 1, #places do

str = str..""..places[a].name.."\n"

end

doShowTextDialog(cid, 7416, str)

return true

end

 

local item = getPlayerSlotItem(cid, 8)

local nome = getPokeballName(item.uid)

local summon = getCreatureSummons(cid)[1]

local lastppos = getThingPos(cid)

local lastspos = getThingPos(summon)

local telepos = {}

local myplace = ""

local townid = 0

local citySto = 0 --alterado v1.7

 

if string.lower(param) == "house" then

 

if not getHouseByPlayerGUID(getPlayerGUID(cid)) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You don't own a house.")

return true

end

 

telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))

myplace = "our home"

 

else

 

for x = 1, #places do

if string.find(string.lower(places[x].name), string.lower(param)) then

townid = places[x].id

myplace = places[x].name

citySto = places[x].sto or -1 --alterado v1.7

end

end

 

if myplace == "" then

doPlayerSendCancel(cid, "That place doesn't exist.")

return true

end

 

end

 

if myplace ~= "" and townid > 0 then

telepos = getTownTemplePosition(townid)

end

 

if string.lower(param) ~= "house" and citySto ~= -1 and getPlayerStorageValue(cid, citySto) <= -1 then --alterado v1.7

doPlayerSendCancel(cid, "You have to talk with nurse in this place, before you can teleport for there!")

return true

end

 

if getDistanceBetween(getThingPos(cid), telepos) <= 15 then

doPlayerSendCancel(cid, "You are too near to the place you want to go!")

return true

end

 

doSendMagicEffect(getThingPos(summon), 28)

doSendMagicEffect(getThingPos(cid), 28)

 

doTeleportThing(cid, telepos, false)

 

local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))

 

doTeleportThing(summon, pos2, false)

 

doSendMagicEffect(getThingPos(cid), 28)

 

doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1)

doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos)

doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER)

doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos)

 

doCreatureSetLookDir(cid, SOUTH)

doCreatureSetLookDir(summon, SOUTH)

 

doSendMagicEffect(getThingPos(summon), CONST_ME_TELEPORT)

if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then

doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")

return true

end

 

return true

end

 

 

 

 

 

 

 

[15/04/2013 13:04:12] [Warning - Actions::registerEvent] Duplicate registered item id: 2392

 

[15/04/2013 13:04:12] [Error - TalkAction Interface]

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua

[15/04/2013 13:04:12] Description:

[15/04/2013 13:04:12] (luaGetCreatureSummons) Creature not found

 

[15/04/2013 13:04:12] [Error - TalkAction Interface]

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua

[15/04/2013 13:04:12] Description:

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua:3: attempt to index a boolean value

[15/04/2013 13:04:12] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/tele.lua)

 

 

[15/04/2013 13:04:12] [Error - TalkAction Interface]

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua

[15/04/2013 13:04:12] Description:

[15/04/2013 13:04:12] (luaGetCreatureSummons) Creature not found

 

[15/04/2013 13:04:12] [Error - TalkAction Interface]

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua

[15/04/2013 13:04:12] Description:

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua:3: attempt to index a boolean value

[15/04/2013 13:04:12] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/tele.lua)

 

 

[15/04/2013 13:04:12] [Error - TalkAction Interface]

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua

[15/04/2013 13:04:12] Description:

[15/04/2013 13:04:12] (luaGetCreatureSummons) Creature not found

 

[15/04/2013 13:04:12] [Error - TalkAction Interface]

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua

[15/04/2013 13:04:12] Description:

[15/04/2013 13:04:12] data/talkactions/scripts/tele.lua:3: attempt to index a boolean value

[15/04/2013 13:04:12] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/tele.lua)

 

 

 

Eu uso esse serve :

[url="http://www.xtibia.com/forum/topic/203634-pokemon-dash-advanced/"]http://www.xtibia.com/forum/topic/203634-pokemon-dash-advanced/[/url]

 

Stylo Gostei do Serve nao so muito bom ainda mais estou querendo aprender . ^.^

Link para o comentário
Compartilhar em outros sites

Troca por

 

 

 

local poke = {'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Porygon2', "Shiny Abra","Shiny Alakazam", "Shiny Hypno", "Jynx", "Shiny Jynx", "Misdreavus"}

local etele = 9499

local cdtele = pokemons[getCreatureName(getCreatureSummons(cid)[1])] or 1800

 

local config = {

premium = false, -- se precisa ser premium account (true or false)

battle = true -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas

}

 

local places = {

[1] = {name = "Cerulean", id = 1, sto = 897529},

[2] = {name = "Saffron", id = 2, sto = 897530},

[3] = {name = "Lavender", id = 3, sto = 897532},

[4] = {name = "Celadon", id = 4, sto = 897533},

[5] = {name = "Pewter", id = 5, sto = 897534},

[6] = {name = "Viridian", id = 6, sto = 897535}, --alterado v1.7 sistema q precisa flar com a nurse do lugar pra poder da TP pra la...

[7] = {name = "Vermilion", id = 7, sto = 897536},

[8] = {name = "Fuchsia", id = 8, sto = 897537},

[9] = {name = "Cinnabar", id = 9, sto = 897538},

[10] = {name ="Snow", id = 10, sto = 897539},

[11] = {name = "Golden", id = 11, sto = 897540},

}

 

local pokemons = {

["Abra"] = 2100, --35 min

["Kadabra"] = 1500, --25 min

["Alakazam"] = 1200, --20 min

["Drowzee"] = 2100,

["Hypno"] = 1500,

["Mr. Mime"] = 1200,

["Porygon"] = 1200,

["Porygon2"] = 1500,

["Shiny Abra"] = 900,

["Shiny Alakazam"] = 600,

["Shiny Hypno"] = 600,

["Jynx"] = 1500,

["Shiny Jynx"] = 1200,

["Misdreavus"] = 1500,

}

 

 

function onSay(cid, words, param)

 

if #getCreatureSummons(cid) == 0 then

doPlayerSendCancel(cid, "You need a pokemon to use teleport.")

return true

end

 

if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then

return 0

end

 

if getPlayerStorageValue(cid, 22545) == 1 then --golden arena

doPlayerSendCancel(cid, "You can't do that while the golden arena!")

return true

end

 

if getPlayerStorageValue(cid, 212124) >= 1 then --alterado v1.6

return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")

end

 

if getPlayerStorageValue(cid, 52480) >= 1 then

return doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6

end

 

if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then

return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7

end

 

if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then

local tempo = tonumber(exhaustion.get(cid, etele)) or 0

local min = math.floor(tempo)

doPlayerSendCancel(cid, "Your pokemon is tired, wait "..getStringmytempo(tempo).." to teleport again.")

return true

end

 

if config.premium and not isPremium(cid) then

doPlayerSendCancel(cid, "Only premium members are allowed to use teleport.")

return true

end

 

if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then

doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")

return true

end

 

if (param == '') then

local str = ""

str = str .. "Places to go :\n\nHouse\n"

for a = 1, #places do

str = str..""..places[a].name.."\n"

end

doShowTextDialog(cid, 7416, str)

return true

end

 

local item = getPlayerSlotItem(cid, 8)

local nome = getPokeballName(item.uid)

local summon = getCreatureSummons(cid)[1]

local lastppos = getThingPos(cid)

local lastspos = getThingPos(summon)

local telepos = {}

local myplace = ""

local townid = 0

local citySto = 0 --alterado v1.7

 

if string.lower(param) == "house" then

 

if not getHouseByPlayerGUID(getPlayerGUID(cid)) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You don't own a house.")

return true

end

 

telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))

myplace = "our home"

 

else

 

for x = 1, #places do

if string.find(string.lower(places[x].name), string.lower(param)) then

townid = places[x].id

myplace = places[x].name

citySto = places[x].sto or -1 --alterado v1.7

end

end

 

if myplace == "" then

doPlayerSendCancel(cid, "That place doesn't exist.")

return true

end

 

end

 

if myplace ~= "" and townid > 0 then

telepos = getTownTemplePosition(townid)

end

 

if string.lower(param) ~= "house" and citySto ~= -1 and getPlayerStorageValue(cid, citySto) <= -1 then --alterado v1.7

doPlayerSendCancel(cid, "You have to talk with nurse in this place, before you can teleport for there!")

return true

end

 

if getDistanceBetween(getThingPos(cid), telepos) <= 15 then

doPlayerSendCancel(cid, "You are too near to the place you want to go!")

return true

end

 

doSendMagicEffect(getThingPos(summon), 28)

doSendMagicEffect(getThingPos(cid), 28)

 

doTeleportThing(cid, telepos, false)

 

local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))

 

doTeleportThing(summon, pos2, false)

 

doSendMagicEffect(getThingPos(cid), 28)

 

doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1)

doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos)

doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER)

doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos)

 

doCreatureSetLookDir(cid, SOUTH)

doCreatureSetLookDir(summon, SOUTH)

 

doSendMagicEffect(getThingPos(summon), CONST_ME_TELEPORT)

if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then

doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")

return true

end

 

return true

end

 

 

Link para o comentário
Compartilhar em outros sites

local poke = {"Shiny Mr. Mime", 'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Shiny Abra', 'Shiny Alakazam',
'Shiny Hypno', 'Porygon2'}  --alterado v1.9

local etele = 9499
local cdtele = 1800

local config = {
premium = false, -- se precisa ser premium account (true or false)
battle = true    -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas
}

local places = {
[1] = {name = "Saffron", id = 1, sto = 897530},
[2] = {name = "Cerulean", id = 2, sto = 897531},
[3] = {name = "Lavender", id = 3, sto = 897532},
[4] = {name = "Fuchsia", id = 4, sto = 897533},
[5] = {name = "Celadon", id = 5, sto = 897534},
[6] = {name = "Viridian", id = 6, sto = 897535},  --alterado v1.7
[7] = {name = "Vermilion", id = 7, sto = 897536},
[8] = {name = "Pewter", id = 8, sto = 897537},		  
[9] = {name = "Pallet", id = 9},
[10] = {name = "Cinnabar", id = 10, sto = 897538},
[11] = {name = "Snow", id = 11, sto = 897539},
[12] = {name = "Golden", id = 14, sto = 897540},
}


function onSay(cid, words, param)

   if #getCreatureSummons(cid) == 0 then
       doPlayerSendCancel(cid, "You need a pokemon to use teleport.")
   return true
   end

   if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then
   return 0
   end

   if getPlayerStorageValue(cid, Agatha.stoIni) >= 1 and getPlayerStorageValue(cid, Agatha.stoIni) < 50 then --alterado v1.9
      doPlayerSendCancel(cid, "You can't do that here!")
   return true
   end   

   if getPlayerStorageValue(cid, 22545) == 1 then	  --golden arena
   doPlayerSendCancel(cid, "You can't do that while the golden arena!")
   return true
   end

   if getPlayerStorageValue(cid, 212124) >= 1 then		 --alterado v1.6
   return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
   end

   if getPlayerStorageValue(cid, 52480) >= 1 then
   return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v1.6
   end

   if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
      return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!")   --alterado v1.7
   end

   if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then
       local tempo = tonumber(exhaustion.get(cid, etele)) or 0
       local min = math.floor(tempo)
       doPlayerSendCancel(cid, "Your pokemon is tired, wait "..getStringmytempo(tempo).." to teleport again.")
   return true
   end

   if config.premium and not isPremium(cid) then
       doPlayerSendCancel(cid, "Only premium members are allowed to use teleport.")
   return true
   end

   if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
       doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")
   return true
   end

   if (param == '') then
       local str = ""
       str = str .. "Places to go :\n\nHouse\n"
           for a = 1, #places do
               str = str..""..places[a].name.."\n"
           end
       doShowTextDialog(cid, 7416, str)
   return true
   end

   local item = getPlayerSlotItem(cid, 8)
   local nome = getPokeballName(item.uid)
   local summon = getCreatureSummons(cid)[1]
   local lastppos = getThingPos(cid)
   local lastspos = getThingPos(summon)
   local telepos = {}
   local myplace = ""
   local townid = 0
   local citySto = 0  --alterado v1.7

   if string.lower(param) == "house" then

       if not getHouseByPlayerGUID(getPlayerGUID(cid)) then
           doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You don't own a house.")
       return true
       end

       telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))
       myplace = "our home"

   else

       for x = 1, #places do
           if string.find(string.lower(places[x].name), string.lower(param)) then
               townid = places[x].id
               myplace = places[x].name
               citySto = places[x].sto or -1  --alterado v1.7
           end
       end

       if myplace == "" then
           doPlayerSendCancel(cid, "That place doesn't exist.")
       return true
       end

   end

   if myplace ~= "" and townid > 0 then
       telepos = getTownTemplePosition(townid)
   end

   if string.lower(param) ~= "house" and citySto ~= -1 and getPlayerStorageValue(cid, citySto) <= -1 then    --alterado v1.7
      doPlayerSendCancel(cid, "You have to talk with nurse in this place, before you can teleport for there!")
   return true
   end   

   if getDistanceBetween(getThingPos(cid), telepos) <= 15 then
       doPlayerSendCancel(cid, "You are too near to the place you want to go!")
   return true
   end

   doSendMagicEffect(getThingPos(summon), 29)
   doSendMagicEffect(getThingPos(cid), 29)

   doTeleportThing(cid, telepos, false)

   local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))

   doTeleportThing(summon, pos2, false)

   doSendMagicEffect(getThingPos(cid), 29)

   doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1)
   doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos)
   doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER)
   doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos)

   doCreatureSetLookDir(cid, SOUTH)
   doCreatureSetLookDir(summon, SOUTH)

   doSendMagicEffect(getThingPos(summon), CONST_ME_TELEPORT)
   exhaustion.set(cid, etele, cdtele)

return true
end

Link para o comentário
Compartilhar em outros sites

Apareceu esse erro .

 

 

 

 

15/04/2013 14:56:37] [Error - TalkAction Interface]

[15/04/2013 14:56:37] data/talkactions/scripts/tele.lua:onSay

[15/04/2013 14:56:37] Description:

[15/04/2013 14:56:37] data/talkactions/scripts/tele.lua:39: attempt to index global 'Agatha' (a nil value)

[15/04/2013 14:56:37] stack traceback:

[15/04/2013 14:56:37] data/talkactions/scripts/tele.lua:39: in function <data/talkactions/scripts/tele.lua:28>

 

[15/04/2013 14:56:45] [Error - TalkAction Interface]

[15/04/2013 14:56:45] data/talkactions/scripts/tele.lua:onSay

[15/04/2013 14:56:45] Description:

[15/04/2013 14:56:45] data/talkactions/scripts/tele.lua:39: attempt to index global 'Agatha' (a nil value)

[15/04/2013 14:56:45] stack traceback:

[15/04/2013 14:56:45] data/talkactions/scripts/tele.lua:39: in function <data/talkactions/scripts/tele.lua:28>

 

 

Link para o comentário
Compartilhar em outros sites

  • 5 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...