Jump to content
Close

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

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia and Bots
    • Discussion
  • Others
    • Playground (Off-topic)
    • Other Games
    • Advertising
    • Graphics and Design
    • Development and Programming
  • League of Legends's Geral
  • League of Legends's Suporte
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Academia de Mapping's Quadro da Clopin
  • Academia de Mapping's Dev Area
  • Academia de Mapping's Quadro do Nolis
  • Academia de Mapping's Quadro do Namikaze
  • Styller's Tópicos

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

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 3488 results

  1. O título já diz tudo, eu gostaria de um talkaction que sumonasse 1 boss em um local. Quando ele fosse sumonado aparecesse 2 mensagens! Uso o tsf 1.2 Obrigado desde já
  2. function onUse(cid, item, itemEx, toPosition, fromPosition) if getPlayerStorageValue(cid, 2639) == -1 then doSummonCreature("rat", getPlayerPosition(cid)) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Va, rato") setPlayerStorageValue(cid,2639,1) else Player.sendCancelMessage(cid, "voce ja tem um pokemon") end return true end alguem sabe como eu posso remover por função esse monstro que foi criado?
  3. tfs 1.3 script: -- Config # -- local areafrom = {x = 17023, y = 16853, z = 8} -- ENTRADA from local areato = {x = 17032, y = 16862, z = 8} -- ENTRADA to local pos_exit = {x = 17035, y = 16858, z = 8} -- POS SAIDA local pos_entrance = {x = 17033, y = 16858, z = 8} -- POS ENTRADA local global_stor = 230050 local player_stor = 245319 local timetokick_free = {60, "min"} -- tempo local timetokick_vip = {90, "min"} -- tempo -- END -- local function convertTime(a) if(type(tonumber(a)) == "number" and a > 0) then if (a <= 3599) then local minute = math.floor(a/60) local second = a - (60 * minute) if(second == 0) then return ((minute)..((minute > 1) and " minutos" or " minuto")) else return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo")) end else local hour = math.floor(a/3600) local minute = math.floor((a - (hour * 3600))/60) local second = (a - (3600 * hour) - (minute * 60)) if (minute == 0 and second > 0) then return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo")) elseif (second == 0 and minute > 0) then return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto")) elseif (second == 0 and minute == 0) then return (hour..((hour > 1) and " horas" or " hora")) end return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo")) end end end local function doRemoveMonstersInArea(from, to) for x = from.x, to.x do for y = from.y, to.y do local pos = {x=x, y=y, z = from.z} local m = getTopCreature(pos).uid if m > 0 and isMonster(m) then doRemoveCreature(m) end end end end local function getPlayersInArea(fromPos, toPos) local cave_exc_players = {} for _, pid in ipairs(Game.getPlayers()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(cave_exc_players, pid) end end return cave_exc_players end local function kickPlayerFromArea(cid, p) for _, pid in ipairs(Game.getPlayers()) do if isPlayer(pid) and isInRange(getPlayerPosition(pid), p[1], p[2]) then doTeleportThing(pid, p[3]) doSendMagicEffect(p[3], CONST_ME_TELEPORT) doCreatureSay(pid, 'You were kicked out of the room.', TALKTYPE_ORANGE_1) end end end function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end function onUse(cid, item, frompos, item2, topos) local player = Player(cid) local check_player = getPlayersInArea(areafrom, areato); if getGlobalStorageValue(cid, global_stor) - os.time() <= 0 and player:getStorageValue(cid, player_stor) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "Infelizmente o servidor deu SaveServer ou caiu e você perdeu sua Cave Exclusiva. Lamentamos muito o ocorrido, aguarde ".. convertTime(player:getStorageValue(cid, player_stor) - os.time()) .." para acessar alguma Cave Exclusiva novamente.") elseif getGlobalStorageValue(cid, global_stor) - os.time() > 0 and player:getStorageValue(cid, player_stor) - os.time() <= 0 then if #check_player > 0 then doPlayerSendTextMessage(cid, 27, "Possui um jogador nesta Cave Exclusiva. Aguarde ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") else doPlayerSendTextMessage(cid, 27, "Esta Cave Exclusiva está ocupada, o jogador não se encontra nela no momento, mas pode voltar. Aguarde ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") end elseif getGlobalStorageValue(cid, global_stor) - os.time() > 0 and player:getStorageValue(cid, player_stor) - os.time() > 0 then if #check_player > 0 then doTeleportThing(cid, pos_exit) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, 27, "Você saiu da Cave Exclusiva. Você ainda possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") return true else doTeleportThing(cid, pos_entrance) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, 27, "Você entrou na Cave Exclusiva. Você ainda possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") return true end elseif getGlobalStorageValue(cid, global_stor) - os.time() <= 0 and player:getStorageValue(cid, player_stor) - os.time() <= 0 and getPlayerItemCount(cid, 26228) >= 1 then if player:getStorageValue(cid, 245343) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "Você já possui uma Cave Exclusiva. Só pode haver 1 Cave Exclusiva por personagem.") return true end if doPlayerRemoveItem(cid, 26228, 1) then if player:isVip(cid) then setGlobalStorageValue(cid, global_stor, os.time()+90*60) player:setStorageValue(cid, player_stor, os.time()+90*60) player:setStorageValue(cid, 245343, os.time()+90*60) addEvent(kickPlayerFromArea, mathtime(timetokick_vip) * 1000, cid, {areafrom, areato, pos_exit}) else setGlobalStorageValue(cid, global_stor, os.time()+60*60) player:setStorageValue(cid, player_stor, os.time()+60*60) player:setStorageValue(cid, 245343, os.time()+60*60) addEvent(kickPlayerFromArea, mathtime(timetokick_free) * 1000, cid, {areafrom, areato, pos_exit}) end doRemoveMonstersInArea(areafrom, areato) doTeleportThing(cid, pos_entrance) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, 27, "Você entrou na Cave Exclusiva. Você possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") end else doPlayerSendTextMessage(cid, 27, "Você não possui o item.") end return true end erro: Lua Script Error: [Action Interface] data/actions/scripts/cave_exc/cave_1.lua:onUse luaAddEvent(). Argument #3 is unsafe stack traceback: [C]: in function 'addEvent' data/actions/scripts/cave_exc/cave_1.lua:126: in function <data/actions/scripts/cave_exc/cave_1.lua:83> Lua Script Error: [Action Interface] data/actions/scripts/cave_exc/cave_1.lua:onUse data/actions/scripts/cave_exc/cave_1.lua:131: attempt to concatenate a nil value stack traceback: [C]: in function '__concat' data/actions/scripts/cave_exc/cave_1.lua:131: in function <data/actions/scripts/cave_exc/cave_1.lua:83>
  4. ao iniciar em ( lvl 8 ) um mago (druida ou sorc), a mana se esgotará até chegar a 0 sem poder regenerá-la. Isso acontece quando alguém vai para o LVL ou diretamente para os treinadores. se for para o lvl e o jogador subir do lvl tudo se torna normal e tudo é regenerado como deveria. Peço desculpas pelo meu português, se alguém puder me ajudar eu agradeceria, pois não consegui resolver o problema.
  5. TFS 0.4 Eae pessoal, esse script não está criando os monsters, alguém sabe me dizer por que e como arrumar ? o script é esse:
  6. alguem de bom 💕 converte esses script pra min? para tfs 1.3 grato... local m_1 = {x=17024, y=16855, z=8} local m_2 = {x=17031, y=16854, z=8} local m_3 = {x=17024, y=16861, z=8} local m_4 = {x=17030, y=16861, z=8} function onUse(cid, item, frompos, itemEx, topos) local ran_2 = math.random(1, 100) local ran_3 = math.random(1, 100) local ran_4 = math.random(1, 100) if(itemEx.itemid == 9825) then if getPlayerStorageValue(cid, 45315) <= 0 then -- QTD = 1 doCreateMonster("Cave Frost Dragon", m_1, false, true); elseif getPlayerStorageValue(cid, 45315) == 1 then -- QTD = 2 if (ran_2 <= 85) then doCreateMonster("Cave Frost Dragon", m_2, false, true); end doCreateMonster("Cave Frost Dragon", m_1, false, true); elseif getPlayerStorageValue(cid, 45315) == 2 then -- QTD = 3 if (ran_2 <= 85) then doCreateMonster("Cave Frost Dragon", m_2, false, true); end if (ran_3 <= 60) then doCreateMonster("Cave Frost Dragon", m_3, false, true); end doCreateMonster("Cave Frost Dragon", m_1, false, true); elseif getPlayerStorageValue(cid, 45315) == 3 then -- QTD = 4 if (ran_2 <= 85) then doCreateMonster("Cave Frost Dragon", m_2, false, true); end if (ran_3 <= 60) then doCreateMonster("Cave Frost Dragon", m_3, false, true); end if (ran_4 <= 50) then doCreateMonster("Cave Frost Dragon", m_4, false, true); end doCreateMonster("Cave Frost Dragon", m_1, false, true); end doTransformItem(item.uid, 9826) doDecayItem(item.uid) elseif(itemEx.itemid == 9826) then doPlayerSendCancel(cid, "Aguarde 15 segundos para usar novamente.") end return true end -- Config # -- local areafrom = {x = 695, y = 104, z = 8} -- ENTRADA from local areato = {x = 706, y = 115, z = 8} -- ENTRADA to local pos_exit = {x = 708, y = 110, z = 8} -- POS SAIDA local pos_entrance = {x = 706, y = 110, z = 8} -- POS ENTRADA local global_stor = 30058 local player_stor = 45327 local timetokick_free = {60, "min"} -- tempo local timetokick_vip = {90, "min"} -- tempo -- END -- local function convertTime(a) if(type(tonumber(a)) == "number" and a > 0) then if (a <= 3599) then local minute = math.floor(a/60) local second = a - (60 * minute) if(second == 0) then return ((minute)..((minute > 1) and " minutos" or " minuto")) else return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo")) end else local hour = math.floor(a/3600) local minute = math.floor((a - (hour * 3600))/60) local second = (a - (3600 * hour) - (minute * 60)) if (minute == 0 and second > 0) then return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo")) elseif (second == 0 and minute > 0) then return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto")) elseif (second == 0 and minute == 0) then return (hour..((hour > 1) and " horas" or " hora")) end return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo")) end end end local function doRemoveMonstersInArea(from, to) for x = from.x, to.x do for y = from.y, to.y do local pos = {x=x, y=y, z = from.z} local m = getTopCreature(pos).uid if m > 0 and isMonster(m) then doRemoveCreature(m) end end end end local function getPlayersInArea(fromPos, toPos) local cave_exc_players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(cave_exc_players, pid) end end return cave_exc_players end local function kickPlayerFromArea(cid, p) for _, pid in ipairs(getPlayersOnline()) do if isPlayer(pid) and isInRange(getPlayerPosition(pid), p[1], p[2]) then doTeleportThing(pid, p[3]) doSendMagicEffect(p[3], CONST_ME_TELEPORT) doCreatureSay(pid, 'You were kicked out of the room.', TALKTYPE_ORANGE_1) end end end local function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end function onUse(cid, item, frompos, item2, topos) local check_player = getPlayersInArea(areafrom, areato); if getGlobalStorageValue(cid, global_stor) - os.time() <= 0 and getPlayerStorageValue(cid, player_stor) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "Infelizmente o servidor deu SaveServer ou caiu e você perdeu sua Cave Exclusiva. Lamentamos muito o ocorrido, aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) .." para acessar alguma Cave Exclusiva novamente.") elseif getGlobalStorageValue(cid, global_stor) - os.time() > 0 and getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then if #check_player > 0 then doPlayerSendTextMessage(cid, 27, "Possui um jogador nesta Cave Exclusiva. Aguarde ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") else doPlayerSendTextMessage(cid, 27, "Esta Cave Exclusiva está ocupada, o jogador não se encontra nela no momento, mas pode voltar. Aguarde ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") end elseif getGlobalStorageValue(cid, global_stor) - os.time() > 0 and getPlayerStorageValue(cid, player_stor) - os.time() > 0 then if #check_player > 0 then doTeleportThing(cid, pos_exit) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, 27, "Você saiu da Cave Exclusiva. Você ainda possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") return true else doTeleportThing(cid, pos_entrance) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, 27, "Você entrou na Cave Exclusiva. Você ainda possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") return true end elseif getGlobalStorageValue(cid, global_stor) - os.time() <= 0 and getPlayerStorageValue(cid, player_stor) - os.time() <= 0 and getPlayerItemCount(cid, 12707) >= 1 then if getPlayerStorageValue(cid, 45343) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "Você já possui uma Cave Exclusiva. Só pode haver 1 Cave Exclusiva por personagem.") return true end if doPlayerRemoveItem(cid, 12707, 1) then if isPremium(cid) then setGlobalStorageValue(cid, global_stor, os.time()+90*60) setPlayerStorageValue(cid, player_stor, os.time()+90*60) setPlayerStorageValue(cid, 45343, os.time()+90*60) addEvent(kickPlayerFromArea, mathtime(timetokick_vip) * 1000, cid, {areafrom, areato, pos_exit}) else setGlobalStorageValue(cid, global_stor, os.time()+60*60) setPlayerStorageValue(cid, player_stor, os.time()+60*60) setPlayerStorageValue(cid, 45343, os.time()+60*60) addEvent(kickPlayerFromArea, mathtime(timetokick_free) * 1000, cid, {areafrom, areato, pos_exit}) end doRemoveMonstersInArea(areafrom, areato) doTeleportThing(cid, pos_entrance) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, 27, "Você entrou na Cave Exclusiva. Você possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".") end else doPlayerSendTextMessage(cid, 27, "Você não possui o item.") end return true end
  7. Olá, estou com um pequeno problema nas bless, ao ter as 5 bless meu personagem perde todos os items, ao ter apenas 4 ou menos ele tem um drop normal de items. ja mexi no config lua e nao resolveu, esse é meu player.cpp eu uso tfs 0.4 tibia 8.6, tambem quando estou de aol e as 5 bless, nao perco o aol https://pastebin.com/UnEScvQf blessings = trueblessingOnlyPremium = trueblessingReductionBase = 50blessingReductionDecrement = 5eachBlessReduction = 10
  8. Galera venho aqui pedir a vocês uma ajuda em script. Que onde o player pudesse ultrapassar o limite de 156 de Magic Level, porém limitar ao mesmo tempo para não conseguir altos níveis, ex: configurável. uso 0.4 , obrigado deste já !
  9. Qual o motivo deste tópico? Está dando um erro no login.lua e quero resolver esse problema . Urgente!! Está surgindo algum erro? Se sim coloque-o aqui. Loading creaturescripts... [Error - LuaInterface::loadFile] cannot open data/creaturescripts/scripts/login.lua: No such file or directory [15/11/2019 3:55:51] [Error - Event::checkScript] Cannot load script (data/creaturescripts/scripts/login.lua) [15/11/2019 3:55:51] cannot open data/creaturescripts/scripts/login.lua: No such file or directory [15/11/2019 3:55:52] (done). Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  10. Ola Pessoal, estou querendo o seguinte, originalmente o npc Obi de rook responde a hora quando perguntado por time. gostaria de saber, assim como quando vc diz Hi ele diz Hello, Hello e o nome do personagem usando a tag |PLAYERNAME|, eu queria usar uma tag tb para o time - |TIME| - para nao precisar ficar criando uma script para cada npc que eu colocar isso, este |TIME| estaria no .xml do npc, alguem poderia me ajudar? fiz algumas tentativas mas sem sucesso.
  11. .Qual servidor ou website você utiliza como base? nostalrius baseado tfs 1.2, original cipsoft 7.72 Qual o motivo deste tópico? gostaria de saber como adicionar skill a um especifico item. exemplo> You see a morning star (Atk:25 Def:11)+ 2 skill axe. It weighs 54.00 oz. como posso fazer items dessa forma? ja mudei moviments.xml mas mesmo assim não vai... Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Moviments.xml <!-- Axes --> <movevent event="Equip" itemid="5090" slot="feet" function="onEquipItem" /> <movevent event="DeEquip" itemid="5090" slot="feet" function="onDeEquipItem" /> items.srv TypeID = 5090 Name = "Master Axe" Flags = {MultiUse,Take,Weapon} Attributes = {Weight=8800,WeaponType=AXE,AxeBoost=3,Attack=50,Defense=35} Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  12. alguem poderia me ajudar com um script apos monsters ( boss ) morrer aparecer um cronometro em cima do corpo do proximo respaw pfv agradeço desde já Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  13. Boa noite pessoal, Gostaria de um script em globalevents que fica saindo essa mensagem do chão avisando próximo evento e hora de abertura em milissegundos com essa cor laranja. Igual essa foto de exemplo abaixo, Eu tenho uma lib que mostra o próximo evento e a hora da abertura. Aqui abaixo o script da lib. Não entendo muito de script, acho que tem fazer um globalevents que chame essa função da lib... Ou mesmo fazendo essa função no próprio script criado. Alguém por favor consegue me ajudar a fazer isso? Agradeço desde já!
  14. Alguém poderia, porfavor, me ajudar a colocar os traning monk para dar 1 de stamina a cada 2 minutos pro tsf 1.2? Já existe em outros ots esse sistema.
  15. .Qual servidor ou website você utiliza como base? https://chaitosoft.com/tfs-1-01-21-3-gesior-para-tibia-11/ Qual o motivo deste tópico? Reparar Erros login.php que e compativel apenas com o cliente 11 para funciona no cliente 12 gestorr Erro ao tentar logar com o cliente na plataforma 12.00 e 12.20 no gesior Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  16. É possivel tirar essa parte de creature:stopLiveCast() dessa script? eu só quero que mande a msg quando passa pelo piso. function onStepIn(creature, item, position, fromPosition) if creature:isPlayer() then creature:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Attack the Monk and you will win 1 of stamina every 2 minutes training here.') creature:stopLiveCast() end return true end Aparece esse erro sempre que alguém pisa Lua Script Error: [MoveEvents Interface] data/movements/scripts/treinon.lua:onStepIn data/movements/scripts/treinon.lua:4: attempt to call method 'stopLiveCast' (a nil value) stack traceback: [C]: in function 'stopLiveCast' data/movements/scripts/treinon.lua:4: in function
  17. Gostaria de saber se existe uma função, que eu possa usar em lua, para saber se o player pode abrir o corpo. Basicamente algo que retorne "canopencorpse" true ou false. Alguém pode me ajudar?
  18. Bom dia, Alguem sabe como que adiciona +1 Valor na storage ou remove 1 ? Exemplo O player esta com a storage (33333, 5) Se ele usar um comando a Storage passa a ser (33333, 6) ou Se ele usar outro comando pra remover ele passa de (33333, 6) para (33333, 5) Pensei algo do tipo player:setStorageValue(33333, +1) ou player:setStorageValue(33333, -1) Porem não funcionou kk teste.lua:3: unexpected symbol near '+' e no -1 ele fica (33333, -1)
  19. .Qual servidor ou website você utiliza como base? Znote AAC Qual o motivo deste tópico? Opa, eai. Queria colocar um sistema no meu server que quando criar account, ganhe 5 dias de premmiun. Ja tentei de algumas formas que tem aqui no forum mas não deu certo. Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  20. Bom Pessoal, Estou a procura de um sistema de critical que Funcione Sem ter que usar item, Bom como voces sabe ja existe um sistema de critical porem o player tem que usar um item para que assim ele possa ter uma quantidade de critical, porem eu quero ele sem ter que usar nem um item, no caso esse sistema funciona da seguinte forma: Todos os players do game tem 20% chance de da critical seja ele de players ou monstros. e ao da o critical aparece uma mensagem escrita Critical. espero que alguem consiga me ajudar.. UP%. 
  21. Está dando esse erro em meu console, alguém saberia resolver? Erro: Keys.lua -------------THIS SCRIPT WAS MADED BY VANKK AT 15TH DECEMBER 2016 AT 4 P.M (GMT - 3) ------------- local config = { [22606] = { targetId = 22636, -- Target ID. bossName = 'Zavarash', -- boss name keyPlayerPosition = Position(33608, 32394, 11), -- Where the player should be. newPosition = Position(33567, 32422, 12), -- Position to teleport bossPosition = Position(33565, 32418, 12), -- Boss Position centerPosition = Position(33567, 32422, 12), -- Center Room exitPosition = Position(33611, 32377, 11), -- Exit Position rangeX = 20, -- Range in X rangeY = 20, -- Range in Y time = 15, -- time in minutes to remove the player }, [22605] = { targetId = 22634, -- Target ID. bossName = 'Horadron', -- boss name keyPlayerPosition = Position(33603, 32394, 11), -- Where the player should be. newPosition = Position(33607, 32421, 12), -- Position to teleport bossPosition = Position(33606, 32417, 12), -- Boss Position centerPosition = Position(33607, 32421, 12), -- Center Room exitPosition = Position(33611, 32377, 11), -- Exit Position rangeX = 20, rangeY = 20, time = 15, -- time in minutes to remove the player }, [22604] = { targetId = 22638, -- Target ID. bossName = 'Terofar', -- boss name keyPlayerPosition = Position(33614, 32394, 11), -- Where the player should be. newPosition = Position(33526, 32421, 12), -- Position to teleport bossPosition = Position(33524, 32418, 12), -- Boss Position centerPosition = Position(33526, 32421, 12), -- Center Room exitPosition = Position(33611, 32377, 11), -- Exit Position rangeX = 20, rangeY = 20, time = 15, -- time in minutes to remove the player } } local function roomIsOccupied(centerPosition, rangeX, rangeY) local spectators = Game.getSpectators(centerPosition, false, false, rangeX, rangeX, rangeY, rangeY) if #spectators ~= 0 then return true end return false end function clearBossRoom(playerId, centerPosition, rangeX, rangeY, exitPosition) local spectators, spectator = Game.getSpectators(centerPosition, false, false, rangeX, rangeX, rangeY, rangeY) for i = 1, #spectators do spectator = spectators[i] if spectator:isPlayer() and spectator.uid == playerId then spectator:teleportTo(exitPosition) exitPosition:sendMagicEffect(CONST_ME_TELEPORT) end if spectator:isMonster() then spectator:remove() end end end function onUse(player, item, fromPosition, target, toPosition, isHotkey) local tmpConfig = config[item.itemid] if not tmpConfig then return true end if target.itemid ~= tmpConfig.targetId then return true end local creature = Tile(tmpConfig.keyPlayerPosition):getTopCreature() if not creature or not creature:isPlayer() then return true end if roomIsOccupied(tmpConfig.centerPosition, tmpConfig.rangeX, tmpConfig.rangeY) then player:sendCancelMessage("There is someone in the room.") return true end local monster = Game.createMonster(tmpConfig.bossName, tmpConfig.bossPosition) if not monster then return true end -- Send message player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have entered an ancient demon prison cell!') player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have fifteen minutes to kill and loot this boss, else you will lose that chance.') -- Let's roll addEvent(clearBossRoom, 60 * tmpConfig.time * 1000, player:getId(), tmpConfig.centerPosition, tmpConfig.rangeX, tmpConfig.rangeY, tmpConfig.exitPosition) item:remove() player:teleportTo(tmpConfig.newPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  22. .Qual servidor ou website você utiliza como base? TFS 0.4 Qual o motivo deste tópico? Boa tarde preciso de um script que o player de use em uma parede e essa parede só reconhece se o player tiver storage, ao dar use na parede ele ganha outra storage. OBS; Se o player não tiver storage não acontece nada. O player só pode dar use uma vez na parede
  23. .Qual servidor ou website você utiliza como base? TFS 0.4 Qual o motivo deste tópico? ID da chave {2087} Preciso de um script que o player use a chave eu uma parede ID da parade {3047}
  24. Alguém saberia como solucionar esse erro? Console Script local berserk = Condition(CONDITION_ATTRIBUTES) berserk:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000) berserk:setParameter(CONDITION_PARAM_SKILL_MELEE, 5) berserk:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) berserk:setParameter(CONDITION_PARAM_BUFF_SPELL, true) local mastermind = Condition(CONDITION_ATTRIBUTES) mastermind:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000) mastermind:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 3) mastermind:setParameter(CONDITION_PARAM_BUFF_SPELL, true) local bullseye = Condition(CONDITION_ATTRIBUTES) bullseye:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000) bullseye:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 5) bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) bullseye:setParameter(CONDITION_PARAM_BUFF_SPELL, true) local antidote = Combat() antidote:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING) antidote:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) antidote:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON) antidote:setParameter(COMBAT_PARAM_AGGRESSIVE, false) antidote:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true) local exhaust = Condition(CONDITION_EXHAUST_HEAL) exhaust:setParameter(CONDITION_PARAM_TICKS, (configManager.getNumber(configKeys.EX_ACTIONS_DELAY_INTERVAL) - 1000)) -- 1000 - 100 due to exact condition timing. -100 doesn't hurt us, and players don't have reminding ~50ms exhaustion. local potions = { [6558] = {transform = {id = {7588, 7589}}, effect = CONST_ME_DRAWBLOOD}, [7439] = {condition = berserk, vocations = {4, 8}, effect = CONST_ME_MAGIC_RED, description = "Only knights may drink this potion.", text = "You feel stronger."}, [7440] = {condition = mastermind, vocations = {1, 2, 5, 6}, effect = CONST_ME_MAGIC_BLUE, description = "Only sorcerers and druids may drink this potion.", text = "You feel smarter."}, [7443] = {condition = bullseye, vocations = {3, 7}, effect = CONST_ME_MAGIC_GREEN, description = "Only paladins may drink this potion.", text = "You feel more accurate."}, [7588] = {health = {250, 350}, vocations = {3, 4, 7, 8}, level = 50, flask = 7634, description = "Only knights and paladins of level 50 or above may drink this fluid."}, [7589] = {mana = {115, 185}, vocations = {1, 2, 3, 5, 6, 7}, level = 50, flask = 7634, description = "Only sorcerers, druids and paladins of level 50 or above may drink this fluid."}, [7590] = {mana = {150, 250}, vocations = {1, 2, 5, 6}, level = 80, flask = 7635, description = "Only druids and sorcerers of level 80 or above may drink this fluid."}, [7591] = {health = {425, 575}, vocations = {4, 8}, level = 80, flask = 7635, description = "Only knights of level 80 or above may drink this fluid."}, [7618] = {health = {125, 175}, flask = 7636}, [7620] = {mana = {75, 125}, flask = 7636}, [8472] = {health = {250, 350}, mana = {100, 200}, vocations = {3, 7}, level = 80, flask = 7635, description = "Only paladins of level 80 or above may drink this fluid."}, [8473] = {health = {650, 850}, vocations = {4, 8}, level = 130, flask = 7635, description = "Only knights of level 130 or above may drink this fluid."}, [8474] = {combat = antidote, flask = 7636}, [8704] = {health = {60, 90}, flask = 7636}, [26029] = {mana = {425, 575}, vocations = {1, 2, 5, 6}, level = 130, flask = 7635, description = "Only druids and sorcerers of level 130 or above may drink this fluid."}, [26030] = {health = {420, 580}, mana = {250, 350}, vocations = {3, 7}, level = 130, flask = 7635, description = "Only paladins of level 130 or above may drink this fluid."}, [26031] = {health = {875, 1125}, vocations = {4, 8}, level = 200, flask = 7635, description = "Only knights of level 200 or above may drink this fluid."} } function onUse(player, item, fromPosition, target, toPosition, isHotkey) if type(target) == "userdata" and not target:isPlayer() then return false end local potion = potions[item:getId()] if potion.level and player:getLevel() < potion.level or potion.vocations and not table.contains(potion.vocations, player:getVocation():getBase():getId()) and not (player:getGroup():getId() >= 2) then player:say(potion.description, TALKTYPE_MONSTER_SAY) return true end --if (item:getId() >= 26029 and item:getId() <= 26031 and player:getStorageValue(warPrivate_storage) > 0) then --player:say("This potion can't be used in War Anti-Entrosa!", TALKTYPE_MONSTER_SAY) --return false --end if player:getCondition(CONDITION_EXHAUST_HEAL) then player:sendTextMessage(MESSAGE_STATUS_SMALL, Game.getReturnMessage(RETURNVALUE_YOUAREEXHAUSTED)) return true end if potion.health or potion.mana or potion.combat then if potion.health then doTargetCombatHealth(0, target, COMBAT_HEALING, potion.health[1], potion.health[2], CONST_ME_MAGIC_BLUE) end if potion.mana then doTargetCombatMana(0, target, potion.mana[1], potion.mana[2], CONST_ME_MAGIC_BLUE) end if potion.combat then potion.combat:execute(target, Variant(target:getId())) end -- Supply analyser apenas 11.x if player:getClient().os == CLIENTOS_NEW_WINDOWS then player:sendWaste(item:getId()) end player:addAchievementProgress('Potion Addict', 100000) target:say("Aaaah...", TALKTYPE_MONSTER_SAY) player:addCondition(exhaust) player:setStorageValue(38412, player:getStorageValue(38412)+1) end if potion.condition then player:addCondition(potion.condition) player:say(potion.text, TALKTYPE_MONSTER_SAY) player:getPosition():sendMagicEffect(potion.effect) end if potion.transform then item:transform(potion.transform.id[math.random(#potion.transform.id)]) item:getPosition():sendMagicEffect(potion.effect) return true end if not configManager.getBoolean(configKeys.REMOVE_POTION_CHARGES) then return true end item:remove(1) return true end
  25. Preciso de alguém pra me ajudar no codigo de capture the flag Criei um mini mapa de capture the flag e quero que o evento inicie uma vez e quando acabar inicie novamente sem parar, outra coisa que quero é que quando acabe o evento o player seje teletransportado para uma sala fechada não o templo. O código é este aqui https://www.xtibia.com/forum/topic/218996-ctf-capture-the-flag-20automático/ CONFIGURAÇÃO QUE FICA NA LIB --[[ Capture The Flag System Author: Maxwell Denisson(MaXwEllDeN) Version: 2.0 Contact: maxwellmda@gmail.com ]] CTF_LIB = { waitpos = {x = 1009, y = 1019, z =7}, -- Posição da sala de espera tppos = {x = 1012, y = 1022, z =7}, -- Onde o TP vai aparecer days = {1, 2, 3, 4, 5, 6, 7}, -- Dias que o evento vai abrir xp_percent = 5.0, -- Porcentagem de exp que o player vai ganhar timeclose = 1, -- Tempo, em minutos, para iniciar o CTF winp = 10, -- Quantos pontos uma equipe precisa marcar para vencer teams = { ["Vermelho"] = { temple = 1, -- TownID da equipe vermelha outfit = {lookHead = 0, lookBody = 132, lookLegs = 113, lookFeet = 94}, flag = { id = 1435, flag_pos = {x = 1011, y = 1027, z =7}, -- Posição onde a bandeira vermelha vai ser criada gnd_pos = {x = 1012, y = 1027, z =7}, -- Onde os players da equipe vermelha entregarão a bandeira. }, }, ["Verde"] = { temple = 2, -- TownID da equipe verde outfit = {lookHead = 0, lookBody = 121, lookLegs = 101, lookFeet = 101}, flag = { id = 1437, flag_pos = {x = 1022, y = 1027, z =7}, -- Posição onde a bandeira verde vai ser criada gnd_pos = {x = 1022, y = 1027, z =7}, -- Onde os players da equipe verde entregarão a bandeira. }, }, }, } local CTF = CTF_LIB function CTF.getMembers() local members = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, 16700) ~= -1 then table.insert(members, cid) end end return members end function CTF.getTeamMembers(team) local members = {} for _, cid in pairs(CTF.getMembers()) do if getPlayerStorageValue(cid, 16700) == team then table.insert(members, cid) end end return members end function CTF.removePlayer(uid) setPlayerStorageValue(uid, 16700, -1) doPlayerSetTown(uid, getPlayerStorageValue(uid, 16701)) doTeleportThing(uid, getTownTemplePosition(getPlayerStorageValue(uid, 16701))) setPlayerStorageValue(uid, 16701, -1) doRemoveCondition(uid, CONDITION_OUTFIT) doCreatureAddHealth(uid, getCreatureMaxHealth(uid)) doCreatureAddMana(uid, getCreatureMaxMana(uid)) return true end function CTF.addPlayer(uid) local team = CTF.getTeamLivre() local n_team = CTF.teams[team] setPlayerStorageValue(uid, 16700, team) setPlayerStorageValue(uid, 16701, getPlayerTown(uid)) doPlayerSetTown(uid, n_team.temple) doTeleportThing(uid, CTF.waitpos) doPlayerSendTextMessage(uid, 22, "Você agora faz parte do time ".. team .. ".") local outfit = getCreatureOutfit(uid) for i, v in pairs(n_team.outfit) do outfit[i] = v end registerCreatureEvent(uid, "CTFLogout") registerCreatureEvent(uid, "CTFAttack") registerCreatureEvent(uid, "CTFCombat") registerCreatureEvent(uid, "CTFDeath") doSetCreatureOutfit(uid, outfit, -1) return true end function CTF.getTeamLivre() local teams = {} for i, _ in pairs(CTF.teams) do table.insert(teams, {i, #CTF.getTeamMembers(i)}) end if (teams[1][2] < teams[2][2]) then return teams[1][1] elseif (teams[1][2] > teams[2][2]) then return teams[2][1] end return teams[math.random(2)][1] end function CTF.broadCast(msg, class) for _, uid in pairs(CTF.getMembers()) do doPlayerSendTextMessage(uid, class or 20, msg) end return true end function CTF.getFlagTeam(flag) for i, v in pairs(CTF.teams) do if v.flag.id == flag then return i end end return "" end local score_sto = {} local a = 0 for i, _ in pairs(CTF.teams) do score_sto[i] = 42314 + a a = a + 1 end function CTF.createFlags() for i, v in pairs(CTF.teams) do local flag = doCreateItem(v.flag.id, 1, v.flag.flag_pos) doItemSetAttribute(flag, "aid", 63218) v.flag.gnd_pos.stackpos = 0 local gnd = getThingFromPos(v.flag.gnd_pos).uid doItemSetAttribute(gnd, "aid", 63200) doItemSetAttribute(gnd, "team", i) setGlobalStorageValue(score_sto[i], 0) end return true end function CTF.removeFlags() for i, v in pairs(CTF.teams) do local flag = doFindItemInPos({v.flag.id}, v.flag.flag_pos)[1] if flag then doRemoveItem(flag.uid, 1) end v.flag.gnd_pos.stackpos = 0 local gnd = getThingFromPos(v.flag.gnd_pos).uid doItemSetAttribute(gnd, "aid", 0) end return true end function CTF.start() doRemoveItem(doFindItemInPos({1387}, CTF.tppos)[1].uid, 1) setGlobalStorageValue(16705, -1) if #CTF.getMembers() < 2 then doBroadcastMessage("O CTF não pôde ser iniciado por falta de players.") for _, cid in pairs(CTF.getMembers()) do CTF.removePlayer(cid) end return false end CTF.broadCast("O CTF foi iniciado. Bom jogo!") for _, uid in pairs(CTF.getMembers()) do doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid))) end CTF.createFlags() return true end function CTF.returnFlag(uid, status) local team = getPlayerStorageValue(uid, 16702) if status then local msg = "O player ".. getCreatureName(uid) .. ", estava com a bandeira do time ".. team .. " " if status == 1 then msg = msg .. "e foi eliminado. " elseif status == 2 then msg = "e foi removido do evento. " end msg = msg .. "Portanto a bandeira do time ".. team .. " foi devolvida." CTF.broadCast(msg) end if CTF.teams[team] then local flag = doCreateItem(CTF.teams[team].flag.id, 1, CTF.teams[team].flag.flag_pos) doItemSetAttribute(flag, "aid", 63218) setPlayerStorageValue(uid, 16702, -1) end return true end function CTF.addPoint(uid) local finish local msg = "Capture The Flag:" setGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)], getGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)]) + 1) for i, _ in pairs(CTF.teams) do msg = msg .. "\nTime ".. i .. ": ".. getGlobalStorageValue(score_sto[i]) if getGlobalStorageValue(score_sto[i]) >= CTF.winp then finish = i end end CTF.broadCast(getCreatureName(uid) .. " marcou um ponto para o time ".. getPlayerStorageValue(uid, 16700) .. ".", 22) CTF.broadCast(msg) if finish then CTF.close(finish) end return true end function CTF.close(win) for i, _ in pairs(CTF.teams) do setGlobalStorageValue(score_sto[i], 0) end if not win then doBroadcastMessage("O CTF acabou sem vencedores.") else CTF.broadCast("O time ".. win .. " marcou ".. CTF.winp .. " ponto(s) e venceu o evento.") end for _, cid in pairs(CTF.getMembers()) do if getPlayerStorageValue(cid, 16700) == win then local xp = math.ceil(getPlayerExperience(cid) * (CTF.xp_percent / 100), 215) doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou o evento e obteve ".. CTF.xp_percent .."% de sua experiência total(".. xp ..").") doSendAnimatedText(getThingPos(cid), xp, 215) doPlayerAddExperience(cid, xp) end if getPlayerStorageValue(cid, 16702) ~= -1 then CTF.returnFlag(cid) end CTF.removePlayer(cid) end CTF.removeFlags() return true end local function Alert(uid) if (isCreature(uid)) then if getPlayerStorageValue(uid, 16702) == -1 or getPlayerStorageValue(uid, 16700) == -1 then return false end doSendAnimatedText(getThingPos(uid), "Flag!", math.random(50, 200)) local bla = {18, 19, 21, 22, 23, 24} doSendMagicEffect(getThingPos(uid), bla[math.random(#bla)]) if (os.time() - getPlayerStorageValue(uid, 16703) >= 60) then CTF.returnFlag(uid) return setPlayerStorageValue(uid, 16703, -1) end addEvent(Alert, 500, uid) return true end return false end function CTF.stealFlag(uid, team) setPlayerStorageValue(uid, 16702, team) setPlayerStorageValue(uid, 16703, os.time()) CTF.broadCast(getCreatureName(uid) .. " roubou a bandeira do time ".. team .. "!") Alert(uid) return true end function doFindItemInPos(ids, pos) -- By Undead Slayer local results = {} for _ = 0, 255 do local findPos = {x = pos.x, y = pos.y, z = pos.z, stackpos = _} if isInArray(ids, getThingFromPos(findPos).itemid) then table.insert(results, getThingFromPos(findPos)) end end return results end

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!

×
×
  • Create New...