
Tudo que Pifafa postou
-
Script de permitir apenas 1 player
Não deu erro porem coloquei para entra 3 pessoas, e não entra fico como o script original.
-
Script de permitir apenas 1 player
Gostaria de saber se consigo deixa por ex: 2 ips podendo entra nessa área! O script que eu uso é esse aqui! function onStepIn(cid, item, position, fromPosition, toPosition) if (not isPlayer(cid)) then return false end for _, v in pairs(areasMineracao) do for _, pid in pairs(getPlayersOnline()) do if (getPlayerIp(pid) == getPlayerIp(cid) and isInRange(getThingPos(pid), v[1], v[2])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Só é permitido 1 jogador por IP na mineração.") doTeleportThing(cid, fromPosition, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end end end doTeleportThing(cid, tp_mineracao, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, 45393, 1) return true end O que faz apenas 1 pessoa pode entra nas áreas de meu interesse
-
Bug no site
Não tem ele aqui a informação que poderia passa mais aguçada é essa aqui! $main_content .= ' <div class="InnerTableContainer"> <table> <tbody> <tr> <td> <div class="TableShadowContainerRightTop"> <div class="TableShadowRightTop" style="background-image: url('.$layout_name.'/images/content/table-shadow-rt.gif);"></div> </div> <div class="TableContentAndRightShadow" style="background-image: url('.$layout_name.'/images/content/table-shadow-rm.gif);"> <div class="TableContentContainer"> <table class="TableContent" style="border: 1px solid #faf0d7;"> <tbody> <tr style="background-color: #505050;"> </tr> <tr class="Table" style="background-color: #d4c0a1;"> <td style="width: 800; border: 1px; border-style: solid; border-color: #FAF0D7;"> <div class="NewsHeadline"> <div class="NewsHeadlineBackground" style="background-image:url(' . $layout_name . '/images/news/newsheadline_background.gif)"> <table border="0"> <tr> <td style="text-align: center; font-weight: bold;"> <font color="white">Most powerful guilds</font> </td> </tr> </table> </div> </div> <table border="0" cellspacing="3" cellpadding="4" width="100%"> <tr>'; foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,`g`.`guild_logo` AS `logo`, COUNT(`g`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id` LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id` WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1 GROUP BY `name` ORDER BY `frags` DESC, `name` ASC LIMIT 0, 4;') as $guild) $main_content .= ' <td style="width: 25%; text-align: center;"> <a href="?subtopic=guilds&action=show&guild=' . $guild['id'] . '"><img src="/guild_image.php?id=' . $guild['id'] . '" width="64" height="64" border="0"/><br />' . $guild['name'] . '</a><br />' . $guild['frags'] . ' kills </td>'; $main_content .= '
-
Bug no site
Estou com dificuldade para achar essa pasta, não consigo achar onde ele guarda a imagens da guidl!
-
Bug no site
Qual imagem? Por uma imagem com nome 0? Por que não tinha nada antes, aconteceu quando primeira guild mato 1....
-
Bug no site
Aparentemente não era de nenhuma guild, porem o que mato ele éra de uma guild.
-
Bug no site
Isso mesmo.
-
Bug no site
Então acredito que sim, isso aconteceu depois que 1 player sem guild morreu pra outro... No caso fico assim não entendo o por que.
-
Bug no site
-
Erro nas portas de level
Amigos e amigas, estou hoje aqui com um problema medonho! [Error - MoveEvents Interface] data/movements/scripts/closingdoor.lua:onStepOut Description: data/movements/scripts/closingdoor.lua:20: attempt to compare number with table stack traceback: data/movements/scripts/closingdoor.lua:20: in function <data/movements/scripts/closingdoor.lua:1> Não sei que diabos é que da isso.... mas enfim Basicamente se player fica sem lvl pra passa na porta ele não passa! Isso ok porem, quando o mesmo tem lvl fica apresentando esse diabólico erro. Porta fica aberta kkk Para dar mais informações meu clossingdoors é! function onStepOut(cid, item, position, lastPosition) if(getTileInfo(position).creatures > 0) then return true end local newPosition = {x = position.x + 1, y = position.y, z = position.z} local query = doTileQueryAdd(cid, newPosition, 6) if query ~= RETURNVALUE_NOERROR or query == RETURNVALUE_NOTENOUGHROOM then newPosition.x = newPosition.x - 1 newPosition.y = newPosition.y + 1 query = doTileQueryAdd(cid, newPosition, 6) -- repeat until found end if query == RETURNVALUE_NOERROR or ((not query == RETURNVALUE_NOTENOUGHROOM) and (not query == RETURNVALUE_NOTPOSSIBLE)) then doRelocate(position, newPosition) end position.stackpos = -1 local i, tileItem, tileCount = 1, {uid = 1}, getTileThingByPos(position) while(tileItem.uid ~= 0 and i < tileCount) do position.stackpos = i tileItem = getTileThingByPos(position) if(tileItem.uid ~= 0 and tileItem.uid ~= item.uid and not isMovable(tileItem.uid) and not isCorpse(tileItem.uid)) then doRemoveItem(tileItem.uid) else i = i + 1 end end local itemInfo = getItemInfo(item.itemid) doTransformItem(item.uid, itemInfo.transformUseTo) return true end Olá pessoal resolvi com o seguinte script! function onStepOut(cid, item, position, lastPosition) if(getTileInfo(position).creatures > 0) then return true end local newPosition = {x = position.x + 1, y = position.y, z = position.z} local query = doTileQueryAdd(cid, newPosition) if(query == RETURNVALUE_NOTENOUGHROOM) then newPosition.x = newPosition.x - 1 newPosition.y = newPosition.y + 1 query = doTileQueryAdd(cid, newPosition) -- repeat until found end if(query == RETURNVALUE_NOERROR and query == RETURNVALUE_NOTENOUGHROOM) then doRelocate(position, newPosition) end position.stackpos = -1 local i, tileItem, tileCount = 1, {uid = 1}, getTileThingByPos(position) while(tileItem.uid ~= 0 and i < tileCount) do position.stackpos = i tileItem = getTileThingByPos(position) if(tileItem.uid ~= 0 and tileItem.uid ~= item.uid and isMovable(tileItem.uid)) then doRemoveItem(tileItem.uid) else i = i + 1 end end local itemInfo = getItemInfo(item.itemid) doTransformItem(item.uid, itemInfo.transformUseTo) return true end function onStepOut(cid, item, position, lastPosition) local itemInfo = getItemInfo(item.itemid) doTransformItem(item.uid, itemInfo.transformUseTo) return true end
-
Que é isso?
- [OTX3 8.60] STYLLER 2019
-
[8.60] BaiakStyller Sodoma (Cast System - War System - Offline Trainer - Vip System - 24Hrs Castle)
Esse servidor é exclusividade minha, ele não é gringo e está disponível para jogar a quase mais de 1 ano vivo tirando e colocando ele online! www.tibinha.ml Esse ot foi dado para um amigo gringo meu que fez 1 script atualizada.
-
Script Dia de PVP e Dia de PVP Enforced.
The Forgotten Server 0.4_DEV sera? kkk
-
Script Dia de PVP e Dia de PVP Enforced.
Não entendi eu sei que no arquivo lua da pra fazer isso, mas queria que fosse automático!
-
Script Dia de PVP e Dia de PVP Enforced.
Olá pessoal, não sei se existe algum sistema assim ( caso tenha onde poderia encontra?) teria como fazer um dia servidor fica pvp enforced e outro dia pvp normal ou até mesmo 1 dia no-pvp... Seria bacana mostrando prós player como se encontra o reino tibiano.
-
Script de deleta player.
Tentei por 4 mas não deleta os tutores.
-
Vale a pena investir num servidor de TibiaOtserv caseiro?
Então, meu ot era windos, mudei para linux, devido as protecções e melhores fluidez do servidor. Atualmente o ot conta com a media de 10 ~~ 50 jogadores todos os dias, ele tem pequenos bugs no qual acabo criando uma dinâmica diferente de jogo no servidor. Para conversa comigo mais facilmente recomendo que entre no site e clique no logo do whatsapp que lá tem, dai entra no grupo e pede pra fala com o Pifafa que seria eu no caso ahahha ( Meu projeto se tornara free no final do ano vou disponibiliza ele aqui gratuitamente sem fins lucrativos.)
- Vale a pena investir num servidor de TibiaOtserv caseiro?
-
Script de deleta player.
Entendido... Não deu.
-
Script de deleta player.
Olá pessoal, meu script está funcionando perfeitamente, porem notei que ele não afeta os tutores? Como posso muda isso, pois existem muitos tutores que não jogam mais... function countRowsWhereInTable(table, field, condition) local result = db.getResult("SELECT COUNT(" .. field .. ") as count FROM " .. table .. " WHERE " .. field .. " = '" .. condition .. "';") local tmp = result:getDataInt("count") result:free() return tmp end function getDBPlayersCount() local result = db.getResult("SELECT COUNT(id) as count FROM `players`;") local tmp = result:getDataInt("count") result:free() return tmp end function getDBAccountsCount() local result = db.getResult("SELECT COUNT(id) as count FROM `accounts`;") local tmp = result:getDataInt("count") result:free() return tmp end function onStartup() local DB_BEFORE = {players = getDBPlayersCount(), accounts = getDBAccountsCount()} local result,result1, ii, numPlayersToDelete, numAccountsDeleted, tmp = 0, 0, 0, 0, 0 local pid, aid = {}, {} local dropCount = {players={},accounts={}} local config = { deleteAccountWithNoPlayers = true, cleanChildTables = true, printResult = true, saveResultToFile = true, logFileName = 'db_cleanup.txt' } --In each table, players with below specified level, and days of inactivity will be deleted from db on server startup local cleanup = { [1] = {level = 10, time = 1 * 24 * 60 * 60}, [2] = {level = 100, time = 7 * 24 * 60 * 60}, [3] = {level = 200, time = 10 * 24 * 60 * 60}, [4] = {level = 300, time = 20 * 24 * 60 * 60}, [5] = {level = 1900, time = 45 * 24 * 60 * 60} } local childAttributeTables = { players = { [1] = {table = "`player_viplist`", idField = "`player_id`"}, [2] = {table = "`player_storage`", idField = "`player_id`"}, [3] = {table = "`player_spells`", idField = "`player_id`"}, [4] = {table = "`player_skills`", idField = "`player_id`"}, [5] = {table = "`player_namelocks`", idField = "`player_id`"}, [6] = {table = "`player_items`", idField = "`player_id`"}, [7] = {table = "`player_depotitems`", idField = "`player_id`"}, [8] = {table = "`houses`", idField = "`owner`"}, [9] = {table = "`house_auctions`", idField = "`player_id`"}, [10] = {table = "`players`", idField = "`id`"} -- Keep this as the last item in the array --Note: `houses` and `bans` are in the DB triggers for TFS so don't worry about them. --Also I did not want to put killers, or deaths on here because that is historic data, --do so at your own risk. }, accounts = { [1] = {table = "`accounts`", idField = "`id`"}, [2] = {table = "`account_viplist`", idField = "`account_id`"} } } --Clean up all the players and player data for i = 1, #cleanup do result = db.getResult("SELECT `id`,`name`,`account_id` FROM `players` WHERE `level` < ".. cleanup[i].level .." AND `name` NOT IN('Account Manager', 'Sorcerer Sample', 'Druid Sample', 'Paladin Sample', 'Knight Sample', 'Rook Sample') AND `group_id` < 2 AND `lastlogin` < UNIX_TIMESTAMP() - ".. cleanup[i].time .." AND `lastlogin` > 0;") if(result:getID() ~= -1) then ii = 1 repeat pid[ii] = result:getDataInt("id") -- list the players id into an array aid[ii] = result:getDataInt("account_id") -- list the account id of each player being removed into an array ii = ii + 1 until not(result:next()) result:free() end numPlayersToDelete = ii - 1 --Drop players and their child table attribute data such as skills, items, etc. for j = 1, numPlayersToDelete do if(config.cleanChildTables) then for k = 1, #childAttributeTables.players do if childAttributeTables.players[k].table == "houses" then house = getHouseByPlayerGUID(pid[j]) if house ~= 0 or house ~= nil then doCleanHouse(house) doUpdateHouseAuctions() end else dropCount.players[k] = ((dropCount.players[k] or 0) + countRowsWhereInTable(childAttributeTables.players[k].table, childAttributeTables.players[k].idField, pid[j])) db.query("DELETE FROM " .. childAttributeTables.players[k].table .. " WHERE " .. childAttributeTables.players[k].idField .. " = '" .. pid[j] .. "';") end end else db.query("DELETE FROM `players` WHERE `id` = '" .. pid[j] .. "';") end end end --Drop all the accounts that have 0 players linked to them (at the moment its only checking from the list of players removed) if config.deleteAccountWithNoPlayers then --This part was scripted by Darkhaos, modified/fixed by Teh Maverick --[[ for acc = 1, #aid do result1 = db.getResult("SELECT `id` FROM `accounts` WHERE `id` = '" .. aid[acc] .. "';") if result1:getID() ~= -1 then -- check to make sure the account exists result1:free() for i = 1, #childAttributeTables.accounts do --Make sure there are no other players on the account result1 = db.getResult("SELECT COUNT(id) as count FROM `players` WHERE `account_id` = '" .. aid[acc] .. "';") tmp = result1:getDataInt("count") if(tmp <= 0) then --Remove accounts dropCount.accounts[i] = ((dropCount.accounts[i] or 0) + countRowsWhereInTable(childAttributeTables.accounts[i].table, childAttributeTables.accounts[i].idField, aid[acc])) db.query("DELETE FROM " .. childAttributeTables.accounts[i].table .. " WHERE " .. childAttributeTables.accounts[i].idField .. " = '" .. aid[acc] .. "';") end end end end end --]] --Print and Save results (configurable) local DB_NOW = {players = DB_BEFORE.players - getDBPlayersCount(), accounts = DB_BEFORE.accounts - getDBAccountsCount()} if DB_NOW.players > 0 or DB_NOW.accounts > 0 then local text = ">> [DBCLEANUP] " .. DB_NOW.players .. " inactive players" .. (config.deleteAccountWithNoPlayers and " and " .. DB_NOW.accounts .. " empty accounts" or "") .. " have been deleted from the database." --Write to console if config.printResult then print("") print(text) if config.cleanChildTables then --Write player info for i = 1,#dropCount.players do print("[!] --> Dropped: " .. dropCount.players[i] .. " from " .. childAttributeTables.players[i].table .. " table") end --Write account info if config.deleteAccountWithNoPlayers then for i = 1,#dropCount.accounts do print("[!] --> Dropped: " .. dropCount.accounts[i] .. " from " .. childAttributeTables.accounts[i].table .. " table") end end print("") end end --Write to file if config.saveResultToFile then local file = io.open("data/logs/"..config.logFileName, "a") file:write("[" .. os.date("%d %B %Y %X ", os.time()) .. "] " .. text .. "\n") if config.cleanChildTables then --Write player info for i = 1, #dropCount.players do file:write("[!] --> Dropped: " .. dropCount.players[i] .. " from " .. childAttributeTables.players[i].table .. " table\n") end --Write account info if config.deleteAccountWithNoPlayers then for i = 1, #dropCount.accounts do file:write("[!] --> Dropped: " .. dropCount.accounts[i] .. " from " .. childAttributeTables.accounts[i].table .. " table\n") end end file:write("\n") end file:close() end end return true end
-
Teleport Key
Obrigado grande mestre! kkk Ando tão alteração que não tinha visto essa alteração!
-
Teleport Key
Tem funcionado bem esse script único problema mesmo seria que usando na casa a pessoa não gasta a chave queria tenta muda isso.
-
Teleport Key
Olá pessoal uso esse script para teleporta os player, para a área Superup do meu OT. local position = {x = 170, y = 94, z = 10} local templepos = {x = 165, y = 54, z = 7} local tempo = 10 function onUse(cid) doPlayerRemoveItem(cid, 2090, 1) doTeleportThing(cid, position) doCreatureSetStorage(cid, 583441, 1) addEvent( function() doTeleportThing(cid, templepos) doPlayerSendTextMessage(cid, 22, "Seu tempo acabou, e foi transportado de volta ao templo!") doCreatureSetStorage(cid, 583441, -1) end, 1000 * tempo) return true end Porem tem um problema, se player usa a chave no chão ela não some, logo ele usa na casa dele nunca perde a chave kkk..... Alguém poderia me ajuda para pode usa apenas com ela no corpo ou algo assim?
-
(Resolvido)Script de Anuncio
Vou almoçar assim que volta vou testa! Muito obrigado e já volto fala se deu certinho! Era algo bem assim mesmo que estava procurando.