Postado Fevereiro 22, 2021 4 anos 6 minutos atrás, Nother disse: [Error - LuaInterface::loadFile] data/spells/scripts/Goku/gogeta.lua:5: unexpected symbol near 'local' [23:12:50.060] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/Goku/gogeta.lua) [23:12:50.061] data/spells/scripts/Goku/gogeta.lua:5: unexpected symbol near 'local' dessa vez deu esse errinho na distro Tira a virgula dessa linha: local msg = "Voce precisa aguardar %d segundos.",
Postado Fevereiro 22, 2021 4 anos Autor 8 minutos atrás, 139 disse: Tira a virgula dessa linha: local msg = "Voce precisa aguardar %d segundos.", KKK foi mal cara, acho que ja estou enchendo seu saco kkk. Tipo to com 2 problemas, ele troca de vocation certinho agora e retorna, o problema e que ele retorna para a vocation 9 e não a vocation 1 e eu removi a vocation 9 dai ele fala que eu não tenho vocação. tanto se eu morrer e tanto se eu esperar acabar o tempo. e quando eu me transformo aparece uma sprite aleatoria por 1 segundo e depois vai para a sprite correta, so que essa sprite não sai mais do personagem mesmo se ele voltar para a vocação anterior
Postado Fevereiro 22, 2021 4 anos Solução do outfit: Spoiler local tempo = 30 * 60 local storage_time = 102053 local storage_voc = 102054 local msg = "Voce precisa aguardar %d segundos.", local effect = {80} local effect1 = {80} local outfit = {lookType = 3} local points = 20 local health = 0.05 local new_voc = 11 -- id da voc local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) function doHealthSecond(cid, amount, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, amount) if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, amount, delay-1) end end local function doMagica(cid, times) if times > 0 and isCreature(cid) then for i=1, #effect do local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} local position1 = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doSendMagicEffect(position, effect[i]) doSendMagicEffect(position1, effect1[i]) end addEvent(doMagica, 1000, cid, times-1) end end local function doOutfitzinha(cid, times) if times > 0 and isCreature(cid) then if hasCondition(cid, CONDITION_OUTFIT) then doRemoveCondition(cid, CONDITION_OUTFIT) end addEvent(doOutfitzinha, 1000, cid, times-1) end end local function deTransform(cid) if isCreature(cid) then doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage_voc)) end end function onCastSpell(cid, var) if tempo-(os.time()-getPlayerStorageValue(cid, storage_time)) > 0 then doPlayerSendCancel(cid, string.format(msg, tempo-(os.time()-getPlayerStorageValue(cid, storage_time)))) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end setPlayerStorageValue(cid, storage_time, os.time()) setPlayerStorageValue(cid, storage_voc, getPlayerVocation(cid)) registerCreatureEvent(cid, "stordeath") registerCreatureEvent(cid, "stordeath_off") addEvent(deTransform, tempo * 1000, cid) doPlayerSetVocation(cid, new_voc) doMagica(cid, tempo) doOutfitzinha(cid, tempo) local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doCreatureSay(cid, "KAIOKEEEEEEEN", TALKTYPE_MONSTER) doSendMagicEffect(position, 80) doHealthSecond(cid, -getCreatureMaxHealth(cid) * health, tempo) doSetCreatureOutfit(cid, outfit) return doCombat(cid, combat, var) end Sobre a vocação bugada, já te falei a função que altera vocação, usa ela pra corrigir. Se não der pra corrigir com ela, altera o char direto na database.
Postado Fevereiro 22, 2021 4 anos Autor Solução Consegui resolver quase os problemas de ficar infinitamente na vocação. Ainda esta com o problema da outfit mas se eu resolver posto aqui tbm. local tempo = 1 * 60 local storage_time = 102053 local storage_voc = 102054 local msg = "Voce precisa aguardar %d segundos." local effect = {80} local effect1 = {80} local outfit = {lookType = 9} local points = 20 local health = 0.05 local new_voc = 11 -- id da voc local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) function doHealthSecond(cid, amount, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, amount) if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, amount, delay-1) end end local function doMagica(cid, times) if times > 0 and isCreature(cid) then for i=1, #effect do local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} local position1 = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doSendMagicEffect(position, effect[i]) doSendMagicEffect(position1, effect1[i]) end addEvent(doMagica, 1000, cid, times-1) end end local function doOutfitzinha(cid, times) if times > 0 and isCreature(cid) then doRemoveCondition(cid, CONDITION_OUTFIT) addEvent(doOutfitzinha, 1000, cid, times-1) end end local function deTransform(cid) if isCreature(cid) then doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage_voc)) end end function onCastSpell(cid, var) if tempo-(os.time()-getPlayerStorageValue(cid, storage_time)) > 0 then doPlayerSendCancel(cid, string.format(msg, tempo-(os.time()-getPlayerStorageValue(cid, storage_time)))) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end setPlayerStorageValue(cid, storage_time, os.time()) setPlayerStorageValue(cid, storage_voc, getPlayerVocation(cid)) registerCreatureEvent(cid, "stordeath") registerCreatureEvent(cid, "stordeath_off") addEvent(deTransform, tempo * 1000, cid) doPlayerSetVocation(cid, new_voc) doMagica(cid, tempo) doOutfitzinha(cid, tempo) local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doCreatureSay(cid, "KAIOKEEEEEEEN", TALKTYPE_MONSTER) doSendMagicEffect(position, 80) doHealthSecond(cid, -getCreatureMaxHealth(cid) * health, tempo) doSetCreatureOutfit(cid, outfit) return doCombat(cid, combat, var) end Estou utilizando aquele codigo la de cima passado anteriormente. E em creaturescripts/scripts/niwdeath.lua eu alterei para caso a vocação 11 morra ela retorne para a vocação 1. e em vocations.xml alterei a fromvoc da voc 11 para voc 1 caso relogue tbm volte para a vocação 1. Agora so falta eu resolver o bug da outfit que quando eu uso ele se transforma mas logo em seguida a outfit volta para a antiga. local tempo = 1 * 60 local storage_time = 102053 local storage_voc = 102054 local msg = "Voce precisa aguardar %d segundos." local effect = {87} local effect1 = {87} local outfit = {lookType = 9} local points = 20 local mana = 0.01 local new_voc = 11 -- id da voc local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) function doManaSecond(cid, amount, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddMana(cid, amount) if delay ~= 1 then addEvent(doManaSecond, 1000, cid, amount, delay-1) end end local function doMagica(cid, times) if times > 0 and isCreature(cid) then for i=1, #effect do local position = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} local position1 = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doSendMagicEffect(position, effect[i]) doSendMagicEffect(position1, effect1[i]) end addEvent(doMagica, 1000, cid, times-1) end end local function Outfitzinha(cid) doRemoveCondition(cid, CONDITION_OUTFIT) end local function deTransform(cid) if isCreature(cid) then doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage_voc)) end end function onCastSpell(cid, var) if tempo-(os.time()-getPlayerStorageValue(cid, storage_time)) > 0 then doPlayerSendCancel(cid, string.format(msg, tempo-(os.time()-getPlayerStorageValue(cid, storage_time)))) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end setPlayerStorageValue(cid, storage_time, os.time()) setPlayerStorageValue(cid, storage_voc, getPlayerVocation(cid)) registerCreatureEvent(cid, "stordeath") registerCreatureEvent(cid, "stordeath_off") addEvent(deTransform, tempo * 1000, cid) doPlayerSetVocation(cid, new_voc) doMagica(cid, tempo) addEvent(Outfitzinha, tempo*1000, cid) local position = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doCreatureSay(cid, "KAIOKEEEEEEEN", TALKTYPE_MONSTER) doSendMagicEffect(position, 121) doManaSecond(cid, -getCreatureMaxMana(cid) * mana, tempo) doSetCreatureOutfit(cid, outfit) return doCombat(cid, combat, var) end BOM ESSE E O CODIGO, DEPOIS DE VARIOS TESTES COM OS CODIGOS DISPONIBILIZADOS AI PARA CIMA FINALMENTE CONSEGUI ARRUMAR OS PROBLEMAS E FA TUDO OK, LEMBRANDO QUE CASO ESTEJAM QUERENDO USAR ESSE CODIGO, PRECISAM FAZER AS ALTERAÇOES QUE INFORMEI AI EM CIMA. OBRIGADO A TODOS QUE ME AJUDARAM Editado Fevereiro 22, 2021 4 anos por Nother (veja o histórico de edições)
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.