Jump to content

Recommended Posts

top só n tenho mais rep amanhã eu dou

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites

  • 1 month later...
  • 3 months later...

Teria como adaptar esse sistema para OTX?

Pois estou com esse erro :/

 

Citar

[Error - Test Interface]
data/lib/onlineTime.lua
Description:
data/lib/onlineTime.lua:1: attempt to index global 'Player' (a nil value)
[Warning - LuaInterface::initState] Cannot load data/lib/


Consegui resolver o erro acima trocando 

Player.addOnlineTime

por

addOnlineTime

 

mas ao fazer login dá esse outro erro

Citar

 

Diarmaint has logged in.

[Error - CreatureScript Interface]
data/creaturescripts/scripts/PH/onlinebonus.lua:onLogin
Description:
data/creaturescripts/scripts/PH/onlinebonus.lua:21: attempt to index local 'player' (a number value)
stack traceback:
        data/creaturescripts/scripts/PH/onlinebonus.lua:21: in function <data/creaturescripts/scripts/PH/onlinebonus.lua:20>
Diarmaint has logged out.

 

 

Edited by diarmaint (see edit history)
Link to post
Share on other sites

  • 2 months later...
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By najatheus
      Em actions criei um arquivo chamado guardian.lua, dentro dele coloque : 
        local summons = {"Mew"} -- aqui vc podera fazer summons aleatorio function onUse(player, item, fromPosition, target, toPositon, ishotkey) if(#player:getSummons() >= 1)then player:sendTextMessage(MESSAGE_STATUS_SMALL, "You are already using 1 summon (guardian)" ) return true end local postion = player:getPosition() local monster = Game.createMonster(summons[math.random(1, #summons)], postion) local message = {"" .. player:getName() .. " Go Guardian : " .. monster:getName() .. ""} player:say(message[1], TALKTYPE_MONSTER_SAY) item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Name Guardian : " .. monster:getName() .. ".") -- look do guardian monster:setMaster(player) monster:setMaxHealth(7000) monster:changeSpeed(6000) monster:say("GUARDIAN!" .. monster:getName() .. "", TALKTYPE_MONSTER_SAY) monster:getPosition():sendMagicEffect(13) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You used the Guardian ( " .. monster:getName() .. " )") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"Your Guardian is alive: " .. monster:getHealth() .. " / " .. monster:getMaxHealth() .. " wait for his life to fully load") return true end  
      Depois abra o action.xml, e registra :  
      <action itemid="o id" script="guardian.lua" />

       
    • By Breno Alves
      [Anti-Bot]

      Fiz esse sistema para o Thunder porém vou deixá-lo a parte nesse tópico aqui para quem quiser implementar em seu otserv.
      Lembrando que esse sistema é para TFS 1.X e qualquer sugestão/problema nesse sistema, deve ser reportado no GitHub.

      Crie um arquivo na pasta lib com o nome antibot.lua
      ANTIBOT = { prefix = "[AntiBot] ", questions = { {question = "Qual o ano que começou o COVID-19?", staticAnswer = true, answer = "2019"}, {question = "Qual seu skill atual de Sword?", skill = true, answer = SKILL_SWORD}, {question = "Qual seu skill atual de Club?", skill = true, answer = SKILL_CLUB}, {question = "Qual seu skill atual de Distance?", skill = true, answer = SKILL_DISTANCE}, {question = "Qual seu level atual?", answer = "level"}, {question = "Qual o dia de hoje?", answer = "day"}, }, playerQuestion = {}, messages = { time = "Você possui %s para responder a pergunta.", chat = "Esse chat só pode ser usado durante a verificação.", howAnswer = "Você deve responder somente a resposta, por exemplo: Qual o dia de hoje? Resposta: %d", correctAnswer = "Você acertou a pergunta. Obrigado.", incorrectAnswer = "Você errou a resposta, você ainda possui %d tentativas.", logout = "Você não pode deslogar enquanto hover uma verificação ativa.", }, punishment = { try = { max = 3, reason = "Quantidade excessiva de tentativas.", timePunishment = 1, -- In days players = {}, }, time = { maxTime = 180, -- In seconds reason = "Não respondeu a pergunta dentro do tempo estipulado.", timePunishment = 2, -- In days players = {}, }, }, verification = {40, 60}, -- in minutes } function ANTIBOT:addTry(playerId) local player = Player(playerId) if not player then return false end playerId = player:getId() if not ANTIBOT.punishment.try.players[playerId] then ANTIBOT.punishment.try.players[playerId] = 0 end ANTIBOT.punishment.try.players[playerId] = ANTIBOT.punishment.try.players[playerId] + 1 if ANTIBOT.punishment.try.players[playerId] and ANTIBOT.punishment.try.players[playerId] >= ANTIBOT.punishment.try.max then sendChannelMessage(13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.punishment.try.reason) ANTIBOT:addPunishment(playerId) end end function ANTIBOT:time(playerId) local player = Player(playerId) if not player then ANTIBOT:reset(playerId) return false end playerId = player:getId() if not ANTIBOT.punishment.time.players[playerId] then ANTIBOT.punishment.time.players[playerId] = 0 ANTIBOT:sendQuestions(playerId) end addEvent(function() if ANTIBOT.punishment.time.players[playerId] and ANTIBOT.punishment.time.players[playerId] >= 0 and ANTIBOT.punishment.time.players[playerId] < ANTIBOT.punishment.time.maxTime then ANTIBOT.punishment.time.players[playerId] = ANTIBOT.punishment.time.players[playerId] + 1 player:sendCancelMessage(ANTIBOT.prefix .. ANTIBOT.messages.time:format(string.diff(ANTIBOT.punishment.time.maxTime - ANTIBOT.punishment.time.players[playerId], true))) ANTIBOT:time(playerId) end end, 1000) if ANTIBOT.punishment.time.players[playerId] and ANTIBOT.punishment.time.players[playerId] >= ANTIBOT.punishment.time.maxTime then ANTIBOT:addPunishment(playerId) end end function ANTIBOT:sendQuestions(playerId) local player = Player(playerId) if not player then return false end playerId = player:getId() random = math.random(#ANTIBOT.questions) ANTIBOT.playerQuestion[playerId] = random player:say("ANTIBOT", TALKTYPE_MONSTER_SAY) player:openChannel(13) addEvent(sendChannelMessage, 500, 13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.howAnswer:format(os.date("%d"))) addEvent(sendChannelMessage, 800, 13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.questions[random].question) end function ANTIBOT:reset(playerId) ANTIBOT.punishment.try.players[playerId] = nil ANTIBOT.punishment.time.players[playerId] = nil ANTIBOT.playerQuestion[playerId] = nil end function ANTIBOT:addPunishment(playerId) local player = Player(playerId) if not player then return false end playerId = player:getId() local accountId = getAccountNumberByPlayerName(player:getName()) if accountId == 0 then return false end local resultId = db.storeQuery("SELECT 1 FROM `account_bans` WHERE `account_id` = " .. accountId) if resultId ~= false then result.free(resultId) return false end local timeNow = os.time() if ANTIBOT.punishment.try.players[playerId] and ANTIBOT.punishment.try.players[playerId] >= ANTIBOT.punishment.try.max then db.query("INSERT INTO `account_bans` (`account_id`, `reason`, `banned_at`, `expires_at`, `banned_by`) VALUES (" .. accountId .. ", " .. db.escapeString(ANTIBOT.prefix .. ANTIBOT.punishment.try.reason) .. ", " .. timeNow .. ", " .. timeNow + (ANTIBOT.punishment.try.timePunishment * 86400) .. ", " .. player:getGuid() .. ")") elseif ANTIBOT.punishment.time.players[playerId] and ANTIBOT.punishment.time.players[playerId] >= ANTIBOT.punishment.time.maxTime then db.query("INSERT INTO `account_bans` (`account_id`, `reason`, `banned_at`, `expires_at`, `banned_by`) VALUES (" .. accountId .. ", " .. db.escapeString(ANTIBOT.prefix .. ANTIBOT.punishment.time.reason) .. ", " .. timeNow .. ", " .. timeNow + (ANTIBOT.punishment.time.timePunishment * 86400) .. ", " .. player:getGuid() .. ")") end ANTIBOT:reset(playerId) player:save() player:getPosition():sendMagicEffect(CONST_ME_POFF) player:remove() end Não esqueça de registrar essa lib no arquivo lib.lua

      Na pasta chachannels/scripts crie um arquivo chamado antibot.lua
      function onJoin(player) if not ANTIBOT.playerQuestion[player:getId()] then player:sendTextMessage(5, ANTIBOT.prefix .. ANTIBOT.messages.chat) player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end return true end function onLeave(player) if ANTIBOT.playerQuestion[player:getId()] then return false end return true end function onSpeak(player, type, message) if not ANTIBOT.playerQuestion[player:getId()] then sendChannelMessage(13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.chat) player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end local question = ANTIBOT.questions[ANTIBOT.playerQuestion[player:getId()]] if question.skill then correctAnswer = tonumber(player:getSkillLevel(question.answer)) message = tonumber(message) elseif question.answer == "level" then correctAnswer = tonumber(player:getLevel()) message = tonumber(message) elseif question.answer == "day" then correctAnswer = tonumber(os.date("%d")) message = tonumber(message) elseif question.staticAnswer then message = message:lower() correctAnswer = question.answer:lower() end verification = false if message == correctAnswer then verification = true end if verification then addEvent(sendChannelMessage, 200, 13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.correctAnswer) ANTIBOT:reset(player:getId()) else ANTIBOT:addTry(player:getId()) addEvent(function() if ANTIBOT.punishment.try.players[player:getId()] and ANTIBOT.punishment.try.players[player:getId()] < ANTIBOT.punishment.try.max and player then sendChannelMessage(13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.incorrectAnswer:format(ANTIBOT.punishment.try.max - ANTIBOT.punishment.try.players[player:getId()])) end end, 100) end return true end <channel id="13" name="AntiBot" script="antibot.lua" />
      Agora na pasta creaturescripts/scripts crie um arquivo chamado antibot.lua
      function onLogin(player) if player:getAccountType() >= ACCOUNT_TYPE_GAMEMASTER then return true end player:registerEvent("AntiBot") checkAnti(player:getId()) return true end function checkAnti(playerId) local player = Player(playerId) if not player then return false end min, max = ANTIBOT.verification[1], ANTIBOT.verification[2] random = math.random(min, max) addEvent(function() ANTIBOT:time(player:getId()) checkAnti(player:getId()) end, random * 60 * 1000) end <event type="login" name="AntiBot" script="antibot.lua" />
      Agora no arquivo logout.lua na pasta creaturescripts/scripts
      antes do return true adicione isso
      if ANTIBOT.punishment.try.players[player:getId()] or ANTIBOT.punishment.time.players[player:getId()] then player:sendTextMessage(MESSAGE_INFO_DESCR, ANTIBOT.prefix .. ANTIBOT.messages.logout) player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end ANTIBOT:reset(player:getId())
       
      Sistema 100% feito por mim.
      Créditos adicionais ao @Endless e ao @Tottin por testarem
    • By danielduarte96
      Seguinte galera.. Eu dei uma procurada porém não encontrei. Eu gostaria de um item que desse vip (Vip permanente), e de quebra já queria o tile que a pessoa só passa caso seja vip.
       
      Agradeço desde já!
    • By pabloxp
      gostaria que alguem me ajuda-se!! queria 1 sistema ou script que o trenó (Sled) se movimentase qnd o char fica-se em cima dele e ele controlase o trenó para as direçoes segurando CTRL + a direção desejada
      +rep pra qm ajudar
    • By ADM Lucas OTBR
      Olá senhores,
       
       estou prestes a contratar o um VPS da empresa LGV Host. Li sobre a empresa e no geral falam que é uma boa.
       
       Enfim, a dúvida é a seguinte, qual sistema operacional utilizar.
       
       Hoje, eu faço os testes do meu servidor em Windows 8.1. Será que irá funcionar normalmente no Windos Server 2003/2008 ?
       
       Só preciso validar se o sistema do meu notebook é 64 ou 32 bits.
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo