Jump to content

Leoxtibia

Visconde
  • Posts

    489
  • Joined

  • Last visited

  • Days Won

    15

Leoxtibia last won the day on July 26 2022

Leoxtibia had the most liked content!

8 Followers

About Leoxtibia

Perfil

  • Gênero
    Masculino

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Scripter

Recent Profile Visitors

3306 profile views

Leoxtibia's Achievements

  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.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...