Postado Março 1, 2015 11 anos Olá galera tudo bom com vcs? Estou aqui a procura de um sistema de catapulta que jogue o player posições acima e caia em uma outra posição ex: O personagem esta do lado esquerdo do murro e precisa pular para o lado direito sacaram ? O erro que digo é em um script de onDeath segue o erro: attempt to index local 'lastHitKiller' (a number value) tentei arrumar mas nada funciona espero a ajuda beijinhos <3
Postado Março 1, 2015 11 anos data/actions/scripts: local config = { lookDirection = "sul", --Direção que a catapulta está olhando. distance = 6, --Quantas posições o jogador vai "pular" (só funciona com números pares). Distância máxima: 14. directions = { ["norte"] = 0, ["leste"] = 1, ["sul"] = 2, ["oeste"] = 3, }, } function onUse(cid, item, fromPosition, itemEx, toPosition) if config.distance % 2 ~= 0 then return doPlayerSendCancel(cid, "Sorry, the catapult isn't available right now.") and print("Trade catapult distance for a odd number.") end local direction = config.directions[config.lookDirection] for i = 1, config.distance do addEvent(function() if getPlayerLookDir(cid) ~= direction then doCreatureSetLookDirection(cid, direction) end local newPos = getPosByDir(i ~= 1 and getThingPos(cid) or toPosition, direction) newPos.z = i <= config.distance / 2 and newPos.z - 1 or newPos.z + 1 if i < config.distance then doAreaCombatHealth(0, 0, newPos, 0, 0, 0, 255) doCreateItem(460, 1, newPos) end doTeleportThing(cid, newPos) end, i * 120) end return true end data/movements/scripts: local area = createCombatArea{ {1, 1, 1}, {1, 2, 1}, {1, 1, 1}, } function onStepIn(cid, item, position, fromPosition) doAreaCombatHealth(cid, 3080, getThingPos(cid), area, 0, 0, 255) return true end function onStepOut(cid, item, position, fromPosition) local oldtpos = fromPosition oldtpos.stackpos = STACKPOS_GROUND if getTileThingByPos(oldtpos).itemid >= 1 then doRemoveItem(getTileThingByPos(oldtpos).uid, 1) end return true end Tags do movement: <movevent type="StepOut" itemid="460" event="script" value="nome_do_arquivo.lua"/> <movevent type="StepIn" itemid="460" event="script" value="nome_do_arquivo.lua"/> Editado Março 1, 2015 11 anos por zipter98 (veja o histórico de edições)
Postado Março 1, 2015 11 anos Poste o script onDeath. Amanhã vejo o de catapulta pra você. Boa sorte.
Postado Março 1, 2015 11 anos Autor Script com erro function onDeath(cid, corpse, lastHitKiller, mostDamageKiller) local killer = lastHitKiller[1] if isPlayer(killer) and (getCreatureName(cid) == "Gran Tower") then if (getGlobalStorageValue(GRANTOWER.FINALWINNER) ~= getCreatureName(killer)) then if getPlayerGuildId(killer) >= 1 then for index, creature in ipairs(getGranTowerPlayers()) do if getPlayerGuildId(creature) ~= getPlayerGuildId(killer) then doTeleportThing(creature, getTownTemplePosition(getPlayerTown(creature)), true) end end else for index, creature in ipairs(getGranTowerPlayers()) do if getPlayerStorageValue(creature, GRANTOWER.AURA) ~= -1 then doTeleportThing(creature, getTownTemplePosition(getPlayerTown(creature)), true) end end end if (getPlayerGuildId(killer) >= 1) then setGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID, getPlayerGuildId(killer)) for index, creature in ipairs(getGranTowerGuild(getPlayerGuildId(killer))) do setPlayerStorageValue(creature, GRANTOWER.AURA, 1) end end setPlayerStorageValue(killer, GRANTOWER.AURA, 1) addEvent(changeOutfit, 0, killer) setGlobalStorageValue(GRANTOWER.SAVELASTWINNER, getCreatureName(killer)) addEvent(doCreateMonster, 2 * 1000, "Gran Tower", GRANTOWER.TOWERPOSITION) setGlobalStorageValue(GRANTOWER.FINALWINNER, getCreatureName(killer)) setGlobalStorageValue(GRANTOWER.DESTROYCOUNT, (getGlobalStorageValue(GRANTOWER.DESTROYCOUNT) + 1)) doBroadcastMessage("[Gran Tower] The Gran Aura is with "..getCreatureName(killer)..", run to destroy the Grand Tower and take it.") end end return TRUE end @zipter98 adicionei a tag no actions também não sei se era para fazer isso e também adicionei action na catapulta usada 460 mas deu alguns erros [01/03/2015 03:58:40] Lua Script Error: [Action Interface] [01/03/2015 03:58:40] in a timer event called from: [01/03/2015 03:58:40] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:40] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:40] stack traceback: [01/03/2015 03:58:40] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> [01/03/2015 03:58:40] Lua Script Error: [Action Interface] [01/03/2015 03:58:40] in a timer event called from: [01/03/2015 03:58:40] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:40] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:40] stack traceback: [01/03/2015 03:58:40] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> [01/03/2015 03:58:41] Lua Script Error: [Action Interface] [01/03/2015 03:58:41] in a timer event called from: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:41] stack traceback: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> [01/03/2015 03:58:41] Lua Script Error: [Action Interface] [01/03/2015 03:58:41] in a timer event called from: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:41] stack traceback: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> [01/03/2015 03:58:41] Lua Script Error: [Action Interface] [01/03/2015 03:58:41] in a timer event called from: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:41] stack traceback: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> [01/03/2015 03:58:41] Lua Script Error: [Action Interface] [01/03/2015 03:58:41] in a timer event called from: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:41] stack traceback: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> [01/03/2015 03:58:41] Lua Script Error: [Action Interface] [01/03/2015 03:58:41] in a timer event called from: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:41] stack traceback: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> [01/03/2015 03:58:41] Lua Script Error: [Action Interface] [01/03/2015 03:58:41] in a timer event called from: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:onUse [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: attempt to call global 'getCreatureLookDirection' (a nil value) [01/03/2015 03:58:41] stack traceback: [01/03/2015 03:58:41] data/actions/scripts/Fox/catapulta.lua:18: in function <data/actions/scripts/Fox/catapulta.lua:17> Editado Março 1, 2015 11 anos por Komic (veja o histórico de edições)
Postado Março 1, 2015 11 anos O erro é exatamente este? Não tem mais algumas linhas com informações? Porque olhando assim, mesmo não entendendo a base do "lastHitKiller" só parece que deveria remover o "[1]" dele.. Enfim, poste o erro por completo.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.