Ir para conteúdo

Leoxtibia

Visconde
  • Total de itens

    489
  • Registro em

  • Última visita

  • Dias Ganhos

    15

Tudo que Leoxtibia postou

  1. local from, to = {x=1, y =1, z=1}, {x=1, y =1, z=1}local newpos = {x=1, y =1, z=1}function onStatsChange(cid, attacker, type, combat, value) if isInRange(getPlayerPosition(cid), from, to) and type == STATSCHANGE_HEALTHLOSS and value >= getCreatureHealth(cid) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doTeleportThing(cid, newpos) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) return false end return trueend <event type="statschange" name="MorteTp" event="script" value="NOMEDOARQUIVO.lua"/> No login.lua: registerCreatureEvent(cid, "MorteTp")
  2. @Brunds Quando eu disse "fora", queria dizer FORA!! kk
  3. Sim, em movements: local id = 1111 -- id da bpfunction onEquip(cid, item, slot)if item.itemid == id and (slot == CONST_SLOT_RIGHT or slot == CONST_SLOT_LEFT) thenreturn falseend <movevent type="Equip" itemid="1111" slot="pickupable" script="NOMEDOSCRIPT.lua"/> Aproveita e posta aí como ficou seu script do OnMove.
  4. @Fjinst A função que eu citei é creaturescripts e tem que ser adicionada na source. Ou, para evitar precisar mexer nas sources, que tal tentarmos algo "meio doido"? Eu pensei em evitar que o player: 1 - Movesse um item de sua backpack para a backpack a ser bloqueada 2 - Colocasse a backpack a ser bloqueada no chão e tentasse mover um item 3 - Colocasse a backpack a ser bloqueada dentro de outro container no chão e tentasse mover um item Vê aí. Em creaturescripts/scripts crie o arquivo: bpBlock.lua No login.lua, registre o evento: registerCreatureEvent(cid, "BlockBp") Em creaturescripts.xml, adicione a tag: <event type="think" name="BlockBp" event="script" value="bpBlock.lua"/>
  5. @Brunds Na hora de escrever, esqueci do end. E não coloque a função dentro da outra. A função abaixo fica fora. function doShowTimeByPos(uid, pos, duration, type) type = type or 20 for i = 0, (duration - 1) do addEvent(function() if isCreature(uid) then doSendAnimatedText(pos, tostring(duration - i), type) end end, i * 1000) end return true end
  6. Se quiser que mande a mensagem em todas as posições ao redor do target, adicione depois dessa linha doCreateItem(5750,1,posicao) Isso: doShowTimeByPos(cid, posicao, 5, COLOR_RED) Se quiser só em uma posição que esteja ao redor do target, adicione a mesma linha acima, antes de: addEvent(function() Se quiser que o tempo seja mostrado na posição do player, adicione antes da mesma linha acima: doShowTimeByPos(cid, getPlayerPosition(cid), 5, COLOR_RED) E claro, não esqueça da função. Melhor escrevê-la assim: function doShowTimeByPos(uid, pos, duration, type)type = type or 20 for i = 0, (duration - 1) do addEvent(function() if isCreature(uid) then doSendAnimatedText(pos, tostring(duration - i), type) end end, i * 1000) endreturn true
  7. Você já tem essa função adicionada à source né? Tente algo como: function onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) if toContainer.itemid == 8908 and toPos.x == CONTAINER_POSITION then doPlayerSendTextMessage(cid, 25, "Você não pode adicionar itens a essa backpack.") return falseendend
  8. Testei aqui agora no tfs 0.4 e funcionou 100%. A vocação que você testou é um dos ids que eu tinha colocado? [1], [2], [3] ou [4]? Se não for, adicione lá. A resistência ali funciona da seguinte forma: resistence = 10 -- vai bloquear 10%, ou seja, se o player tiver resistência ao elemento o hit que seria de 10 será de 9 Resumindo, vai mostrar o hit normal e o quanto healou devido a resistência ao elemento: 10 +1 Seus tipos de danos são esses também? Se não for, troque para os seus. COMBAT_NONE = 0COMBAT_PHYSICALDAMAGE = 1COMBAT_ENERGYDAMAGE = 2COMBAT_EARTHDAMAGE = 4COMBAT_POISONDAMAGE = 4COMBAT_FIREDAMAGE = 8COMBAT_UNDEFINEDDAMAGE = 16COMBAT_LIFEDRAIN = 32COMBAT_MANADRAIN = 64COMBAT_HEALING = 128COMBAT_DROWNDAMAGE = 256COMBAT_ICEDAMAGE = 512COMBAT_HOLYDAMAGE = 1024COMBAT_DEATHDAMAGE = 2048
  9. Rapaz, acho que assim vai. Em creaturescripts/scripts: elementResistence.lua Lembrando que os elementos são: (pelo menos para alguns servidores) COMBAT_NONE = 0COMBAT_PHYSICALDAMAGE = 1COMBAT_ENERGYDAMAGE = 2COMBAT_EARTHDAMAGE = 4COMBAT_POISONDAMAGE = 4COMBAT_FIREDAMAGE = 8COMBAT_UNDEFINEDDAMAGE = 16COMBAT_LIFEDRAIN = 32COMBAT_MANADRAIN = 64COMBAT_HEALING = 128COMBAT_DROWNDAMAGE = 256COMBAT_ICEDAMAGE = 512COMBAT_HOLYDAMAGE = 1024COMBAT_DEATHDAMAGE = 2048 No login.lua: Em creaturescripts.xml, adicione a tag: <event type="statschange" name="AbsorbElement" event="script" value="elementResistence.lua"/>
  10. Tinha colocado uma linha a mais: function onTimer()if #getPlayersInArea(torneio.area) > 1 thenreturn trueendfor _, pid in ipairs(getPlayersInArea(torneio.waitArea)) dorand = math.random(-2, 2)doTeleportThing(pid, {x = torneio.tournamentFight.x + rand, y = torneio.tournamentFight.y + rand, z = torneio.tournamentFight.z})enddoBroadcastMessage("O torneio de johto 150+ começou!")return trueend
  11. function onTimer()if #getPlayersInArea(torneio.area) > 1 thenreturn trueendfor _, pid in ipairs(getPlayersInArea(torneio.waitArea)) domath.randomseed(os.time())rand = math.random(-2, 2)doTeleportThing(pid, {x = torneio.tournamentFight.x + rand, y = torneio.tournamentFight.y + rand, z = torneio.tournamentFight.z})enddoBroadcastMessage("O torneio de johto 150+ começou!")return trueend
  12. Mas que porcaria, tinha colocado um "s" a mais em movestable.
  13. Em talkactions/scripts: taskStor.lua Em talkactions.xml, adicione a tag: <talkaction words="/check" event="script" value="taskStor.lua"/>
  14. Configure as frases, o item, o preço como quiser: vendeItem.lua
  15. @Koring4 É só clicar ali na seta verde pra cima
  16. Substitua essa linha: doCreatureAddMana(cid, t.mp) por essa: doPlayerAddMana(cid, t.mp)
  17. @Koring4 Qual item que você tá usando? Achei que fosse algo como um potion mesmo que você teria que usar no player. Se não for, apague essa parte: if(not isPlayer(itemEx.uid)) then return false end
  18. Coloquei para curar o life e a mana, como tinha no seu script, mas não testei. Em actions/scripts: potionHpMp.lua Em actions.xml: <action itemid="ID_DO_ITEM" script="potionHpMp.lua" />
  19. Resolvi colocar o sistema de critical hit aqui à disposição de todos. Percebi que o fórum não tinha nenhum atualizado ou sem erros, então pode ser útil para outras pessoas. A ideia foi do @fefuxd e foi testado no tfs 0.4. Lembrando que funciona somente para critical hits em players. Funcionamento: Basicamente, o sistema dará chances diferentes para cada vocação para que aconteça o Critical Hit. Em creaturescripts/scripts: CriticalVocs.lua No login.lua: No creaturescripts.xml, adicione a tag: <event type="statschange" name="CriticalHit" event="script" value="CriticalVocs.lua"/> Lembrando que geralmente: (se é quem alguém não sabe) [1] - Sorcerer ; [5] - Master Sorcerer [2] - Druid; [6] - Elder Druid [3] - Paladin; [7] - Royal Paladin [4] - Knight; [8] - Elite Knight Espero ter ajudado.
  20. @fefuxd Vou ver essa questão de ter que colocar um valor tão alto pra notar a diferença. Tinha feito esse daí sem testar e às pressas, então tem alguns erros. Postei lá: Não tem erros. Dá uma conferida.
  • Quem Está Navegando   0 membros estão online

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