Jump to content

Search the Community

Showing results for tags 'Scripting'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Tibia King
    • Rules
    • Portal
    • FeedBack
  • Open Tibia
    • Otserv
    • Tools
    • Codes
    • Clients
    • Maps
    • Websites
  • Management of Ot Servers
    • Otserv Discussions & Research
    • Support and Requests
    • Otserv Tutorials
  • Tibia and Bots
    • Tibia
    • Bots
  • Others
    • Announcements
    • Other Programming Languages
    • Graphics and Design
    • Playground (Off-topic)

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 4249 results

  1. 0.4 Boa tarde povo, eu gostaria de uma ajuda num script que eu tenho sobre NPC. Esse script faz o npc dar uma task pro player quando ele fala as palavras certas, e ele funciona 100%, porém, eu gostaria de algo a mais (e tentei fazer sozinho, mas não sirvo pra essas coisas) Eu gostaria que o Npc checasse se o player tivesse X storage, se ele tiver, o player poderá pegar a quest com o npc. Se o player não tiver X storage, o npc vai falar pra ele que ele não é confiável ou algo assim, aqui está a script do NPC (por favor, se for possivel, use ela como base): local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local quest = 11475 local reward = 70000 local markTable = { -- {markPos = Coordenadas da marcação, markType = Tipo de marcação, markDescription = Descrição da marcação} {markPos = {x = , y = , z = }, markType = MAPMARK_SWORD, markDescription = ""} } function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local func_addMark = doPlayerAddMapMark if(not func_addMark) then func_addMark = doAddMapMark end if(msgcontains(msg, "location")) then for mark, x in pairs(markTable) do func_addMark(cid, x.markPos, x.markType, x.markDescription ~= nil and x.markDescription or "") end selfSay("", cid) end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false elseif msgcontains(msg, "") and talkState[talkUser] == 1 then npcHandler:say("", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "") and talkState[talkUser] == 2 then if(getPlayerStorageValue(cid,11476) < 4) then <!-- A storage que o npc reconhece, pra dar ou não a quest pro player --> npcHandler:say("", cid) setPlayerStorageValue(cid, quest, 2) talkState[talkUser] = 0 else npcHandler:say('', cid) <!-- Msg que ele vai falar pro player que não tiver a storage (SEM DAR A QUEST) --> end elseif msgcontains(msg, "") then local str = getPlayerStorageValue(cid, quest) if(str < 2) then npcHandler:say("", cid) talkState[talkUser] = 1 return true elseif(str == 2) then npcHandler:say("", cid) elseif(str == 3) then npcHandler:say("", cid) setPlayerStorageValue(cid, quest, 4) elseif(str == 4) then npcHandler:say("", cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Eu tentei fazer por conta própria, literalmente na tentativa e erro, botando aquela linha do storage em todo o lugar, mas sem sucesso. No lugar em que está agora, o npc ignora completamente essa parte e da a quest pro player mesmo se ele não tiver a storage.
  2. .Qual servidor ou website você utiliza como base? Serve 8.6/The OTX Server Version: (2.6) Qual o motivo deste tópico? Preciso de ajudar para resolver um erro que pareceu em minha distro sobre o script fraglook, o erro acontece quando simplesmente o player da look em si mesmo. +REP REP + REP Está surgindo algum erro? Se sim coloque-o aqui. este é o codigo: Você tem o código disponível? Se tiver publique-o aqui: local function getPlayerResets(cid) local resets = getPlayerStorageValue(cid, 500) return resets < 0 and 0 or resets end function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function onLogin(cid) registerCreatureEvent(cid, "fraglook") return true end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..']\n[Reborns: '..getPlayerResets(thing.uid)..']') return true elseif thing.uid == cid then doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..']\n[Reborns: '..getPlayerResets(cid)..']') local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. +REP REP + REP +REP REP + REP +REP REP + REP PARA QUEM AJUDAR!
  3. .Qual servidor ou website você utiliza como base? otserv global 12x TFS 1.3 Qual o motivo deste tópico? To com esse problema nesse script. A ideia é qnd o player morrer, ele vai ser teleportado pro templo com vida e mana cheia e nao vai perder lvl nem bless. Oq ta acontecendo é q o player ta sendo teleportado pro templo qnd morre, ta enchendo a vida, mas a mana nao ta enchendo. E fica dando esse error na distro : Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isPlayer(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true) doCreatureAddMana(cid, getCreatureMaxMana(cid) return false end return true end No creaturescripts.xml ficou assim : <event type="preparedeath" name="DeadTP" script="tp_morte.lua"/> e adicionei no loginevents.lua tb "DeadTP",
  4. ***Ola estou com um pequeno problema na instalaçao do [EDO Tensei] esta tudo certo mas na hora de invocar o "EDO" com o pergaminho da erro, ja agradeço se alguem puder ajudar s2 O erro é esse *** ** O Script** ```local voc = {716, 717, 718, 719, 720, 721, 722, 723, 724, 725} -- ID das vocações que poderão usar o Pergaminho. local corpse = {3058} local id = 26683 -- Id do edo pergaminho local edo = { ["[EDO TENSEI] Anbu"] = {hp = 50000, maxhp = 50000, corpse = 3058, chance = 100}, -- Nome do Edo, HP do Edo quando summoned, max hp do edo , corpo do edo, chance de falhar. } function onUse(cid, item, frompos, item2, topos) if(not(isInArray(voc, getPlayerVocation(cid)))) then return doPlayerSendTextMessage(cid, 25, "Voce nao tem a vocacao nescessaria") end if(not(isInArray(corpse, item2.itemid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "voce precisa usar o pergaminho em um corpse") doSendMagicEffect(pos, CONST_ME_POFF) return true end local perga = doPlayerAddItem(cid, id, 1) for edo_tensei, v in pairs(edo) do if item2.itemid == v.corpse then if math.random(0,100) <= v.chance then doSendMagicEffect(topos, CONST_ME_POFF) doPlayerSendTextMessage(cid, 27, "".. edo_tensei .. " foi selado nesse pergaminho.") doRemoveItem(item.uid, 1) doRemoveItem(item2.uid, 1) doItemSetAttribute(perga, "namepet", edo_tensei) doItemSetAttribute(perga, "description", "Neste pergaminho foi selado um ".. edo_tensei ..".") doItemSetAttribute(perga, "lifepet", v.hp) doItemSetAttribute(perga, "maxlifepet", v.maxhp) else doPlayerSendTextMessage(cid, 27, "O pergaminho falhou") end end end return true end``` Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  5. Seria possível um sistema de boss que ao nascer o boss, nascesse 4 summons com ele e que o boss se tornasse mortal apenas após os 4 summons ser derrotados ? 8.60 tfs 0.4
  6. TFS 0.4 protocolo 8.6 Boa noite amigos to TK. Gostaria de uma ajuda para fazer uma parte desse script da quest, o que eu preciso é que seja feita uma verificação da storage 39000 value 7 para que o player não possa repetir a mesma ação. Desde já agradeço a todos.
  7. .Qual servidor ou website você utiliza como base? tfs 0.4 8.60 Qual o motivo deste tópico? Sistema de critical do lobo branco dando erro Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: local SKILL_ID = 3 -- id do skill... local multiplier = 1.5 local percentual = 0.3 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then local chance = (getPlayerSkillLevel(cid, SKILL_ID) * percentual) * 10 if math.random(1, 1000) <= chance then dano = math.ceil(value*(multiplier)) doTargetCombatHealth(attacker, cid, combat, -dano, -dano) doSendMagicEffect(getCreaturePosition(cid), 5) return false end end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  8. Alguém poderia disponibilizar a script de uma spell parecida com a mega evolução? ou seja, alterar o pokémon para outro, e manter-se na outra forma em X segundos. Essa spell não requer nenhum item ou coisa parecidade, seria algo do pokémon mesmo. Estarei aguardando.
  9. Estou migrando de TFS para OTX e apos corrigir varios erros e conseguir finalmente logar, varios dos meus NPCS começaram a dar esse seguinte erro: ainda da pra falar com o NPC normalmente e ele faz oque deveria fazer porem com erro. as libs dos NPCS estão atualizadas para as do OTX, data/libs estão com as libs do OTX Imagem com o NPCS in game Argus.xml Argus.lua Se alguem puder me ajudar agradeço muito!!!! --------------------------------------------------------------------------------------[RESOLVIDO]------------------------------------------------------------------------------------ O Erro era a fala inicial do NPC, ele falava "Hi" assim ele conversava com ele mesmo e entrava em loop, por isso o motivo do Call Stack Overflow. Para corrigir apenas substitui em Argus.xml
  10. Boa tarde! estou com um erro chato e nao to consewguindo solucionar aqui vai o scritps e a msg do error, por favor me ajudem! Você tem o código disponível? Se tiver publique-o aqui: function onKill(creature, target, item) if not creature or not creature:isPlayer() then return true end if not target or not target:isMonster() then return true end local cName = target:getName():lower() if(isInArray({'cult enforcer', 'cult believer', 'cult scholar'}, cName)) then local posCorpo = target:getPosition() local rand = math.random(1,2) if rand == 1 then Game.createItem(26140, 1, posCorpo):setActionId(5580) addEvent(function() local portal1 = Tile(posCorpo):getItemById(26140) portal1:remove(1) end, (1*60*1000), 26140, 1, posCorpo) end if rand == 2 then Game.createItem(26138, 1, posCorpo):setActionId(5580) addEvent(function() local portal2 = Tile(posCorpo):getItemById(26138) portal2:remove(1) end, (1*60*1000), 26138, 1, posCorpo) end end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  11. Estou disponibilizando um pouco do meu conhecimento para ajudar um pouco a comunidade ! Prestem atenção nas seguintes regras: 1 - Um pedido por vez 2 - Cada usuário terá direito à dois pedidos (Porém deve ser feito cada um por vez) 3 - Não tenho disponibilidade em fazer scripts extensos, então, economize meu tempo... 4 - Somente atendo à TFS 1.3 ou OTX 3 5 - Sem spam no post, ou cobrança contínua... Levando a desconsideração do pedido... Serviço Temporário Serviços em andamento: 1 - Dungeon System 2 - Fly System ** O serviço será feito em ordem de pedido...
  12. Queria saber se alguem conseguiria solucionar o seguinte erro que aparece no meu console, ao matar os cults de carlin. Ps: A quest está funcionando normalmente, porém as vezes mostra esse erro. Lua Script Error: [Main Interface] in a timer event called from: (Unknown scriptfile) ...ipts/scripts/quests/cults of tibia/vortexSpawnCarlin.lua:27: attempt to index local 'portal2' (a nil value) stack traceback: [C]: in function '__index' ...ipts/scripts/quests/cults of tibia/vortexSpawnCarlin.lua:27: in function <...ipts/scripts/quests/cults of tibia/vortexSpawnCarlin.lua:25> vortexSpawnCarlin.lua:
  13. Fala galera! Eu estou editando essa spell que cria uma estatua e ataca. A animação do distance vai contra os targets, porém não da dano algum. Já testei varias coisas e ainda não consegui achar a solução. Você tem o código disponível? Se tiver publique-o aqui: local config = { statue = 2367, range = 5, max_dmg = -150, min_dmg = -50, hit_delay = 1000, statue_time = 10*1000, cd = 20, stg = 5570 } local max_hits = config.statue_time/config.hit_delay local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_DAMAGE, 0, config.min_dmg, 0, config.max_dmg) local condition = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 1000) function removeItem(pos) doRemoveItem(getTileItemById(pos, config.statue).uid) end function attackSpecs(cid, pos, var, hits) n = hits or 0 if n >= max_hits then return false end local spec = getSpectators(pos, config.range, config.range) i = spec[math.random(1, #spec)] if #spec <= 1 then return false end while(i == cid) do i = spec[math.random(1, #spec)] end if isCreature(i) then var.pos = getCreaturePosition(i) doSendDistanceShoot(pos, var.pos, CONST_ANI_SUDDENDEATH) doCombat(cid, combat, var) end addEvent(attackSpecs, config.hit_delay, cid, pos, var, n+1) end function itemInteraction(cid, pos, var) attackSpecs(cid, pos, var) addEvent(removeItem, config.statue_time, pos) end function onCastSpell(cid, var) if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, config.stg) - os.time() <= 0 then doAddCondition(cid, condition) setPlayerStorageValue(cid, config.stg, os.time() + config.cd) local pos = Position(getCreaturePosition(cid).x+1, getCreaturePosition(cid).y, getCreaturePosition(cid).z) doCreateItem(config.statue, 1, pos) itemInteraction(cid, pos, var) else doPlayerSendCancel(cid, "You're exhausted.") end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  14. Boa noite, eu estou procurando uma Talkaction que quando o player usar !pz mostra-se o Tempo que ele tem de PZ ainda, quanto tempo em segundos vai demora pra sair o PK. Ja procurei porem nao achei em lugar nenhum
  15. .Qual servidor ou website você utiliza como base? TFS 1.3 Boa tarde, Gostaria de pedir um script que o player entra num teleport e ele é teleportado para um lugar pré-definido de forma aleatória e baseado no level do player. TFS 1.3 Exemplo: Player lvl 1, entrou no tp ai aleatoriamente pode ser teleportado para uma das posições abaixo: x=2718, y=2548 z=7 x=2578, y=2868 z=7 x=2238, y=2548 z=7 x=2548, y=2238 z=7 x=2768, y=2128 z=7 Player lvl 20, entra no mesmo tp que o lvl 1 entrou e pode ser teleportado para uma das posições abaixo: x=2418, y=2348 z=7 x=2778, y=8368 z=7 x=2838, y=1248 z=7 x=2348, y=3538 z=7 x=2968, y=3128 z=7
  16. Relou, alguém pode da um help aqui pfv? Tô achando que é alguma função que não tem no servidor, mas gostaria de saber de alguém com mais experiência. 011-string.lua ARMAS.LUA Gun.lua Estou usando essa versão do TFS:
  17. Ola pessoal. Esta acontecendo um bug muito sinistro nas minhas spells. Bom eu editei um script que faz uma estatua e ataca. Eu fiz com que crie um totem e depois ele de uma cura em area, e fiz com o mesmo modelo outra spell que faz um ataque em area. Isoladas elas funcionam, mas quando eu adiciono as 2 juntas as 2 ficam iguais é muito absurdo. Seguinte eu faço toda a spell de cura, uso ela in game, faz a estatua especifica de cura, e faz a magia de cura. Ai quando eu faço a spell de dano, ela cria a estuatua de dano, mas ela faz o mesmo efeito de cura da primeira spell. Sendo que no script não tem absolutamente nada de efeito de magia azul, nem efeito de cura, e só faz 1 wave de dano, o de cura faz 3. Ele copia exatamente a primeira spell. Ai se eu deleto a spell de cura, a de dano funciona automaticamente como tem que funcionar... Alguem porfavor tem alguma ideia do que seja isso? Você tem o código disponível? Se tiver publique-o aqui: <instant name="Curse Totem" words="Curse Totem" lvl="40" mana="200" selftarget="0" agressive="1" exhaustion="1000" needlearn="0" event="script" value="cursetotem.lua"> <vocation id="6"/> </instant> <instant name="Life Totem" words="Life Totem" lvl="40" mana="400" agressive="0" exhaustion="1000" needlearn="0" event="script" value="exzential/lifetotem.lua"> <vocation id="6"/> </instant> SPELL 1 local config = { statue = 3804, range = 5, max_dmg = -1500, min_dmg = -500, hit_delay = 1000, statue_time = 10*1000, cd = 20, stg = 5570 } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BLUEMAGIC) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -1, -12, 4, 4, 5, 9) arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function removeItem(pos) doRemoveItem(getTileItemById(pos, config.statue).uid) end function itemInteraction(cid, pos, var) addEvent(removeItem, config.statue_time, pos) addEvent(doSendAnimatedText, 300, pos, '3...', 215) addEvent(doSendAnimatedText, 900, pos, '2...', 215) addEvent(doSendAnimatedText, 1500, pos, '1...', 215) addEvent(doAreaCombatHealth, 2100, cid, COMBAT_HEALING, pos, area, 800, 1500, 12) addEvent(doAreaCombatHealth, 3000, cid, COMBAT_HEALING, pos, area, 800, 1500, 12) addEvent(doAreaCombatHealth, 3900, cid, COMBAT_HEALING, pos, area, 800, 1500, 12) end function onCastSpell(cid, var) if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, config.stg) - os.time() <= 0 then setPlayerStorageValue(cid, config.stg, os.time() + config.cd) local pos = Position(getCreaturePosition(cid).x, getCreaturePosition(cid).y+1, getCreaturePosition(cid).z) doCreateItem(config.statue, 1, pos) itemInteraction(cid, pos, var) else doPlayerSendCancel(cid, "You're exhausted.") end return true end SPELL 2 local config = { statue = 3803, range = 5, max_dmg = -1500, min_dmg = -500, hit_delay = 1000, statue_time = 10*1000, cd = 20, stg = 5571 } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -1, -12, 4, 4, 5, 9) arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function removeItem(pos) doRemoveItem(getTileItemById(pos, config.statue).uid) end function itemInteraction(cid, pos, var) addEvent(removeItem, config.statue_time, pos) addEvent(doSendAnimatedText, 300, pos, '3...', 215) addEvent(doSendAnimatedText, 900, pos, '2...', 215) addEvent(doSendAnimatedText, 1500, pos, '1...', 215) addEvent(doAreaCombatHealth, 2100, cid, COMBAT_DEATHDAMAGE, pos, area, -800, -1500, 38) end function onCastSpell(cid, var) if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, config.stg) - os.time() <= 0 then setPlayerStorageValue(cid, config.stg, os.time() + config.cd) local pos = Position(getCreaturePosition(cid).x, getCreaturePosition(cid).y+1, getCreaturePosition(cid).z) doCreateItem(config.statue, 1, pos) itemInteraction(cid, pos, var) else doPlayerSendCancel(cid, "You're exhausted.") end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  18. Quer aprender a programar em Lua? Sugiro que você comece olhando esses tutoriais escritos por Urso Mock, Suricato Notorious e Raposa Skyen Hasus. Já leu todas as aulas anteriores e acha que você já está apto a criar seus próprios Scripts? Boa! Agora é hora de por suas habilidades em prática. Leia esses tutoriais: Outros Tutoriais: Avançado:
  19. Galera, tenho um sv 8.60 queria pedir ajuda de vcs em um script até interessante, que enche stamina enquanto treina... Eu estou procurando por ela a mtooo tempo para TFS 1.3 por favor se alguem tiver ow quiser criar por favor, seria de grande ajudar!!!!
  20. Boa tarde rapaziada, coloquei um script de ganhar stamina enquanto treina, e quando eu ativo o script, as potions param de healar, aparece o seguinte erro na distro: [C]: in function '__index' data/events/script/creature.lua:35: in function <data/events/script/creature.lua:34> [C]: in function 'doTargetCombatMana' data/actions/scripts/other/potions.lua:63: in function <data/actions/scripts/other/potions.lua:38> o script é esse aqui: local staminaBonus = { target = 'Training Monk', period = 120000, bonus = 1, events = {} } local function addStamina(name) local player = Player(name) if not player then staminaBonus.events[name] = nil else local target = player:getTarget() if not target or target:getName() ~= staminaBonus.target then staminaBonus.events[name] = nil else player:setStamina(player:getStamina() + staminaBonus.bonus) staminaBonus.events[name] = addEvent(addStamina, staminaBonus.period, name) end end end function Creature:onTargetCombat(target) if self:isPlayer() then if target and target:getName() == "Training Monk" then local name = self:getName() if not staminaBonus.events[name] then staminaBonus.events[name] = addEvent(addStamina, staminaBonus.period, name) end end end end Alguém pode me ajudar? Desde já, agradeço a atenção!!
  21. Fala pessoal. Eu peguei um script de magia que cria uma estatua que fica atacando e some depois de um tempo. Ai eu pensei em modificar ela e fazer com que surja um tambor que fica por tempo limitado. E quando se da use nesse tambor ele continua tocando a musica dele, aparece mensagem em cima dele configuravel, e tambem da uma magia de cura em area. Toda vez que toca ele cura em area. Detalhes: - Tinha que limitar pra nao poder da spam muito rapido na cura. - O tambor tem que aparecer na frente do personagem - Lembrando: Efeitos de use no tambor summonado: Sonzinho, Mensagem em laranja, e magia de cura em area. Segue o script base: Você tem o código disponível? Se tiver publique-o aqui: local config = { statue = 2367, range = 5, max_dmg = -150, min_dmg = -50, hit_delay = 1000, statue_time = 10*1000, cd = 20, stg = 5570 } local max_hits = config.statue_time/config.hit_delay local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_DAMAGE, 0, config.min_dmg, 0, config.max_dmg) local condition = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 1000) function removeItem(pos) doRemoveItem(getTileItemById(pos, config.statue).uid) end function attackSpecs(cid, pos, var, hits) n = hits or 0 if n >= max_hits then return false end local spec = getSpectators(pos, config.range, config.range) i = spec[math.random(1, #spec)] if #spec <= 1 then return false end while(i == cid) do i = spec[math.random(1, #spec)] end if isCreature(i) then var.pos = getCreaturePosition(i) doSendDistanceShoot(pos, var.pos, CONST_ANI_SUDDENDEATH) doCombat(cid, combat, var) end addEvent(attackSpecs, config.hit_delay, cid, pos, var, n+1) end function itemInteraction(cid, pos, var) attackSpecs(cid, pos, var) addEvent(removeItem, config.statue_time, pos) end function onCastSpell(cid, var) if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, config.stg) - os.time() <= 0 then doAddCondition(cid, condition) setPlayerStorageValue(cid, config.stg, os.time() + config.cd) local pos = Position(getCreaturePosition(cid).x+1, getCreaturePosition(cid).y, getCreaturePosition(cid).z) doCreateItem(config.statue, 1, pos) itemInteraction(cid, pos, var) else doPlayerSendCancel(cid, "You're exhausted.") end return true end Estou quase conseguindo o Script do tambor. Ele só esta curando o proprio player. Como faz para curar em área? function onUse(cid, item, fromPosition, itemEx, toPosition) local area = { {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0} } doSendMagicEffect(fromPosition, CONST_ME_SOUND_BLUE) doAreaCombatHealth(fromPosition, COMBAT_HEALING, getThingPos(cid), area, 5, 20, CONST_ME_MAGIC_BLUE) doCreatureAddMana(cid, 5) return TRUE end
  22. Fala galera, quero adicionar uma nova runa no meu servidor que dê um double heal, porém queria que essa runa pudesse usada apenas em si mesmo, sem os players poderem usar em outros players e desbalancear o pvp. Tentei modificar a runa tirando o use with, mas não funcionou. Utilizo tfs 1.2
  23. Boa tarde galera, estou fazendo uma quest que contém 6 alavancas espalhadas por um lugar e preciso de um script que cada alavanca tire uma pedra de um caminho, porém ela volte depois de 30 minutos, alguém consegue me ajudar?Estou na versão 8.60 TFS 1.3. Agradeço desde já!
  24. boa tarde pessoal eu gostaria muito da ajuda de vocês na construção desse script eu quero praticamente uma alteração no script da alavanca que remove a pedra do caminho, vou ate deixar esse script no final para que possam usar de base. oque + muda desse que eu quero para o da alavanca é que a alavanca remove a pedra, já eu estou querendo colocar a pedra, porem sem clicar diretamente na alavanca, mas sim usando um item nela e também tendo um custo pra isso com a pedra sempre sendo gerada no andar de cima sem decay, ou seja a pedra vai permanecer la ate que o servidor seja reiniciado 1º o player usa o item X no item Y se o item Y tem uma action ID (editável) registrada o scripit pula pra 2º 2º o script vai verificar se o player tem uma quantidade (editável) de 3 itens (também editável), se o player tiver os itens eles serão removidos do player (isso é o preço ) pula pro 3º 3º ira criar um Item (editavel) encima do item Y e também sera criado um outro item (editavel) na posição atual do item Y com XYZ +1 ou seja se o item Y estiver na posição X=1000, Y=1000, Z=7 o outo item sera criado na posição posição X=1001, Y=1001, Z=8 se o item Y estiver na posição X=3333, Y=3333, Z=8 outo item sera criado na posição posição X=3334, Y=3334, Z=9 e assim por diante vou deixar o script da alavanca que remove a pedra
  25. .Qual servidor ou website você utiliza como base? tfs 0.4 6.80 Gostaria de adicionar esse script no meu servidor mas preciso fazer algumas alterações, Remover esse sistema de gender e preciso que ele verifique a vocação 4/8 e dê x outfit.

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

Tibia King Recomenda

DokeHost - Soluções em Hospedagem

VPS Windows
VPS Linux
Servidor VPS
×
×
  • Create New...