Ir para conteúdo

PsyMcKenzie

Membro
  • Registro em

  • Última visita

Tudo que PsyMcKenzie postou

  1. Opa, era isso mesmo que precisava, uma ideia pra alterar. Obrigado amigo! Aproveitei pra alterar nas spells dos monstros de rosha, disso: <attack name="bleedcondition" interval="2000" chance="10" radius="3" target="0" min="-500" max="-1000"> pra isso: <attack name="physical" interval="2000" chance="10" radius="3" target="0" min="-500" max="-1000"> Valeu, deu certo!
  2. Boa noite pessoal! Estou utilizando um OT 8.6 e alguns monstros (vile grandmaster, frazzlemaw e etc..) tem CONDITION_BLEEDING, devido isso estou tendo problemas. Alguma idéia do que posso fazer? Ou alguém sabe se é possível adicionar nas sources ou adicionar sem sources mesmo? Desde já, agradeço!
  3. Desculpa reviver o tópico, mas se o player tiver house em uma area vip e a vip dele acabou, tem algo que possa ser feito?
  4. Galera, baixei um map de roshamuul 8.6, porém veio version 10.90, quando altero para 8.6 alguns sqms ficam bugados. Tem como arrumar sem precisar trocar um por um?
  5. No spells.xml, tava "direction=1", coloquei = 0 e deu certo, porém ele não respeita a direção do char. O que pode ser? <instant name="kamehameha" words="kamehameha" direction="1" lvl="20000" maglv="10" mana="100" soul="0" exhaustion="1000" prem="0" enabled="1" script="novas/kamehameha.lua">
  6. Eu tentei amigo, não deu certo.
  7. Seria como um exevo vis hur, mas ao contrário.
  8. Ainda não deu certo amigo, continua na mesma.
  9. Galera, tem essa spell no meu ot, porém ela não pega no sqm da frente do player e não tem exaust, gostaria de ajuda para consertar. Script: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) function onGetFormulaValues(cid, level, maglevel) min = -(level * 22) / 6 max = -(level * 38.5) / 6 return min, max end setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) function onGetFormulaValues(cid, level, maglevel) min = -(level * 22) / 5 max = -(level * 38.5) / 5 return min, max end setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) function onGetFormulaValues(cid, level, maglevel) min = -(level * 22) / 4 max = -(level * 38.5) / 4 return min, max end setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) function onGetFormulaValues(cid, level, maglevel) min = -(level * 22) / 3 max = -(level * 38.5) / 3 return min, max end setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) function onGetFormulaValues(cid, level, maglevel) min = -(level * 22) / 2 max = -(level * 38.5) / 2 return min, max end setCombatCallback(combat5, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local arr1 = { {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 1, 0}, {1, 2, 1}, {1, 0, 1}, } local arr2 = { {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 1, 0}, {0, 0, 0}, {0, 2, 0}, {0, 0, 0}, } local arr3 = { {0, 0, 0}, {0, 0, 0}, {0, 1, 0}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0}, {0, 0, 0}, } local arr4 = { {0, 0, 0}, {0, 1, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0}, {0, 0, 0}, } local arr5 = { {0, 1, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0}, {0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) local area5 = createCombatArea(arr5) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end local function onCastSpell4(parameters) doCombat(parameters.cid, parameters.combat4, parameters.var) end local function onCastSpell5(parameters) doCombat(parameters.cid, parameters.combat5, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var,combat1 = combat1,combat2 = combat2,combat3 = combat3,combat4 = combat4,combat5 = combat5 } addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 300, parameters) addEvent(onCastSpell3, 500, parameters) addEvent(onCastSpell4, 700, parameters) addEvent(onCastSpell5, 900, parameters) end Print:
  10. Vou testar essa alteração para ver se da certo, o ot The Heroes of Time tem level 1000000 como level maximo e ainda usam cliente old, mas no meu caso pretendo usar o otclient. Obrigado amigo, vou testar e posto aqui qualquer coisa.
  11. Boa tarde galera! Alguém tem o código para alterar o level máximo de 717217 para 1000000? Eu tenho as sources do meu server e gostaria de fazer essa mudança. Se alguém puder ajudar, ficarei grato!
  12. É só fazer como o imbuiment de mana, quando bater no bicho, ganhar "furia".
  13. Há um tempo atras eu tava fazendo um sistema de pet e me deparei com um problema, devido ao trabalho e a faculdade deixei de lado e agora decidi terminar. O problema é que ao deslogar com o pet summonado, o life do pet não salva. function onLogout(cid) for petslot = CONST_SLOT_FIRST, CONST_SLOT_LAST do local item = getPlayerSlotItem(cid, petslot) if isContainer(item.uid) then local items = getItemsInContainerById(item.uid, 2126) local status = getItemAttribute(item.uid, "status") print(status) if status == 3 then return false end for i,x in pairs(items) do local hp = tonumber(getItemAttribute(item.uid, "lifepet")) local maxhp = tonumber(getItemAttribute(item.uid, "maxlifepet")) print(hp) doItemSetAttribute(x, "lifepet", hp) doItemSetAttribute(x, "maxlifepet", maxhp) doItemSetAttribute(x, "status", 2) doTransformItem(x, 2125) end end end return TRUE end O status é 1 para pet solto , 2 para pet preso e 3 para pet morto Alguém pode me ajudar? O que estou fazendo errado?
  14. Basta usar: if getTilePzInfo(getCreaturePosition(cid)) then doSendMagicEffect(getPlayerPosition(cid), 2) return doCreatureSay(cid, "[Error] nao pode usar em pz", TALKTYPE_ORANGE_1) end antes de iniciar a ação. Esse código checa se o player está em pz, se estiver ele envia a mensagem de erro, se não estiver executa a ação.
  15. PsyMcKenzie postou uma resposta no tópico em Suporte & Pedidos
    Muito foda, namoral! Poderia fazer uns tutoriais comentando, seria ótimo pra quem quer aprender mais, parabéns! Ótimo trabalho!
  16. local sentar = {health = 5, mana = 5} local storage = 12345 local voc = 4 function onSay(cid, words) if getPlayerVocation(cid) ~= voc then return doPlayerSendCancel(cid, "Esse comando não é permitido para sua vocação!") end if getTilePzInfo(getPlayerPosition(cid)) then if getPlayerStorageValue(cid, 12345) == -1 then doCreatureSay(cid, "Ahh, vou descansar...", TALKTYPE_MONSTER) doSendMagicEffect(getCreaturePosition(cid), 1) doPlayerAddHpManaSentar(cid, sentar) doCreatureSetNoMove(cid, true) setPlayerStorageValue(cid, 12345, 1) else setPlayerStorageValue(cid, 12345, -1) doCreatureSetNoMove(cid, false) doCreatureSay(cid, "Já descansei.", TALKTYPE_MONSTER) stopEvent(hpmana) end end return true end function doPlayerAddHpManaSentar(cid, formula) if not isCreature(cid) then return true end doCreatureAddHealth(cid, formula.health) doCreatureAddMana(cid, formula.mana) hpmana = addEvent(doPlayerAddHpManaSentar, 5000, cid, formula) end <talkaction words="!sentar" event="script" value="sentar.lua"/>
  17. Usa assim: local config = { message = "Parabéns, você venceu o boss! O Teleport irá fechar em 1 minuto!", timeToRemove = 60, -- segundos pra remover o tp teleportId = 1387, bosses = { ["NOME DO BOSS"] = { x = 1521, y = 1149, z = 7 }, --posição que será teleportado (no caso, pos do npc) } } local function removal(position) doRemoveThing(getTileItemById(position, config.teleportId).uid, 1) return TRUE end function onDeath(cid, corpse, killer) registerCreatureEvent(cid, "teleportmonster") local position = getCreaturePosition(cid) for name, pos in pairs(config.bosses) do if name == getCreatureName(cid) then teleport = doCreateTeleport(config.teleportId, pos, position) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 15001) addEvent(removal, config.timeToRemove * 1000, position) doSendMagicEffect(position,10) end end return TRUE end Cara, você configurou a action do item adicionado, no caso 10213 no actions.xml? Porque me parece normal, ainda mais se ele entregou o item! <action actionid="10213" event="script" value="NOMEDOSCRIPT.lua"/>
  18. Tenta assim: function onDeath(cid, corpse, deathList, target) local storage = 15001 if getPlayerStorageValue(deathList[1], storage) < 1 then if isPlayer(deathList[1]) then setPlayerStorageValue(deathList[1], storage, 1) doSendMagicEffect(getPlayerPosition(deathList[1]), 12) end else return true end return true end Adiciona isso no xml do mosntro depois de flags: <script> <event name="BossKill"/> </script> Não esquece de mudar no creaturescripts.xml o event type pra death.

Informação Importante

Confirmação de Termo