- 0
dúvida Ultimo Erro Que Falta Consertar
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
script alguém pode me ajudar nessa spells aqui, queira que colocassem pro meu personagem ficar inatingível por 6 segundos e podendo atacar livremente
Por lazaroszz,
- 0 respostas
- 506 visualizações
-
- 0 respostas
- 1975 visualizações
-
- 1 resposta
- 2304 visualizações
-
- 0 respostas
- 1079 visualizações
-
- 1 resposta
- 1240 visualizações
-
Pergunta
webmasterxd 0
[24/09/2012 13:10:32] [Error - Action Interface]
[24/09/2012 13:10:32] In a timer event called from:
[24/09/2012 13:10:32] data/actions/scripts/order.lua:onUse
[24/09/2012 13:10:32] Description:
[24/09/2012 13:10:32] (luaGetThingPosition) Thing not found
Quando uso headbutt vem o pokemon normalmente mais da esse erro minhas script são essas ai :
local skills = specialabilities
local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}
local txt = {
["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},
["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},
["move"] = {"move!", "move there!", "go there!", "walk there!"},
["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},
["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},
["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},
["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},
["fly"] = {"let's fly!", "let me get on you!"} ,
["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},
["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"}, --alterado v1.6
}function onUse(cid, item, frompos, item2, topos)
local checkpos = topos
checkpos.stackpos = 0
if getTileThingByPos(checkpos).uid <= 0 then return true end--------END FLY/RIDE --------
if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then
if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then
doPlayerSendCancel(cid, "You can\'t stop flying at this height!")
return true
endlocal item = getPlayerSlotItem(cid, 8)
local pokemon = getItemAttribute(item.uid, "poke")
local x = pokes[pokemon]
if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then
doPlayerSendCancel(cid, "You can\'t stop flying above the water!")
return true
enddoSummonMonster(cid, pokemon)
local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then
pk = doCreateMonster(pokemon, backupPos)
if not isCreature(pk) then
doPlayerSendCancel(cid, "You can't stop flying/riding here.")
return true
end
doConvinceCreature(cid, pk)
end
doTeleportThing(pk, getThingPos(cid), false)
doCreatureSetLookDir(pk, getCreatureLookDir(cid))adjustStatus(pk, item.uid, true, false, true)
doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)
if getCreatureCondition(cid, CONDITION_PARALYZE) == true then
doRemoveCondition(cid, CONDITION_PARALYZE)
addEvent(doAddCondition, 10, cid, paralizeArea2) --alterado v1.5
end
doRegainSpeed(cid)
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 17000, -1)
setPlayerStorageValue(cid, 17001, -1)return true
end
-----------------------------
-------- DUEL SYSTEM ------------------------
if isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) <= -1 then
---
if getPlayerStorageValue(cid, 52480) >= 1 then
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody")
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
if getPlayerStorageValue(cid, storages) >= 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")
end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
---
doPlayerSetVocation(cid, 8)
openChannelDialog(cid)
setPlayerStorageValue(cid, 52480, 1)
setPlayerStorageValue(cid, 6598754, 5) --alterado v1.6 duel system
setPlayerStorageValue(cid, 52482, getCreatureName(item2.uid))
setPlayerStorageValue(cid, 52483, 0)
doPlayerSendTextMessage(item2.uid, 20, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it! You have 40segs to accept the invit.")
doCreatureSetSkullType(cid, 2)
addEvent(endInviting, 40000, cid)
return true
elseif isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) == 5 then
---
if getPlayerStorageValue(cid, 52480) >= 1 then
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody")
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
if getPlayerStorageValue(cid, storages) >= 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")
end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
---
local function begin(cid, pid, n)
if not isCreature(cid) or not isCreature(pid) then return true end
if n == 0 then
setPlayerStorageValue(cid, 6598754, 10)
setPlayerStorageValue(cid, 52482, getCreatureName(pid))
doSendAnimatedText(getThingPosWithDebug(cid), "START", 215)
doSendAnimatedText(getThingPosWithDebug(pid), "START", 215)
return true
else
doSendAnimatedText(getThingPosWithDebug(cid), ""..n.."!", 215)
n = n-1
end
addEvent(begin, 1000, cid, pid, n)
end
---
setPlayerStorageValue(cid, 52480, 1)
setPlayerStorageValue(getRecorderPlayer(topos), 52483, 1)
if getPlayerStorageValue(cid, 52481) <= -1 and getPlayerStorageValue(item2.uid, 52481) >= 0 then
setPlayerStorageValue(cid, 52481, getPlayerStorageValue(item2.uid, 52481))
end
doCreatureSetSkullType(cid, 1)
doCreatureSetSkullType(item2.uid, 1)
doSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)
begin(cid, item2.uid, 6)
return true
end
------------------------------------------------------------------------------------
if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end
if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end
markLP(getCreatureSummons(cid)[1], -1)if getMarkedPos(getCreatureSummons(cid)[1]).x == topos.x and getMarkedPos(getCreatureSummons(cid)[1]).y == topos.y then
return true
end
local unfix = {x = 1, y = 1, z = 1}
local thisball = getPlayerSlotItem(cid, 8)
local mysum = getCreatureSummons(cid)[1]
local sid = mysum or cid
local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1markPos(mysum, topos)
markOwnerPos(mysum, getThingPos(cid))
-------- ROCK SMASH ---------
if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1)
addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid)))
return true
end
------------------------------------- HEADBUTT -----------
if item2.itemid == 4006 and getPokemonLevel(mysum) >= 15 then --alterado v1.6
--id do item arvore normal
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)
addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))
return true
end
------------------------------------- CUT ----------------
if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) then
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1)
addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid)))return true
end
-----------------------------
-------- TRANSFORM ----------
if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) then
if item2.uid == mysum then --edited
if isTransformed(mysum) then
deTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))
markPos(mysum, unfix)
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)
return true
end
doPlayerSendCancel(cid, "Your ditto is not transformed.")
markPos(mysum, unfix)
return true
endif getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then --edited transform for shiny ditto
doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")
markPos(mysum, unfix)
return true
end
if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then
doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")
markPos(mysum, unfix)
return true
endlocal cd = getCD(thisball.uid, "trans", 40)
if cd > 0 then
doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")
return true
endif getHappiness(mysum) <= 50 then
doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)
markPos(mysum, unfix)
return true
end
local turn = getItemAttribute(thisball.uid, "transTurn") if not turn or turn > 10 then
doItemSetAttribute(thisball.uid, "transTurn", 0)
else
doItemSetAttribute(thisball.uid, "transTurn", turn + 1)
end
local time = 140 + 2 * getPokemonLevel(mysum)turn = getItemAttribute(thisball.uid, "transTurn")
markPos(mysum, unfix)
setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))
doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1)
addEvent(deTransform, time * 1000, mysum, turn)
doSendMagicEffect(getThingPos(mysum), 184)
doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)
local name = getCreatureName(item2.uid)
setCD(thisball.uid, "trans", 40)
doItemSetAttribute(thisball.uid, "transBegin", os.clock())
doSetItemAttribute(thisball.uid, "transLeft", time)
doSetItemAttribute(thisball.uid, "transOutfit", getCreatureOutfit(item2.uid).lookType)
doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))
doFaceCreature(mysum, getThingPos(item2.uid))
doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)
if useKpdoDlls then
doUpdateMoves(cid) --alterado v1.6
endif dittoCopiesStatusToo then
setPlayerStorageValue(mysum, 1001, dittoBonus*getOffense(item2.uid))
setPlayerStorageValue(mysum, 1002, dittoBonus*getDefense(item2.uid))
setPlayerStorageValue(mysum, 1003, getSpeed(item2.uid))
setPlayerStorageValue(mysum, 1004, dittoBonus*getVitality(item2.uid))
setPlayerStorageValue(mysum, 1005, dittoBonus*getSpecialAttack(item2.uid))
------------------
local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
local vit = (getVitality(mysum) * getMasterLevel(mysum)) / 100
setCreatureMaxHealth(mysum, ( vit * HPperVITsummon )) --alterado v1.6
doCreatureAddHealth(mysum, pct * vit * HPperVITsummon)
end
return true
end
------------------------------------- LIGHT --------------
if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then
markPos(mysum, unfix)if not isInArray(skills["light"], getPokemonName(item2.uid)) then
doPlayerSendCancel(cid, "Your pokemon can't use flash.")
return true
end
local cd = getCD(thisball.uid, "light", 30)
if cd > 0 then
doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")
return true
enddoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)
doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)
doSendMagicEffect(getThingPos(mysum), 28)
local size = 5
size = size + math.floor(getSpecialAttack(mysum) / 60)
size = size + math.ceil(getPokemonLevel(mysum) / 60) if size > 11 then
size = 11
end
doSetCreatureLight(mysum, size, 215, 600*1000)local delay = math.floor(30 - getPokemonLevel(mysum) / 4)
if delay > 0 then
setCD(thisball.uid, "light", delay)
end
return true
end
-----------------------------
-------- DIG ----------------
if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)
addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))return true
end
-----------------------------
-------- BLINK / MOVE -------
if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) thenlocal cd = getCD(thisball.uid, "blink", 30)
if getPlayerStorageValue(mysum, 2365487) == 1 then
return true --alterado v1.4
end
if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then
doPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")")
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)return true
end
local CD = isShinyName(getCreatureName(mysum)) and 20 or 30 --edited blinkmarkPos(mysum, topos)
markOwnerPos(mysum, getThingPos(cid))
setCD(thisball.uid, "blink", CD)
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)
doSendDistanceShoot(getThingPos(mysum), topos, 39)
doSendMagicEffect(getThingPos(mysum), 211)
doTeleportThing(mysum, topos, false)
doSendMagicEffect(topos, 134)
doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)
goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid))) --edited blink
return true
end
-----------------------------
----START FLYorRIDE ---------
if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum))) then
--if not isPremium(cid) then
--doPlayerSendCancel(cid, "Only premium members are allowed to fly or ride.")
--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, 5700) == 1 then
doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") --edited proteçao pra bike
return true
end
if getPlayerStorageValue(cid, 22545) >= 1 and isInArray(skills["fly"], getPokemonName(mysum)) then --alterado v1.4
return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")
end
local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)
if isInArray(skills["fly"], getPokemonName(mysum)) then
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)
addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))
else
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)
addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))
endreturn true
end
-----------------------------
----------------------------------Control Mind-------------------------------------------- alterado v1.5
if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum then
if not isCreature(item2.uid) then
return true
end
if isSleeping(mysum) then
return doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ")
end if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection then
return doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")
end
if #getCreatureSummons(cid) == 2 then
return doPlayerSendCancel(cid, "You only can control one Pokemon!")
end
local cd = getCD(thisball.uid, "control", 120)
if cd > 0 then
doPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")
return true
end
if getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) then
return doPlayerSendCancel(cid, "Your pokemon can't control this mind!")
end
local cmed = item2.uid
setCD(thisball.uid, "control", 120)
local gender = getPokemonGender(cmed)
doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)
--------------
setPlayerStorageValue(cid, 212124, 1)
doConvinceCreature(cid, cmed)
setPlayerStorageValue(cmed, 212123, 1)
doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)local cmname = getCreatureName(mysum)
local cmpos = getThingPos(mysum)
local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))
doItemSetAttribute(thisball.uid, "hp", pokelife)
doRemoveCreature(mysum)
local cmzao = doSummonCreature(""..cmname.." cm", cmpos)
doConvinceCreature(cid, cmzao)
setPlayerStorageValue(cid, 888, 1)
if useKpdoDlls then
doUpdateMoves(cid)
end
local function check(cid, controled, rod)
if isCreature(cid) then
ball2 = getPlayerSlotItem(cid, 8)
if getPlayerStorageValue(cid, 888) <= 0 then
return true
end
if not isCreature(controled) then
setPlayerStorageValue(cid, 212124, 0)
local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2]
local pkcmpos = getThingPos(sum)
doRemoveCreature(sum)
local item = getPlayerSlotItem(cid, 8)
local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)
doConvinceCreature(cid, pk)
doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)
setPlayerStorageValue(cid, 888, 0)
cleanCMcds(item.uid)
registerCreatureEvent(pk, "SummonDeath") --alterado v1.6
if useKpdoDlls then
doUpdateMoves(cid)
end
return true
end
if rod <= 0 then
--Pokemon controlado
local cmed2 = getCreatureSummons(cid)[1]
local poscmed = getThingPos(cmed2)
local cmeddir = getCreatureLookDir(cmed2)
local namecmed = getCreatureName(cmed2)
local gender = getPokemonGender(cmed2)
local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
local back = doCreateMonster(namecmed, poscmed)
addEvent(doCreatureSetSkullType, 150, back, gender)
doWildAttackPlayer(back, cid)
doCreatureSetLookDir(back, cmeddir)
addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
-- pokemon controlador
local mynewpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos)
doConvinceCreature(cid, pk2)
addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)
setPlayerStorageValue(cid, 888, 0)
doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
setPlayerStorageValue(cid, 212124, 0)
cleanCMcds(ball2.uid)
registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6
if useKpdoDlls then
doUpdateMoves(cid)
end
else
if isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) then
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)
else
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
end
end
end
addEvent(check, 500, cid, controled, rod-1)
endcheck(cid, cmed, 40)
return true
end
---------------------------------------------------------------------
-------- MOVE / END ---------
local onlyWater = false
if isWater(getTileThingByPos(checkpos).itemid) then
onlyWater = true
for checkwater = 0, 7 do
if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then
onlyWater = false
end
end
endif onlyWater then
doPlayerSendCancel(cid, "Destination is not reachable.")
return true
end
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
if isCreature(getCreatureTarget(cid)) then
goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)
else
addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)
end
-----------------------------return true
end
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados