Tudo que Jamison Collins postou
-
Item que da promotion 3 por 30 dias
Sim. Agora use e veja se ele está desaparecendo.
-
(Resolvido)[Pedido] Script se alguem morrer em uma área ganhe um storage
Tente isso: local fromPos = {x = 1000, y = 1000, z = 7} local toPos = {x = 2000, y = 2000, z = 7} local storage, stor_amount = 1000, 1 function onPrepareDeath(cid, deathlist) if not isPlayer(cid) then return true end if isPlayer(cid) and isInArea(getPlayerPosition(cid), fromPos, toPos) then setPlayerStorageValue(cid, storage, stor_amount) end return true end Sabe configurar e adicionar no creature.xml/login.lua, não é?
-
(Resolvido)Account manager e escolher vocação ao clicar na estatua
Você tem que ver qual é o TownID no map editor que você queira que o player seja teleportado e mude no script onde está "TownID"
-
(Resolvido)[AJUDA] Receber todos os addons por Clique
Bem, tente isso: Crie um arquivo .lua na pasta script de Actions, com nome addons.lua e adicione isso: function onUse(cid, item, frompos, item2, topos) local level = 10 -- Level necessário para poder usar o item. if item.itemid == 9693 then if getPlayerLevel(cid) >= level then doPlayerAddAddons(cid, 3) -- 3 significa os dois addons. doSendMagicEffect(getThingPos(cid), 28) doPlayerSendCancel(cid, "You have received all addons.") doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "You don't have level enought.") end end return true end Abra o action.xml e adicione essa tag: <action itemid="9693" event="script" value="addons.lua"/>
-
(Resolvido)[AJUDA] Receber todos os addons por Clique
Qual versão do Tibia do seu servidor? Poste seu outfit.xml se possível.
-
Sean o' Donnell
mentira.
-
Item que da promotion 3 por 30 dias
Bem, vamos à primeira etapa: local daysvalue_ = 30 -- Dias local storage = 50 -- Storage usada function onUse(cid, item, frompos, item2, topos) ------- Não mexer -------- local daysvalue = daysvalue_ * 24 * 60 * 60 local player = Player(cid) local tile = Tile(player:getPosition()) local voc = {5, 6, 7, 8} if tile:hasFlag(TILESTATE_PROTECTIONZONE) == false then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"You can't transform your vocation in this area.") return false elseif player:getStorageValue(storage) - os.time() >= 0 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You must wait 30 days to use renew your vocation. Next available will be at: " .. os.date("%c", player:getStorageValue(storage)) .. " (month;day;year and time).") return false end if isInArray(voc, player:getVocation():getId()) == true then Item(item.uid):remove() time = os.time() + daysvalue player:setStorageValue(storage, time) player:setVocation(Vocation(player:getVocation():getId() + 4) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have received "..daysvalue_.." epic promotion days!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You are not a promoted vocation!") end return true end Crie uma tag XML com itemID desejado utilizando o script acima. Use-o item e veja se está funcionando. Importante que você teste com personagem novo. @vocation.xml Percebi um erro de inglês no seu vocation.xml; aqui: name="Archer" description="a archer" O correto é: name="Archer" description="an archer"
-
Item que da promotion 3 por 30 dias
E como você vai testar .-.? Quando fizer, faz na ordem... 9 > sorcerer 10 > druid 11 > paladin 12 > knight
-
Item que da promotion 3 por 30 dias
Posta seu vocation.xml.
- (Resolvido)Script de Passiva para Players
-
3/2 = ? (Divisão sem decimal).
Kita da vida, aplos Até concordo com o 3/2 = 1,5. mas o resto, você defecou no teclado. E estou falando sem decimal. Desculpa a grosseria amor, é pq eu criei um problema in my mind e me deixou nervoso
-
3/2 = ? (Divisão sem decimal).
Fiz a mesma pergunta para 4 pessoas, e adivinhem, 3 não souberam responder, e 1 respondeu errado. Gostaria de fazer esse teste com vocês.
- Mudanças e Melhorias no TK
-
Item que da promotion 3 por 30 dias
Desculpa te perguntar, mas você tem conhecimento suficiente para apenas colocar as scripts em seu devido lugar?
-
(Resolvido)como colocar uma magia pra healar por magic level?
Seria algo tipo isso: setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, mina, minb, maxa, maxb) minDamage = (Level + Magic Level * 4) * mina + minb maxDamage = (Level + Magic Level * 4) * maxa + maxb Eu não recomendo isso para você que queira fazer um formula mais exata, pois há indícios que essa formula que eu apresentei agora, ela vem se alterando nos TFSs. Você pode usar a SD assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) function onGetFormulaValues(cid, level, maglevel) min = -((level / 5) + (maglevel * 4.3) + 32) max = -((level / 5) + (maglevel * 7.4) + 48) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_CURSED) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 5, 1000, -250) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end A formula apresentada acima, foi um formula que eu fiz referente à formula do site Tibia Wikia.
-
(Resolvido)Account manager e escolher vocação ao clicar na estatua
Tente esse script: Cria um arquivo .lua na pasta action > script, chamado statue_vocation, e cole isso dentro: modaldialog = { title = "Statue of Destiny", message = "Choose your vocation.", buttons = { { id = 1, value = "Ok" }, { id = 2, value = "Cancel" }, }, buttonEnter = 1, buttonEscape = 2, choices = { { id = 1, value = "[Sorcerer]" }, { id = 2, value = "[Druid]" }, { id = 3, value = "[Paladin]" }, { id = 4, value = "[Knight]" } }, popup = false } local templeID = 1 function callback(cid, button, choice) if button == 1 or button == 29 or button == 0 then if (choice == 1) then doPlayerSetVocation(cid, 1) doTeleportThing(cid, getTownTemplePosition(templeID)) doSendMagicEffect(getTownTemplePosition(templeID), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Congratulation, now you are a sorcerer!") elseif (choice == 2) then doPlayerSetVocation(cid, 2) doTeleportThing(cid, getTownTemplePosition(templeID)) doSendMagicEffect(getTownTemplePosition(templeID), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Congratulation, now you are a druid!") elseif (choice == 3) then doPlayerSetVocation(cid, 3) doTeleportThing(cid, getTownTemplePosition(templeID)) doSendMagicEffect(getTownTemplePosition(templeID), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Congratulation, now you are a paladin!") elseif (choice == 4) then doPlayerSetVocation(cid, 4) doTeleportThing(cid, getTownTemplePosition(templeID)) doSendMagicEffect(getTownTemplePosition(templeID), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Congratulation, now you are a knight!") end end end function onUse(cid, item, fromPosition, itemEx, toPosition) addDialog(modaldialog, 2345, cid, callback); return true end Bem, esse script é para uma unica estatua. Adicione isso no action.xml: <action actionid="5505" event="script" value="statue_vocation.lua"/> ... Não se esqueça de configurar no script. local templeID = 1 Você vai por o número do Templo ID para onde o player será teleportado após escolher a vocação.
-
paguem
Sórry, maix naum eh u Matthew Koma, imtaum... eh lishio. Reporten aplos.
-
Magia que bate pela mana.
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) function onGetFormulaValues(cid, level, maglevel) local mana = getCreatureMana(cid) local porcento = 10 min = -((mana/100) * porcento) max = -((mana/100) * porcento) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Eu peguei o Flame Strike (exori flam) e fiz o que você pediu, testa e me fala.
-
[Ajuda] Mana Rune
Você pode tentar assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 1) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) function onCastSpell(cid, var) local level = getPlayerLevel(cid) local magicl = getPlayerMagLevel(cid) local min = ((level * 0.2) + (magicl * 20) + 50) local max = ((level * 0.2) + (magicl * 25) + 75) doCreatureAddMana(cid, math.random(min, max)) return doCombat(cid, combat, var) end Bem... você pode contruir a formula a partir disso: local min = ((level * 0.2) + (magicl * 20) + 50) local max = ((level * 0.2) + (magicl * 25) + 75)
-
(Resolvido)como colocar uma magia pra healar por magic level?
Só você fazer o seguinte: Nas spells que você gostaria de modificar, você apaga essa linha de COMBAT_FORMULA_LEVELMAGIC, ?, ?, ?, ?) E embaixo, você cola isso: function onGetFormulaValues(cid, level, maglevel) min = (maglevel * 100) max = (maglevel * 100) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") É só você alterar o valor acima representado como "100" para o valor desejado. Isso serve para todas as magias. Ficará assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onGetFormulaValues(cid, level, maglevel) min = ((level / 5) + (maglevel * 1.4) + 8) max = ((level / 5) + (maglevel * 1.8) + 11) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
Cultura musical
OLD, BUT, SO FUCKING GOOD ! ESSES CARAS SÃO FODAS!
-
(Resolvido)Script ADD extra attack a cada skill ganhado;
Tente esse: function onAdvance(cid, skill, oldlevel, newlevel) if(skill == SKILL__EXPERIENCE) then return true end local extra_attack_speed = (getPlayerSkillLevel(cid, SKILL_FIST) - 10) * 3 if skill == 0 then doPlayerSetExtraAttackSpeed(cid, extra_attack_speed) return true end return true end
-
(Resolvido)Script ADD extra attack a cada skill ganhado;
Tente isso: function onAdvance(cid, skill, oldlevel, newlevel) if(skill == SKILL__EXPERIENCE) then return true end local extra_attack_speed = getPlayerSkillLevel(cid, SKILL_FIST) * 3 if newLevel and skill == SKILL_FIST then doPlayerSetExtraAttackSpeed(cid, extra_attack_speed) end return true end
-
(Resolvido)Script ADD extra attack a cada skill ganhado;
Você já tem algum script base ai? Algo que você tentou.
-
Parabéns
Eu sou girl, mi comi.