Ir para conteúdo

jhon992

Conde
  • Total de itens

    631
  • Registro em

  • Última visita

  • Dias Ganhos

    12

Tudo que jhon992 postou

  1. http://www.xtibia.com/forum/topic/183849-ajuda-arma-que-suga-life-do-oponente/
  2. Par resolver isso basta usar "SUBID" diferentes para cada magia. Exemplo: Uma spell de buff desse tipo dá conflito com as outras: local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_MELEE, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 5) Porem se eu adicionar um subid nela o conflito não acontecera mais: setConditionParam(condition, CONDITION_PARAM_SUBID, 3) Ficando assim: local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SUBID, 3) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_MELEE, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 5)
  3. Melhor site para compra de servidores, scripts e eventos ~~> http://www.jhon-soft.com ! Novo servidor adicionado: "Thyrania Server [9.6~9.61]", trabalhamos os melhores e mais atualizados servidores. Fazemos também pedidos de scripts, updates, instalações entre outros...
  4. Servidores, scripts e eventos só em ~~> http://www.jhon-soft.com ! Novo servidor adicionado: "Thyrania Server [9.6~9.61]", os primeiros compradores ganharão desconto, aproveite!
  5. Servidores 9.6 e scripts/eventos por encomenda e de graça só em ~~> http://www.jhon-soft.com ! Os novos membros ganharão cupons de desconto para compras.
  6. Script é seu? Parabéns. Tu é novo aqui mais não em scripting neh, conseguiu bem usar orientada a objeto com addEvent e talz, curti hem. Rep+, e continua contribuindo com o nosso fórum.
  7. Servidores 9.6 e scripts/eventos por encomenda e de graça só em ~~> http://www.jhon-soft.com ! Os novos membros ganharão cupons de desconto para compras.
  8. jhon992

    Parcel System

    Isso é algum bug do seu otserv, sinto muito. Tenta pesquisar sobre esse erro, creio que seja problema na distro.
  9. jhon992

    Parcel System

    Isso ocorre porque os npc's estão vendendo o parcel com id que não funciona então você deve ir em todos os nps e trocar o id do parcel por esse: 9081.
  10. Servidores 9.6 e scripts/eventos por encomenda e de graça só em ~~> http://www.jhon-soft.com ! Os novos membros ganharão cupons de desconto para compras.
  11. Servidores 9.6 e scripts/eventos por encomenda e de graça só em ~~> http://www.jhon-soft.com ! Os novos membros ganharão cupons de desconto para compras.
  12. Servidores 9.6 e scripts/eventos por encomenda e de graça só em ~~> http://www.jhon-soft.com ! Os novos membros ganharão cupons de desconto para compras.
  13. Pra arrumar meu segundo script, basta trocar essa parte: if tempo == secondsLoss*1000 then doCreatureSetNoMove(cid, false) end por: if tempo == secondsLoss*1000-1000 then doCreatureSetNoMove(cid, false) end
  14. Tile1: local positionGo = {x=123,y=543,z=7} -- posição que vai. local storageNeed = 4304 -- storage que precisa. function onStepIn(cid, item, topos) if isPlayer(cid) and getPlayerStorageValue(cid, storageNeed) > 0 then doTeleportThing(cid, positionGo) doSendMagicEffect(positionGo, 10) end return true end Tile2: local lifeLoss = 100 -- quanto de life perde por segundo local secondsLoss = 10 -- quantos segundos vai durar function onStepIn(cid, item, topos) if isPlayer(cid) then doCreatureSetNoMove(cid, true) local tempo = 0 while (tempo ~= secondsLoss*1000) do addEvent(removeLife, tempo, cid, tempo) tempo = tempo + 1000 end end return true end function removeLife(cid, tempo) if isPlayer(cid) then if getCreatureHealth(cid) < lifeLoss then lifeLoss = getCreatureHealth(cid) end doCreatureAddHealth(cid, -lifeLoss) doSendAnimatedText(getCreaturePosition(cid), lifeLoss, 180) doSendMagicEffect(getCreaturePosition(cid), 5) -- efeito ao acertar hit no player if tempo == secondsLoss*1000 then doCreatureSetNoMove(cid, false) end end end
  15. Servidores 9.6 e scripts/eventos por encomenda só em ~~> http://jhon-soft.webnode.com/
  16. @Victor8, tu não é burro cara, resolve-se teu problema.. sahdua -Reportado para moverem.
  17. @SkyLigh, pare de postar coisas inúteis ao usuário, se não for para sanar o pedido/dúvida então não poste! -Rep, pois não é a primeira vez que você faz isso. Teste os scripts antes de postá-los se você não sabe se funciona.
  18. Como foi dito, melhor que isso só na sources... Vou reportar o tópico para moverem a atendidos, já que é o máximo que pode ser feito.
  19. Você duplicaria um arquivo na pasta data/talkactions/script e nomearia para "blockLink" sem as aspas e nele colocaria o primeiro código do @Oneshot. Depois no arquivo "talkactions.xml" você colocaria a tag: <talkaction words="pokeice.servegame.com;pokedigimon.no-ip.org" event="script" value="blockLink.lua"/> Funciona da seguinte maneira, quando o player falar "pokeice.servegame.com" ou "pokedigimon.no-ip.org" vai ativar o script... Você pode adicionar mais comandos, basta separá-los pelos ";". O script é precário, mais creio que seja o máximo que de pra fazer sem as sources...
  20. Gostei, ficou show. Rep+ Mais acho que com distance effect ficaria mais legal hem, com aquele foguinho girando em volta. Fica a dica.
  21. Servidores 9.6 e scripts/eventos por encomenda só em ~~> http://jhon-soft.webnode.com/
  22. Espero que ajude. function onUse(cid, item, frompos, item2, topos) local manaNeed = 1500 -- mana necessario para usar. local LvlNeed = 150 -- level necessario para usar. local vocationsUse = {1,2,3,4,5,6,7,8} -- vocações que podem usar. if item2.itemid == 0 then doPlayerSendCancel(cid,"Você não pode fazer isso.") else if isInArray(vocationsUse, getPlayerVocation(cid)) then if getPlayerLevel(cid) >= LvlNeed then if getCreatureMana(cid) >= manaNeed then if not getTilePzInfo(getCreaturePosition(cid)) or not getTilePzInfo(topos) then local playerpos = getPlayerPosition(cid) local check = true local menorX = 0 local maiorX = 0 if playerpos.x > topos.x then maiorX = playerpos.x menorX = topos.x else maiorX = topos.x menorX = playerpos.x end local menorY = 0 local maiorY = 0 if playerpos.y > topos.y then maiorY = playerpos.y menorY = topos.y else maiorY = topos.y menorY = playerpos.y end for i=menorX, maiorX do for j=menorY, maiorY do local pos = {x=i,y=j,z=playerpos.z} if not isWalkable(pos) then pos.stackpos = 253 if getThingfromPos(pos).uid ~= cid then check = false end end end end if check then doTeleportThing(cid,topos) doSendMagicEffect(playerpos,2) doSendMagicEffect(topos,10) doSendAnimatedText(playerpos,"Teleport",35) doPlayerAddMana(cid, manaNeed) else doPlayerSendCancel(cid,"Você não pode atravessar isso.") end else doPlayerSendCancel(cid,"Você não pode utilizar em protection zone.") end else doPlayerSendCancel(cid,"Você não tem mana necessaria para usar.") end else doPlayerSendCancel(cid,"Você não tem level suficiente para usar.") end else doPlayerSendCancel(cid,"Você não possui a vocação necessaria para usar.") end end return true end function isWalkable(pos, creature, pz, proj) -- nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end
  23. Refiz e testei. function onUse(cid, item, frompos, item2, topos) if item2.itemid == 0 then doPlayerSendCancel(cid,"Você não pode fazer isso.") else if getTilePzInfo(getCreaturePosition(cid)) then return doPlayerSendCancel(cid, "O item nao tem poder em Protection Zones.") elseif getTileHouseInfo(getCreaturePosition(cid)) then return doPlayerSendCancel(cid, "O item nao tem poder em Casas.") elseif getPlayerAccess(cid) >= 0 then local playerpos = getPlayerPosition(cid) local check = true local menorX = 0 local maiorX = 0 if playerpos.x > topos.x then maiorX = playerpos.x menorX = topos.x else maiorX = topos.x menorX = playerpos.x end local menorY = 0 local maiorY = 0 if playerpos.y > topos.y then maiorY = playerpos.y menorY = topos.y else maiorY = topos.y menorY = playerpos.y end for i=menorX, maiorX do for j=menorY, maiorY do local pos = {x=i,y=j,z=playerpos.z} if not isWalkable(pos) then pos.stackpos = 253 if getThingfromPos(pos).uid ~= cid then check = false end end end end if check then doTeleportThing(cid,topos) doSendMagicEffect(playerpos,2) doSendMagicEffect(topos,10) doSendAnimatedText(playerpos,"Teleport",35) doPlayerAddMana(cid, -1500) else doPlayerSendCancel(cid,"Você não pode atravessar isso.") end else doPlayerSendCancel(cid,"Você não pode usar esta runa.") end end return true end function isWalkable(pos, creature, pz, proj) -- nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end
  24. function onUse(cid, item, frompos, item2, topos) if item2.itemid == 0 then doPlayerSendCancel(cid,"Você não pode fazer isso.") else if getTilePzInfo(getCreaturePosition(cid)) then return doPlayerSendCancel(cid, "O item nao tem poder em Protection Zones.") elseif getTileHouseInfo(getCreaturePosition(cid)) then return doPlayerSendCancel(cid, "O item nao tem poder em Casas.") elseif getPlayerAccess(cid) >= 0 then local playerpos = getPlayerPosition(cid) local check = true for i=playerpos.x, topos.x do for j=playerpos.y, topos.y do local pos = {x=i,y=j,z=playerpos.z} if not isWalkable(pos) then check = false end end end if check then doTeleportThing(cid,topos) doSendMagicEffect(playerpos,2) doSendMagicEffect(topos,10) doSendAnimatedText(playerpos,"Teleport",35) doPlayerAddMana(cid, -1500) else doPlayerSendCancel(cid,"Você não pode atravessar isso.") end else doPlayerSendCancel(cid,"Você não pode usar esta runa.") end end return true end function isWalkable(pos, creature, pz, proj) -- nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end Obs: nem testei
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...