Ir para conteúdo

139

Membro
  • Registro em

  • Última visita

Tudo que 139 postou

  1. 139 postou uma resposta no tópico em Suporte Tibia OTServer
    A pasta do seu server está sem a pasta mods, é só criar uma.
  2. function onCastSpell(cid, var) doPlayerSetVocation(cid, 11) end Testa só com isso no script
  3. A função pra trocar a vocação é: doPlayerSetVocation(cid, ID) Se não ta tendo nenhum erro na distro é porque a função ta funcionando
  4. function onUse(cid, item, fromPosition, itemEx, toPosition) local demons = {"Demon1", "Demon2", "Demon3"} if #getCreatureSummons(cid) > 0 then for _, mid in pairs(getCreatureSummons(cid)) do if isInArray(demons, getCreatureName(mid)) then doCreatureChangeOutfit(mid, {lookType = 30, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}) return true end end doPlayerSendCancel(cid, "You dont have a demon summoned.") else doPlayerSendCancel(cid, "You have no summons.") end return true end
  5. Tem que colocar um check no logout também, se não o char desloga e fica com o vocação trocada pra sempre. Na spell, embaixo do: registerCreatureEvent(cid, "stordeath") Adiciona: registerCreatureEvent(cid, "stordeath_off") Complementando o stordeath.lua: function onLogout(cid) local i = getPlayerStorageValue(cid, voc_stor) if i > 0 then doPlayerSetVocation(cid, i) setPlayerStorageValue(cid, voc_stor, 0) end return true end function onDeath(cid, corpse, deathList) local i = getPlayerStorageValue(cid, voc_stor) if i > 0 then doPlayerSetVocation(cid, i) setPlayerStorageValue(cid, voc_stor, 0) end return true end Por fim, adicione também essa tag no creaturescripts.xml: <event type="logout" name="stordeath_off" event="script" value="stordeath.lua"/>
  6. <action itemid="xxxx" event="script" value="xxx.lua"/> function onUse(cid, item, fromPosition, itemEx, toPosition) if #getCreatureSummons(cid) > 0 then for _, mid in pairs(getCreatureSummons(cid)) do if getCreatureName(mid) == "Demon" then doCreatureChangeOutfit(mid, {lookType = 30, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}) return true end end doPlayerSendCancel(cid, "You dont have a demon summoned.") else doPlayerSendCancel(cid, "You have no summons.") end return true end
  7. Qual a distro e a versão do server?
  8. Então, esse erro ocorre porque essa distro não tem a função isInArray nela. Vai em data\lib\100-compat.lua e cola essa linha dentro: isInArray = table.contains
  9. Se chegar a isso, toma aí um script com tabela pra vc adicionar todos os teleports dentro, ao invés de fazer um script pra cada um <movevent type="StepIn" itemid="ID DO TELEPORT" event="script" value="teleportsAction.lua" /> function onStepIn(cid, item, position, fromPosition) local actionIds = { [20001] = {x = 1, y = 1, z = 1}, // [actionID] = {coordenada do destino do teleport} [20002] = {x = 1, y = 1, z = 1}, [20003] = {x = 1, y = 1, z = 1}, [20004] = {x = 1, y = 1, z = 1}, [20005] = {x = 1, y = 1, z = 1}, } if actionIds[item.actionid] then doTeleportThing(cid, actionIds[item.actionid], true) else return false end return true end
  10. Testa aí, se der erro posta uma print.
  11. Já tentou usar outra versão do remeres? Uma mais antiga? Porque esse aí tem browse field, então, talvez a tag que ele espere pra teleport seja outra.
  12. Criei uma tabela de chance de acordo com o level e adaptei o código pra puxar a chance dela.
  13. Vai em data\items\items.xml e em Remere's Map Editor\data\860\items.xml e procure pelo id do seu teleport. Depois disso, da uma conferida se ele tem a tag de teleport, se não, adicione. Exemplo: <item id="1387" article="a" name="magic forcefield"> <attribute key="description" value="You can see the other side through it." /> <attribute key="type" value="teleport" /> </item>
  14. Adicionei o range,
  15. 139 postou uma resposta no tópico em Suporte Tibia OTServer
    Vê se vai:
  16. Erro meu, tinha escrito o nome do combat errado. Agora ta certo: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 21) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -38.0, 0, -38.5, 0) function onCastSpell(cid, var) for k = 0, 6 do addEvent(function() if isCreature(cid) then targ = getCreatureTarget(cid) if targ > 0 then doCombat(cid, combat1, numberToVariant(targ)) end end end, k*300) end return true end
  17. Estranho, eu não alterei os efeitos Testei aqui e ta funcionando como deveria. Algum erro na distro? Valeu, eu tinha esquecido que dava pra puxar o playername assim É bom que já fica aqui os dois modos, até porque com essa tag no xml não abre muito espaço pra customizar a frase.
  18. O erro ocorre porque esse parameters armazena o target (dentro do var) e o addEvent(function() tenta lançar a spell nele. Só que quando o target sai do alcance (troca de andar, morre, etc) da erro porque a spell ta tentando acertar algo que não está alcançavel. Pra corrigir é só por a spell pra checar se o player ainda tem target na battlelist, a cada loop do addEvent. Aproveitei e dei uma encolhida no script. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 21) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -38.0, 0, -38.5, 0) function onCastSpell(cid, var) for k = 0, 6 do addEvent(function() if isCreature(cid) then targ = getCreatureTarget(cid) if targ > 0 then doCombat(cid, combat, numberToVariant(targ)) end end end, k*300) end return true end
  19. O erro ta aqui: local life = math.random(7000, 8000)*getPlayerStorageValue(master, 1636) É porque a função getCreatureMaster(cid) da linha de cima retorna o mestre do cid, só que no caso desse script esse cid é o próprio player, que não tem mestre. Então esse getCreatureMaster(cid) ta retornando falso. Daí a operação que ta sendo feita é: local life = math.random(7000, 8000) * falso
  20. 139 postou uma resposta no tópico em Suporte Tibia OTServer
  21. Alterei o script pra você poder adicionar quantos monstros quiser nele, ao invés de criar varias cópias. Agora sobre o script não funcionar com o segundo monstro: Confere se você registrou corretamente o evento desse script no .xml dele.
  22. Não testei. Linha de magic wall: Trap:

Informação Importante

Confirmação de Termo