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

  1. .Qual servidor ou website você utiliza como base? Qual o motivo deste tópico? Está surgindo algum erro? Se sim coloque-o aqui. [1:31:47.854] [Error - LuaInterface::loadFile] cannot open data/globalevents/scr ipts/my_script.lua: No such file or directory [1:31:47.861] [Warning - Event::loadScript] Cannot load script (data/globalevent s/scripts/my_script.lua) [1:31:47.867] cannot open data/globalevents/scripts/my_script.lua: No such file or directory SE PUDEREM AJUDAR.... SCRIPT ABAIXO \/ 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. NO GLOBAL EVENTS USO ISSO <globalevent name="ZombieGlobalStartup" type="startup" event="script" value="zombie/onstartup.lua"/> <globalevent name="ZombieGlobalThink" interval="10000" event="script" value="zombie/onthink.lua"/> <globalevent name="ZombieOnTime" time="23:00:00" event="script" value="zombie/ontime.lua"/> E NOS SCRIPT DO GLOBAL EVENTS ONSTARTUP \/ function onStartup() resetaStorageZombieEvent() return true end ONTHINK \/ function onThink(interval, lastExecution, thinkInterval) local statusZombieEvent = getStatusZombieEvent() if(statusZombieEvent == 2) then local totalZombiesSummonar = getTotalZombiesSummonar()+1 setTotalZombiesSummonar(totalZombiesSummonar) for i=1,totalZombiesSummonar do summonaZombie() end end return true end ONTIME \/ function onTime() local statusZombieEvent = getStatusZombieEvent() if(statusZombieEvent < 1) then local estagio = 1 local totalParticipantes = ZB_TOTAL_PARTICIPANTES iniciarZombieEvent(estagio, totalParticipantes) print("["..os.date("%H:%M:%S:000", os.time()).."] > Zombie Event foi iniciado com sucesso.") else print("["..os.date("%H:%M:%S:000", os.time()).."] > Zombie Event nao foi iniciado pois ja esta ativo.") end return true end
  2. Quando um player morre no meu servidor, ele está recuperando toda a stamina. Alguém pode me ajudar com isso?
  3. Então, esse erro não ocorria e do nada apareceu, não vi nada que interfira no jogo, porem me incomoda esse erro na distro, toda vez que abro o servidor kkkk alguem sabe como resolver ? Erro: [5:49:30.512] [Error - GlobalEvent Interface] [5:49:30.513] data/globalevents/scripts/start.lua:onStartup [5:49:30.513] Description: [5:49:30.513] data/globalevents/scripts/start.lua:58: attempt to perform arithmetic on local 'members' (a table value) [5:49:30.514] stack traceback: [5:49:30.514] data/globalevents/scripts/start.lua:58: in function <data/globalevents/scripts/start.lua:8> Meu Start.lua
  4. Se alguem puder disponibiliza rum evento boss que funcione da seguinte maneira. O boss nasce em 1 em 1 hora. e ele tem tempo pra ficar la, no caso 20 min. Queria que funcionasse assim, com tempo. para nao ficar nascendo 1 em 1 e ficar varios boses. se alguem puder ajudar, agradeço desde de ja
  5. qual a tag que eu boto, pra mostrar o tempo restante de uma storage? exemplo: 08:46 [Fast Regen Boost]: You have 28 days, 13 hours, 51 minutes e 14 seconds. EDIT: resolvido, achei um topico do vodkart que funcionou quem quiser:
  6. recentemente joguei um servidor, onde o player falava no help e um bot(script) checa a palavra que ele tenha falado e responde: exemplo: 1. o player abre o help channel 2. o player faz uma pergunta "quando tempo o pk sai?" 3. o bot (que seria o script) checa a frase, e encontra a palavra PK 4. o bot responde com uma mensagem pre-definida pra palavra "PK" no help channel resumo: o bot checa a palavra que o player vai falar e responde de acordo com a palavra-chave que tenha na frase alguem sabe fazer isso pra tfs 0.4?
  7. Boa noite então, eu tava procurando esse script, e todos que eu testava dava algum erro, e achei esse script do jeito que eu queria.. porem está dando um erro no script quando eu piso no tile, ai não tá adicionando a stamina alguem pode me ajudar ? Uso Tfs 0.4 8.60 Erro [1:15:44.787] [Error - MoveEvents Interface] [1:15:44.789] data/movements/scripts/treinertile.lua:onStepIn [1:15:44.790] Description: [1:15:44.791] (luaAddEvent) Callback parameter should be a function. Script -- Script by LekoDS local configuration = { storage = 263696, -- storage loltime = 2 * 1000, -- tempo stamina = 60, -- minutos ganhos de Stamina } function onStepIn(cid, item, position, fromPosition) if (isPlayer(cid)) == false then elseif getPlayerStorageValue(cid, configuration.storage) >= 0 then doPlayerSendTextMessage(cid, 27, "You entered an area of regeneration of Stamina. In 10 seconds you regenerate 60 minutes of Stamina.") addEvent(doPlayerAddExp, configuration.time, cid, 10) addEvent(doSendMagicEffect, configuration.time, getThingPos(cid),21) return false elseif getPlayerStorageValue(cid, configuration.storage) == -1 then doPlayerSendTextMessage(cid, 27, "You entered an area of regeneration of Stamina. In 10 seconds you regenerate 60 minutes of Stamina.") setPlayerStorageValue(cid,configuration.storage,0) stam = addEvent(doPlayerAddStamina, configuration.time, cid, configuration.stamina) effect = addEvent(doSendMagicEffect, configuration.time, getThingPos(cid),12) return false end end function onStepOut(cid, item, position, fromPosition) doPlayerSendTextMessage(cid, 27, "You failed to regenerate stamina.") setPlayerStorageValue(cid,configuration.storage,-1) stopEvent(stam) stopEvent(effect) end
  8. Olá amigos, uso sistema bacana de !autoloot, porem fica as vezes aparecendo isso! No console, não me agrada isso... Gostaria de deixa limpo. Autooloot do talkations! function onSay(cid, words, param) if(not checkExhausted(cid, 666, 2)) then return true end if param == "" then local String = "" local Slot_Count = 1 for i = 1, #AutoLoot.Storages.Slots do if getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i]) ~= -1 then String = String.."{Auto-Loot} --- Slot "..Slot_Count..": "..getItemNameById(getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i])).."\n" else String = String.."{Auto-Loot} --- Slot "..Slot_Count..": Empty\n" end Slot_Count = Slot_Count + 1 end local Gold_Status = getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == 1 and "on" or "off" local Items_Status = getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == 1 and "on" or "off" doPlayerPopupFYI(cid," [+] Auto Loot Money [+]\n # Todo dinheiro é coletado automaticamente # \n # Loot vai para as BP até que tenha cap depois ele cai no chão # \n # Comandos são !autoloot add, (nome do item) # \n # !autoloot remove, ( nome do item) \n # !autoloot clear ( apaga a lista toda) \n # !autoloot power ( liga o sistema e desliga catar os loots) \n # !autoloot list (lista sua autoloot) \n # !autoloot desbug (remove eventual bug's que possa acontecer) \n # Todo dinheiro é enviado para o banco NPC Bankerman #\nSystem: "..(getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) <= 0 and "Disabled" or "Activated")..".\nBalance: ["..doNumberFormat(getPlayerBalance(cid)).."] gp's.") return true end local CommandParam = string.explode(param, ",") if getPlayerLevel(cid) >= AutoLoot.Min_Level then if CommandParam[1] == "power" then local get_Items = getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, AutoLoot.Storage_On_Items, getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..get_Items.." o auto loot.") elseif CommandParam[1] == "gold" then local get_Gold = getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, AutoLoot.Storage_On_Gold, getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..get_Gold.." a coleta de dinheiro.") doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Gold, 0) elseif CommandParam[1] == "goldinfo" then local Check_Gold_Info = getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == -1 and "O sistema de coleta de dinheiro está desligado" or "O sistema já coletou "..AutoLoot.getPlayerStorageZero(cid, AutoLoot.Storages.Count_Gold).." gold coins" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, Check_Gold_Info) elseif CommandParam[1] == "add" then if CommandParam[2] ~= nil and CommandParam[2] ~= "" and AutoLoot.ExistItemByName(CommandParam[2]) then local Item = getItemIdByName(CommandParam[2]) if isInArray({2160, 2148, 2152}, Item) then return doPlayerSendCancel(cid, "Você não pode adicionar moedas no autoloot. Para coletar dinheiro use !autoloot gold") end if getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) < (AutoLoot.Max_Slots - 1) then if AutoLoot.addToList(cid, CommandParam[2]) then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, CommandParam[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot list") else doPlayerSendCancel(cid, CommandParam[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Sua lista já tem ".. AutoLoot.Max_Slots .." itens! Você deve remover algum antes de adicionar outro.") end else doPlayerSendCancel(cid, "Este item não existe!") end elseif CommandParam[1] == "remove" then if CommandParam[2] ~= nil and CommandParam[2] ~= "" and AutoLoot.ExistItemByName(CommandParam[2]) then if AutoLoot.removeFromList(cid, CommandParam[2]) then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) - 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, CommandParam[2].." removido da sua lista do auto loot!") else doPlayerSendCancel(cid, "Este item não está na sua lista!") end else doPlayerSendCancel(cid, "Este item não existe!") end elseif CommandParam[1] == "clear" then if getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) > -1 then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Lista limpa!") for i = 1, #AutoLoot.Storages.Slots do doPlayerSetStorageValue(cid, AutoLoot.Storages.Slots[i], -1) end else doPlayerSendCancel(cid, "Sua lista ja esta limpa!") end elseif CommandParam[1] == "desbug" or CommandParam[1] == "desbugar" then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Desbugado!") for i = 1, #AutoLoot.Storages.Slots do doPlayerSetStorageValue(cid, AutoLoot.Storages.Slots[i], -1) end elseif CommandParam[1] == "list" then local String = "" local Slot_Count = 1 for i = 1, #AutoLoot.Storages.Slots do if getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i]) ~= -1 then String = String.."Slot "..Slot_Count..": "..getItemNameById(getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i])).."\n" else String = String.."Slot "..Slot_Count..": Empty\n" end Slot_Count = Slot_Count + 1 end doPlayerPopupFYI(cid, [[ ---------{Auto-Loot}--------- --O sistema auto loot está coletando: --]].. String ..[[ --]]) end else doPlayerSendCancel(cid, "Você não é level maior que "..AutoLoot.Min_Level.." para utilizar este comando.") end return true end Partezinha do creature scripts! function onLogin(cid) registerCreatureEvent(cid, "Auto_Loot_Login") registerCreatureEvent(cid, "Auto_Loot_Kill") return true end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == 1 and #AutoLoot.getPlayerList(cid) > 0 then addEvent(AutoLoot.Items, 500, cid, getCreaturePosition(target)) end if getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == 1 then addEvent(AutoLoot.Gold, 500, cid, getCreaturePosition(target)) end if getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == 1 or getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == 1 then addEvent(AutoLoot.Message, 500, cid) end end return true end
  9. [Error - TalkAction Interface] data/talkactions/scripts/bless.lua:onSay Description: data/lib/034-exhaustion.lua:17: attempt to compare number with string stack traceback: data/lib/034-exhaustion.lua:17: in function 'get' data/talkactions/lib/talkactions.lua:3: in function 'checkExhausted' data/talkactions/scripts/bless.lua:2: in function <data/talkactions/scripts/bless.lua:1> Funcionava normal mas do nada paro o que pode ser? Engraçado que apenas 1 player causa isso no servidor, consequência não derruba OT nem nada, porem o coitado não consegue mais fazer bless! A lembrando ele usa comando de Bless via elfbot. function onSay(cid, words, param) if(not checkExhausted(cid, 666, 2)) then return true end if (getPlayerBlessing(cid,1)) then return doPlayerSendTextMessage(cid,25,"Você já possui bless.") end local position = getCreaturePosition(cid) if getPlayerLevel(cid) <= 79 then if getPlayerMoney(cid) >= 50000 then if doPlayerRemoveMoney(cid, 50000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 50k!") end elseif getPlayerLevel(cid) >= 80 and getPlayerLevel(cid) <= 99 then if getPlayerMoney(cid) >= 65000 then if doPlayerRemoveMoney(cid, 65000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 65k!") end elseif getPlayerLevel(cid) >= 100 and getPlayerLevel(cid) <= 129 then if getPlayerMoney(cid) >= 80000 then if doPlayerRemoveMoney(cid, 80000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 80k!") end elseif getPlayerLevel(cid) >= 130 and getPlayerLevel(cid) <= 199 then if getPlayerMoney(cid) >= 100000 then if doPlayerRemoveMoney(cid, 100000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 100k!") end elseif getPlayerLevel(cid) >= 200 then if getPlayerMoney(cid) >= 150000 then if doPlayerRemoveMoney(cid, 150000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 150k!") end end return true end Script da Bless usado no talkations!
  10. Boa noite. Tenho o script abaixo onde ao derrotar determinado boss uma parede é removida e no lugar dela nasce uma porta com id 9181. Essa porta fica ali por 60 segundos e depois disso some dando lugar a parede que estava novamente. Ate ai tudo certo. O que eu gostaria de saber é como fazer para que essa porta seja criada com uma actionid de level para poder passar por ela. Pois da forma que ela e criada não e possivel. Tentei algumas coisas com doSetItemActionId mas não obtive exito. Se alguem puder me ajudar agradeço. function onDeath(cid, corpse, killer) local M ={ ["Lord Apocalypse"] = {Pos = {x=1845,y=756,z=8},id= 1544 ,id2= 9181 ,time = 60}, } local x = M[getCreatureName(cid)] function criar() local porta = getTileItemById(x.Pos, x.id2) local parede = getTileItemById(x.Pos, x.id) doRemoveItem(porta.uid, 1) doCreateItem(x.id, 1, x.Pos) end if x then local parede = getTileItemById(x.Pos, x.id) local porta = getTileItemById(x.Pos, x.id2) if parede then doRemoveItem(parede.uid, 1) doCreateItem(x.id2, 1, x.Pos) doCreatureSay(cid, "Depressa! A porta ira sumir em "..x.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(criar, x.time*1000) end end return TRUE end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  11. .Qual servidor ou website você utiliza como base? OTX 2 8.60 Boa tarde, quando um jogador utiliza essa spell de paralyze em outro jogador, o mesmo fica travado infinitamente sem conseguir fazer nada e eu também não consigo kickar o player, alguém consegue me ajudar? local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 5) setConditionParam(condition, CONDITION_PARAM_SPEED, -5000) function onCastSpell(cid, var) local target = getCreatureTarget(cid) local targetpos = getCreaturePosition(target) local efepos = {x=targetpos.x, y=targetpos.y, z=targetpos.z} local time = 5 -- tempo paralyzado if isPlayer(cid) and exhaustion.check(cid, 12000) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 12000) .. " segundos para usar novamente.") return FALSE end local function No_Move_Target() if isCreature(target) then doCreatureSetNoMove(target, 1) end return TRUE end exhaustion.set(cid, 12000, 8) doCreatureSetNoMove(target, 0) doAddCondition(target, condition) doSendMagicEffect(efepos, 430) addEvent(No_Move_Target, time*1000) return TRUE end @Vodkart
  12. Posso ter colocado na categoria errada, caso tenha acontecido, favor realocar pro local correto. Fala pessoal, então.. Nessa quarentena estou no tédio e resolvi fazer alguns scripts que vocês irão pedir... Já aviso que pode haver scripts que não conseguirei fazer e irei te avisar caso isso ocorra. Obs: tenho maior familiaridade com TFS 1.3, porém me arrisco no 0.x. Como pedir o seu script? - Lembrando que, o prazo de entrega das script varia de script para script. - Sempre que for postar foto, erro ou coisas do tipo, poste como SPOILER ou como CODE. - Não irei fazer pedidos complexos demais, não abusem. - Não faço script de tibia derivado. (Eu realmente não entendo nada dessa área) - Detalhe o seu pedido, quanto mais detalhe, melhor ficará seu código. - Caso eu tenha te ajudado, deixa um REP+ e caso queira fazer uma doação, o botão está na minha assinatura <3
  13. .Qual servidor ou website você utiliza como base? OTX Server 2 Boa tarde, gostaria de saber se é possível fazer uma talkaction que o player ao usar consiga ver quanto ele tem na bolsa de certo item, exemplo !checkstone, ai iria aparecer: você possui 500 stones. ID da stone: 6527 @Vodkart
  14. Olá amigos e amigas. Estou com problema um player chego ao Skill 100 de Mining e logo após o mesmo não conseguiu mais fazer mineração no servidor! Os erros são! Logo vendo a coisa chegamos a: function getMiningInfo(cid) for i = 1, #config_mining.levels do min = config_mining.levels[i].level[1]; max = config_mining.levels[i].level[2] if (getMiningLevel(cid) >= min and getMiningLevel(cid) <= max) then return {quantity = {min = config_mining.levels[i].quant[1], max = config_mining.levels[i].quant[2]}, chance = config_mining.levels[i].percent} end end end Sendo que lvl MAX era para ser 100. Aqui posto o Script como tudo da Lib: STORAGE_SKILL_LEVEL_MINING = 10003 STORAGE_SKILL_TRY_MINING = 10004 config_mining = { levels = { {level = {0,19}, quant = {1,1}, percent = 5}, {level = {10,19}, quant = {1,1}, percent = 6}, {level = {20,59}, quant = {1,1}, percent = 7}, {level = {60,89}, quant = {1,2}, percent = 8}, {level = {90,99}, quant = {1,2}, percent = 9}, {level = {100}, quant = {1,3}, percent = 10} }, rocks = {12679}, -- Id das rochas que podem ser quebradas stones = {}, -- Modelo = {rock_id, rock_id} default_stone = 12681, -- pedra padrão bonus_chance = 5, -- Chance (em porcentagem) de se conseguir um bonus de exp bonus_exp = 2 -- Bonus extra (default: 1) } function getMiningLevel(cid) return getPlayerStorageValue(cid, STORAGE_SKILL_LEVEL_MINING) end function setPlayerMiningLevel(cid, n) setPlayerStorageValue(cid, STORAGE_SKILL_LEVEL_MINING, n) end function addMiningLevel(cid, n) setPlayerMiningLevel(cid, getMiningLevel(cid) + (isNumber(n) and n or 1)) setMiningTry(cid, 0) end function getMiningInfo(cid) for i = 1, #config_mining.levels do min = config_mining.levels[i].level[1]; max = config_mining.levels[i].level[2] if (getMiningLevel(cid) >= min and getMiningLevel(cid) <= max) then return {quantity = {min = config_mining.levels[i].quant[1], max = config_mining.levels[i].quant[2]}, chance = config_mining.levels[i].percent} end end end function getStoneByRock(rockid) for i = 1, #config_mining.stones do if (config_mining.stones[2] == rockid) then return config_mining.stones[1] end end return config_mining.default_stone end function getMiningTries(cid) return getPlayerStorageValue(cid, STORAGE_SKILL_TRY_MINING) end function setMiningTry(cid, n) setPlayerStorageValue(cid, STORAGE_SKILL_TRY_MINING, n) end function addMiningTry(cid, bonus) setMiningTry(cid, getMiningTries(cid) + 1 + (bonus and config_mining.bonus_exp or 0)) if (getMiningTries(cid) >= getMiningExpTo(getMiningLevel(cid))) then -- Up doPlayerSendTextMessage(cid, 22, "You advanced from level " .. getMiningLevel(cid) .. " to level ".. (getMiningLevel(cid) + 1) .." in mining.") if ((getMiningLevel(cid)+1) == getMiningMaxLevel()) then doPlayerSendTextMessage(cid, 22, "Max level reached in mining.") end addMiningLevel(cid) doSendMagicEffect(getCreaturePosition(cid), math.random(28,30)) setMiningTry(cid, 0) end end function getMiningExpTo(level) return ((level*1.5)+((level+1)*7)) end function getMiningMaxLevel() return config_mining.levels[#config_mining.levels].level[#config_mining.levels[#config_mining.levels].level] end
  15. Estou com um problema com esse evento quando ele cria o portal pro evento, vc passa por cima do portal e não é teleportado pro evento, o portal fica inútil kkkk coloquei as coordenadas certinhas na lib e tals, o portal nasce no lugar correto, mas não teleporta pra lugar nenhum, não da erro nenhum na distro não sei qual arquivo pode ta dando esse erro, alguem pode me ajudar ? Uso Tfs 0.4 8.60 esse é o evento que uso
  16. Desculpe meu portugues ruim, eu sou do chile. Eu tenho um script que fornece um item para um jogador quando ele mata outro jogador. Eu preciso de um script que impeça o jogador de ganhar a recompensa quando ele estiver usando multiclientes para obtê-la. aqui está o script: local config = { affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for? killStorageValue = 3943, deathStorageValue = 3944, -- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME rewardItem = { use = true, itemid = 5953, minLevel = false, -- false if you don't want any level req minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed). text = "This marijuana belongs to |TARGETNAME| [|TARGETLEVEL|] who was killed by |KILLERNAME| [|KILLERLEVEL|]." }, killMessage = { use = true, text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!", messageClass = MESSAGE_STATUS_CONSOLE_BLUE }, broadcastMessage = { use = true, minLevel = false, -- false if you don't want any level req minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed). text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!", messageClass = MESSAGE_STATUS_WARNING }, killerAnimation = { use = true, text = "Frag!", -- Only 9 letters! No "commands" here. color = 215 }, targetAnimation = { use = true, text = "Owned!", -- Only 9 letters! No "commands" here. color = 215 } } function onDeath(cid, corpse, deathList) for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do local killer = deathList[i] if(isPlayer(killer) == TRUE) then local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1 local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1 local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1 local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1 setPlayerStorageValue(killer, config.killStorageValue, targetKills) setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths) local killerLevel = getPlayerLevel(killer) local targetLevel = getPlayerLevel(cid) local levelDiff = targetLevel - killerLevel local values = { ["KILLERKILLS"] = killerKills, ["KILLERDEATHS"] = killerDeaths, ["KILLERNAME"] = getCreatureName(killer), ["KILLERLEVEL"] = killerLevel, ["TARGETKILLS"] = targetKills, ["TARGETDEATHS"] = targetDeaths, ["TARGETNAME"] = getCreatureName(cid), ["TARGETLEVEL"] = targetLevel } function formateString(str) return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end))) end if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 1) doItemSetAttribute(uid, "description", formateString(config.rewardItem.text)) end if(config.killMessage.use) then doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text)) end if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass) end if(config.killerAnimation.use) then doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color) end if(config.targetAnimation.use) then doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color) end end end return true end Muito obrigado!
  17. Como coloca para todos pokemon capturar Fica Perfect 100% sistema level base Huatson
  18. Olá amigos, alguém poderia me ajudar a achar esse script. Script que transforma Gold em Platinum e Platinum em gold quando estiverem na quantidade 100, se possível explicar onde coloco, sou meio leigo no assunto ainda. Agradeço desde já, muito obrigado pela atenção.
  19. Script de alavança aleatória gastando "Tokens" , a Alavança vai gastar x tokens para ter a oportunidade de ganhar 1 item, vai funcionar igual um cassino, para ganhar um item aleatório ( irão aparecer 3 itens) quando os 3 ficar igual, o player ganha ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Script em que quando o player for premium, ele ganhe 50% de xp a mais e Doble Loot
  20. Olá meu povo gaucho. Hoje venho aqui com um pedido: Em minha caminhada em otservers (2007-2008) teve algo que me chamou atenção e gostaria de adicionar em meu servidor. Uma alavanca que quando você puxa surge monsters na sala (no anexo) Quem tiver esse script ou puder me ajudar nessa eu agradeceria muito. Então vamos as especificações do que exatamente eu preciso: 1ª- O Player puxa a alavanca e aparecem monstros nas posições da sala (Position: [X: 251] [Y: 81] [Z: 10]. Position: [X: 250] [Y: 80] [Z: 10].) o resto edito depois 2ª- Os monstros podem ser Demons (edito os outros quando tiver o script) 3ª- Só poderá puxar novamente a hora que todos os bixos estiverem mortos. 4ª- Quando puxar deverá aparecer uma mensagem em vermelho para todo servidor "Tem um time upando nas ruínas." Observação 1- Não achei nada parecido no tibia king, por isso venho pedir aqui. Observação 2- Não sou preguiçoso, nunca criei uma script do 0, sempre editei as existentes. 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.
  21. .Qual servidor ou website você utiliza como base? OTX Qual o motivo deste tópico? estou precisando de ajuda para arrumar um script. No caso eu estou precisando de ajuda de como adicionar mais tabelas de monstro no mesmo script. O script atual estar funcionando perfeitamente, porém eu tenho ideias para adicionar o script em mais uns três monstros e não estou conseguindo adicionar mais tabelas para outros monstros, alguém poderia me ajudar por favor? Você tem o código disponível? Se tiver publique-o aqui: -- Coded by Zoom. local bosses = { ["Ogre"] = { {itemid = 12663, count = {min = 1, max = 1}}, {itemid = 12682, count = {min = 1, max = 1}}, {itemid = 12696, count = {min = 1, max = 1}}, {itemid = 2160, count = {min = 2, max = 5}} } } -- functions.. function getRotate(uid) local pos = getCreaturePosition(uid) return { {x = pos.x, y = pos.y - 3, z = pos.z}, {x = pos.x + 3, y = pos.y - 2, z = pos.z}, {x = pos.x + 2, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 3, z = pos.z} } end function onKill(cid, target) local bid = bosses[getCreatureName(target)] if isMonster(target) and bid and getStorage(33975) <= os.time() then doCreatureSetDropLoot(target, nil) for _, v in ipairs(bid) do doCreateItem(v.itemid, math.random(v.count.min, v.count.max), getRotate(target)[_]) doSendMagicEffect(getRotate(target)[_], 6) end doSetStorage(33975, os.time() + 5) end return true end function onLogin(cid) return registerCreatureEvent(cid, "droptable") end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  22. Preciso de um script para porta lvl 180 sem acesso a MC, é possível? Seria para uma quest.
  23. .Qual servidor ou website você utiliza como base? BASE CYAN Qual o motivo deste tópico? PRECISO DE AJUDA PARA RESOLVER UNS ITEM DUPLICADO 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.
  24. Quando os 4 players estão no sqm e o primeiro puxa alavanca, joga os players no evento mas não inicia e da o seguinte erro a baixo. Você tem o código disponível? Se tiver publique-o aqui: local aids = { [61520] = 1, [61521] = 2, [61522] = 3, [61523] = 4, [61524] = 5, [61525] = 6, [61526] = 7, [61527] = 8 } local function getPlayersInArea(fromPos, toPos) local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end function onUse(cid, item, fromPosition, itemEx, toPosition) if tonumber(os.date("%H")) ~= 16 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O horário de bomberman já terminou.") doTeleportThing(cid, getTownTemplePosition(1)) return true end local arenaNumber = aids[item.actionid] if arenaNumber then if bomberman.isArenaFree(arenaNumber) then local arena = bomberman.arenas[arenaNumber] local players = getPlayersInArea(arena.fromPosLeaver, arena.toPosLeaver) if players then if #players == 4 then local corner, ips = 1, {} for _, pid in next, players do local ip = getPlayerIp(pid) if bomberman.ips[ip] then if bomberman.ips[ip] >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "O IP de "..getCreatureName(pid).." já foi usado para jogar nos últimos 5 minutos. Ele deve aguardar "..timeString(bomberman.ips[ip] - os.time()).." para jogar novamente.") doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_ORANGE, "Seu IP já foi usado para jogar nos últimos 5 minutos. Você deve esperar "..timeString(bomberman.ips[ip] - os.time()).." para jogar novamente.") return; end end if isInArray(ips, ip) then return doPlayerSendCancel(cid, "jogadores com o mesmo IP não podem participar juntos.") end table.insert(ips, ip) end for _, pid in next, players do local ip = getPlayerIp(pid) bomberman.ips[ip] = (os.time() + (5*60)) if corner == 1 then doTeleportThing(pid, arena.fromPos) elseif corner == 2 then doTeleportThing(pid, arena.rightTopCorner) elseif corner == 3 then doTeleportThing(pid, arena.toPos) elseif corner == 4 then doTeleportThing(pid, arena.leftBottomCorner) end doCreatureSetStorage(pid, bomberman.oldSpeedStorage, getCreatureSpeed(pid)) doCreatureSetStorage(pid, bomberman.bombLimitStorage, 1) doCreatureSetStorage(pid, bomberman.bombStorage, 1000) doCreatureSetStorage(pid, bomberman.radiusStorage, 1) doCreatureSetStorage(pid, bomberman.inGameStorage, arenaNumber) doRemoveCondition(pid, CONDITION_HASTE) Events:enter(pid, false) doChangeSpeed(pid, 220 - getCreatureSpeed(pid)) doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, "Você entrou no bomberman, use !bomb para colocar bombas e boa sorte!") corner = corner + 1 end setGlobalStorageValue(arena.storage, 1) -- Adicionar as pedras explodíveis local currentPosition local create = true local unavailables = {{x = arena.fromPos.x, y = arena.fromPos.y}, {x = arena.rightTopCorner.x, y = arena.rightTopCorner.y}, {x = arena.leftBottomCorner.x, y = arena.leftBottomCorner.y}, {x = arena.toPos.x, y = arena.toPos.y}, {x = arena.fromPos.x + 1, y = arena.fromPos.y}, {x = arena.fromPos.x, y = arena.fromPos.y + 1}, {x = arena.rightTopCorner.x - 1, y = arena.rightTopCorner.y}, {x = arena.rightTopCorner.x, y = arena.rightTopCorner.y + 1}, {x = arena.toPos.x - 1, y = arena.toPos.y}, {x = arena.toPos.x, y = arena.toPos.y - 1}, {x = arena.leftBottomCorner.x + 1, y = arena.leftBottomCorner.y}, {x = arena.leftBottomCorner.x, y = arena.leftBottomCorner.y - 1}} for xx = arena.fromPos.x, arena.toPos.x do for yy = arena.fromPos.y, arena.toPos.y do create = true currentPosition = {x = xx, y = yy, z = arena.fromPos.z} for _, pair in next, unavailables do if pair.x == xx and pair.y == yy then create = false break; end end if create then local block = getTileItemById(currentPosition, bomberman.blockId) if block and block.uid and block.uid > 0 then create = false end if create then local stone = getTileItemById(currentPosition, bomberman.stoneId) if stone and stone.uid and stone.uid > 0 then create = false end if create then if math.random(100) < 70 then doCreateItem(bomberman.stoneId, 1, currentPosition) end end end end end end -- Pedras adicionadas else doPlayerSendCancel(cid, "São necessários 4 jogadores para iniciar o bomberman.") end else doPlayerSendCancel(cid, "São necessários 4 jogadores para iniciar o bomberman.") end else doPlayerSendCancel(cid, "Esta arena de bomberman já está ocupada. Aguarde até que o jogo termine.") end end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  25. Boa tartde pessoal, estou editando um baiak 8,6 tfs 0,4, com sistema reset, e queria por % porque a vida e mana é acumulativa e muito grande. nao sei se fiz mal, mas estou postando o protocolgame completo, porque ja fiz tantos testes e de tantos topicos e até agora nenhum funcionou, (até agora nenhum erro em abrir o servidor), mas tenho medo de ja ter editado de mais. alguem poderia me ajuda por favor? +Rep obviamente!! Ajudem o amiguinho aqui pfff! s2

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...