Tudo que Gustavots postou
-
Problema com look nas placas
Me chama no discord. passo a correção: leo_j.c
- [MY-AAC-GATEWAY + GESIOR BY CLYFE] MercadoPago Pix 100% Automático e Livre de SQL Injection (GRATIS!)
- Instalando Site e Compilando Source (Ubuntu 20.04)
-
[RESOLVIDO] Erro ubuntu ao compilar SRC
É na pasta source/trunk, no arquivo Makefile. Dependendo da sua source, você encontrará algo assim: #-- Talvez seja necessário alterar o caminho de 'libtcmalloc_minimal' para o caminho correto para sua distribuição --# #-- Para Ubuntu 20 em WSL2 o caminho é /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 --# LDFLAGS = /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 \ -llua5.1 -lxml2 -lboost_thread \ -lboost_system -lboost_filesystem -lgmp \ -lmysqlclient -lboost_regex -lcrypto \ -lsqlite3 -g Eu fiz a alteração do caminho de /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 para /usr/lib/libtcmalloc_minimal.so.4 e funcionou! Para confirmar se a biblioteca ainda existe após os processos de compilação, vá para o diretório /usr/lib/ e verifique.
- [otcv8] Como utilizar - Ip fixo, spr, encrypt, auto update
-
Anti Clone System [GlobalEvents] Shop.lua[Gesior] / CheckItens.lua
Qual error voce recebe?
-
Global Effect
--[[> ODRANOEL S.S <]]-- function onSay(cid, words, param, channel) local params = string.explode(param, " ") if #params < 2 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Use o comando da seguinte forma: !efeito 1, Sua Mensagem") return true end local effect = tonumber(params[1]) local message = table.concat(params, " ", 2) for _, pid in ipairs(getPlayersOnline()) do addEvent(sendEffectToPlayer, math.random(0, 200), pid, effect, message) end return true end function sendEffectToPlayer(pid, effect, message) if isPlayer(pid) then local position = getCreaturePosition(pid) for i = 1, 30 do doSendDistanceShoot(position, {x = position.x + math.random(-7, 7), y = position.y + math.random(-5, 5), z = position.z}, effect) end doCreatureSay(pid, message, TALKTYPE_ORANGE_1) end end
-
[Talkaction] Ban por Comando
Mais organizado e com um salve de registro em logs: function onSay(cid, words, param, channel) local t = string.explode(param, ",") if #t < 3 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite /ban nome, dias, motivo.") return true end local name, days, motivo = t[1], tonumber(t[2]), t[3] local acc = getAccountIdByName(name) if acc ~= 0 then local tempo = days * 24 * 3600 local target = getCreatureByName(name) if target then doAddAccountBanishment(acc, target, os.time() + tempo, 5, 2, "Você foi banido por " .. motivo .. ", por " .. tempo .. " segundos.", 0) doBroadcastMessage("O jogador " .. getCreatureName(target) .. " foi banido por " .. getCreatureName(cid) .. ". Motivo: " .. motivo .. ".", 25) addEvent(doRemoveCreature, 3 * 1000, target, true) -- Registro no arquivo de log local bansFile = "data/logs/bans.txt" local playerName = getCreatureName(cid) local currentTime = os.date("%Y-%m-%d %H:%M:%S") local file = io.open(bansFile, "a") if file then file:write(currentTime .. " - " .. playerName .. " baniu " .. name .. " por " .. days .. " dias. Motivo: " .. motivo .. "\n") file:close() else print("Erro ao abrir o arquivo de log de bans.") end return true else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Jogador não encontrado.") return true end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Jogador não encontrado.") return true end end Creditos: Odranoel
-
[Pedido] Source WoDBO - Tibia DBO 8.0
qual base voce diz que tem que esta sem source?
-
(Resolvido)[PEDIDO] Comando !fly house
function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 13501) < 0 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você precisa ser VIP para usar este comando.') and true end if hasCondition(cid, CONDITION_INFIGHT) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe, você está em batalha.") end local house = getHouseByPlayerGUID(getPlayerGUID(cid)) if house then doTeleportThing(cid, getHouseEntry(house)) return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você foi teleportado para sua casa!") else local town = getPlayerTown(cid) local templePosition = getTownTemplePosition(town) doTeleportThing(cid, templePosition) return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você não tem uma casa e foi teleportado para o templo.") end end TFS 0.4
-
(Resolvido)Ganhar mais exp com cast aberto.
alguem conseguiu pra tfs 0.4? corrija: Enfim, vi que ia ser difícil alguém disponibilizar, já que já faz muito tempo que estão querendo... conseguir editar uma base que encontrei. Boa utilização! <talkaction words="/cast;!cast" event="script" value="cast.lua"/> function onSay(cid, words, param, channel) local tmp = param:explode(" ") if not tmp[1] then return doShowTextDialog(cid, 6579, "[Parâmetros necessários]\n[Parameters needed]\n\n----------------\n [Cast System Parameters]:\n\n!cast on\n!cast off\n!cast pass\n!cast ban\n!cast unban\n!cast bans\n!cast mute\n!cast unmute\n!cast mutes\n!cast viewers\n!cast status\n!cast update") end local castActivated = getPlayerStorageValue(cid, 5521) -- Verifica se o cast já foi ativado local passwordSet = getPlayerStorageValue(cid, 5522) -- Verifica se a senha já foi definida if tmp[1] == "on" then if castActivated == 1 then -- Mensagem de cast já ativado doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O cast já está ativado. The cast is already activated.") else -- Inicia a transmissão doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "A transmissão foi iniciada. Cast has started.") doPlayerSetCastState(cid, true) doPlayerSave(cid) local rates = getPlayerRates(cid) doPlayerSetRate(cid, SKILL__LEVEL, getExperienceStage(cid, rates[SKILL__LEVEL]) + 0.5) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você habilitou o seu cast e está obtendo +5% de experiência em monstros. You have enabled your cast stream and are getting +5% monsters experience.") setPlayerStorageValue(cid, 5521, 1) -- Define a storage value como 1 para indicar que o cast foi ativado end elseif getPlayerCast(cid).status == false then return doPlayerSendCancel(cid, "Your cast has to be running for this action.") elseif tmp[1] == "off" then -- Verifica se o jogador está na zona de proteção if hasCondition(cid, CONDITION_INFIGHT) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você não pode usar esse comando quando estiver em uma batalha. You cannot use this command when in battle.") end -- Encerra a transmissão doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast has ended.") doPlayerSetCastState(cid, false) doPlayerSave(cid) setPlayerStorageValue(cid, 5521, -1) -- Define a storage value como 0 para indicar que o cast foi desativado addEvent(doRemoveCreature, 1, cid) elseif isInArray({"pass", "password", "p"}, tmp[1]) then local rates = getPlayerRates(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou uma senha ao seu cast. Utilize-o sem senha para ganhar um bônus de +5% de experiência ao derrotar monstros.") if passwordSet == 1 then return doShowTextDialog(cid, 6579, "Você já definiu uma senha:\n" .. tmp[2].. "\n\nYou have already set a password:\n" .. tmp[2]) end if not tmp[2] then return doShowTextDialog(cid, 6579, "Você precisa definir uma senha, exemplo: !cast password warzone23\n\nYou need to set a password,\nexample: !cast password warzone23") end local password = table.concat(tmp, " ", 2) getPlayerCast(cid, password) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Senha definida com sucesso. Password set successfully: " .. tmp[2]) doPlayerSetRate(cid, SKILL__LEVEL, getExperienceStage(cid, rates[SKILL__LEVEL]) - 0.1) setPlayerStorageValue(cid, 5522, 1) -- Define a storage value como 1 para indicar que a senha foi definida elseif isInArray({"desc", "description", "d"}, tmp[1]) then local d = param:gsub(tmp[1]..(tmp[2] and " " or ""), "") if not d or d:len() == 0 then return doPlayerSendCancel(cid, "You need to specify a description.") end if d:len() > 50 then return doPlayerSendCancel(cid, "The description is too long. (Max.: 50 letters)") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast description was set to: ") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, d) doPlayerSetCastDescription(cid, d) elseif tmp[1] == "ban" then if not tmp[2] then return doPlayerSendCancel(cid, "Specify a spectator that you want to ban.") end if doPlayerAddCastBan(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been banned.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be banned.") end elseif tmp[1] == "unban" then if not tmp[2] then return doPlayerSendCancel(cid, "Specify the person you want to unban.") end if doPlayerRemoveCastBan(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been unbanned.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be unbanned.") end elseif param == "bans" then local t = getCastBans(cid) local text = "Cast Bans:\n\n" for k, v in pairs(t) do text = text .. "*" .. v.name .. "\n" end if text == "Cast Bans:\n\n" then text = text .. "No bans." end doShowTextDialog(cid, 5958, text) elseif tmp[1] == "mute" then if not tmp[2] then return doPlayerSendCancel(cid, "Specify a spectator that you want to mute.") end if doPlayerAddCastMute(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been muted.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be muted.") end elseif tmp[1] == "unmute" then if not tmp[2] then return doPlayerSendCancel(cid, "Specify the person you want to unmute.") end if doPlayerRemoveCastMute(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been unmuted.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be unmuted.") end elseif param == "mutes" then local t = getCastMutes(cid) local text = "Cast Mutes:\n\n" for k, v in pairs(t) do text = text .. "*" .. v.name .. "\n" end if text == "Cast Bans:\n\n" then text = text .. "No mutes." end doShowTextDialog(cid, 5958, text) elseif param == "viewers" then local t = getCastViewers(cid) local text, count = "Cast Viewers:\n#Viewers: |COUNT|\n\n", 0 for _, v in pairs(t) do count = count + 1 text = text .. "*" .. v.name .."\n" end if text == "Cast Viewers:\n#Viewers: |COUNT|\n\n" then text = "Cast Viewers:\n\nNo viewers." end text = text:gsub("|COUNT|", count) doShowTextDialog(cid, 5958, text) elseif param == "status" then local t, c = getCastViewers(cid), getPlayerCast(cid) local count = 0 for _, v in pairs(t) do count = count + 1 end doShowTextDialog(cid, 5958, "Cast Status:\n\n*Viewers:\n " .. count .. "\n*Description:\n "..(c.description == "" and "Not set" or c.description).."\n*Password:\n " .. (c.password == "" and "Not set" or "Set - '"..c.password.."'")) elseif param == "update" then if getPlayerStorageValue(cid, 656544) > os.time() then return doPlayerSendCancel(cid, "You used this command lately. Wait: " .. (getPlayerStorageValue(cid, 656544)-os.time()) .. " sec.") end doPlayerSave(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The cast settings have been updated.") doPlayerSetStorageValue(cid, 656544, os.time()+60) end return true end data\creaturescripts\scripts\login.lua adicione em algum lugar as storage pra ser removida ao entrar no servidor, ou ao deslogar com o cast aberto: doPlayerSetStorageValue(cid, 5521, -1) -- Define a storage value como -1 para indicar que o cast foi desativado doPlayerSetStorageValue(cid, 5522, -1) -- Define a storage value como -1 para indicar que a senha do cast ja foi alterada
-
Anti Clone System [GlobalEvents] Shop.lua[Gesior] / CheckItens.lua
ERROR CORRIGIDO e codigo atualizaçao pra remover itens especifico do jogador ao inicia o server: local function CheckPlayer_Items() local query = db.getResult("SELECT *, SUBSTRING(CONVERT(attributes USING latin1) FROM 22) AS 'serial' FROM player_items WHERE CONVERT(attributes USING latin1) LIKE '%description%' GROUP BY SUBSTRING(CONVERT(attributes USING latin1) FROM 22) HAVING COUNT(*) > 1") if query:getID() == -1 then local textquery = "\n Check Items: Nenhum item clonado foi encontrado." print(textquery) return true end if query:getID() ~= -1 then local playerName = getPlayerNameByGUID(query:getDataInt("player_id")) if playerName == nil then playerName = "Player Not Found" end local text = "\n[!] -> Deleting item player_items: [Player ID: " .. playerName .. " - Sid: " .. (query:getDataInt("sid")) .. " - Pid: " .. (query:getDataInt("pid")) .. " - Itemtype: " .. (query:getDataInt("itemtype")) .. " - Serial: " .. query:getDataString("serial") .. "]" db.query("DELETE FROM `dbo`.`player_items` WHERE `player_items`.`player_id` = " .. (query:getDataInt("player_id")) .. " AND `player_items`.`sid` = " .. (query:getDataInt("sid")) .. " AND `player_items`.`pid` = " .. (query:getDataInt("pid")) .. ";") db.query("DELETE FROM `dbo`.`player_depotitems` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") db.query("DELETE FROM `dbo`.`tile_items` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") local f = io.open("data/logs/AntiClone.txt", "a+") f:write("Player: " .. text .. " - " .. os.date("%d %B %Y - %X.", os.time()) .. "\n\n----------------------------------------------------------\n") f:close() print(text) if query:getID() == -1 then local textplayer_items = "\n Check Items: Todos os Items Foram Removidos." print(textplayer_items) return true end CheckPlayer_Items() end return true end local function CheckPlayer_DepotItems() local query = db.getResult("SELECT *, SUBSTRING(CONVERT(attributes USING latin1) FROM 22) AS 'serial' FROM player_depotitems WHERE CONVERT(attributes USING latin1) LIKE '%description%' GROUP BY SUBSTRING(CONVERT(attributes USING latin1) FROM 22) HAVING COUNT(*) > 1") if query:getID() == -1 then local textquery = "\n Check Items: Nenhum item clonado foi encontrado." print(textquery) return true end if query:getID() ~= -1 then local text = "\n[!] -> Deleting item player_depotitems: [Player ID: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. " - Sid: " .. (query:getDataInt("sid")) .. " - Pid: " .. (query:getDataInt("pid")) .. " - Itemtype: " .. (query:getDataInt("itemtype")) .. " - Serial: " .. query:getDataString("serial") .. "]" db.query("DELETE FROM `dbo`.`player_items` WHERE `player_items`.`player_id` = " .. (query:getDataInt("player_id")) .. " AND `player_items`.`sid` = " .. (query:getDataInt("sid")) .. " AND `player_items`.`pid` = " .. (query:getDataInt("pid")) .. ";") db.query("DELETE FROM `dbo`.`player_items` WHERE `player_items`.`player_id` = " .. (query:getDataInt("player_id")) .. " AND `player_items`.`sid` = " .. (query:getDataInt("sid")) .. " AND `player_items`.`pid` = " .. (query:getDataInt("pid")) .. ";") db.query("DELETE FROM `dbo`.`player_depotitems` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") db.query("DELETE FROM `dbo`.`tile_items` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") local f = io.open("data/logs/AntiClone.txt", "a+") f:write("Player: " .. text .. " - " .. os.date("%d %B %Y - %X.", os.time()) .. "\n\n----------------------------------------------------------\n") f:close() print(text) if query:getID() == -1 then local textplayer_items = "\n Check Items: Todos os Items Foram Removidos." print(textplayer_items) return true end CheckPlayer_DepotItems() end return true end function onStartup() CheckPlayer_Items() CheckPlayer_DepotItems() return true end local function RemoveItemsFromPlayers(itemIDs) for _, itemID in ipairs(itemIDs) do local query = db.getResult("SELECT DISTINCT player_id FROM player_items WHERE itemtype = " .. itemID) if query:getID() == -1 then print("\n[!] -> Check Items: Nenhum jogador possui o item com ID " .. itemID .. ".") else local playerFound = false while query:next() do local playerId = query:getDataInt("player_id") local playerName = getPlayerNameByGUID(playerId) if playerName == nil then playerName = "Player Not Found" end local text = "\n[!] -> Deleting item from player: [Player ID: " .. playerName .. " - Item ID: " .. itemID .. "]" db.query("DELETE FROM `dbo`.`player_items` WHERE `player_id` = " .. playerId .. " AND `itemtype` = " .. itemID .. ";") local f = io.open("data/logs/ItemRemoval.txt", "a+") f:write("Player: " .. text .. " - " .. os.date("%d %B %Y - %X.", os.time()) .. "\n\n----------------------------------------------------------\n") f:close() print(text) playerFound = true end if not playerFound then print("\n[!] -> Check Items: Nenhum jogador possui o item com ID " .. itemID .. ".") end end end return true end function onStartup() -- lista de IDs de itens que você deseja remover de todos os jogadores local itemsToRemove = {15579, 15007, 10552, 15288} -- Substitua pelos IDs dos itens que você deseja remover RemoveItemsFromPlayers(itemsToRemove) CheckPlayer_Items() CheckPlayer_DepotItems() return true end global events: <globalevent name="AntiClone" type="start" event="script" value="Check.lua"/> Va ate a pasta data/logs/ e crie um arquivo em txt com o nome "AntiClone" qualquer duvida fico a disposição!
-
[SOURCE DO PDA]
e esses 6 virus ae é dboa?
-
[Pokexadventure] Release Open_Beta [10.98].
faltou o site mano, ou uma base que funcione nele sem bug
-
EXP Stages por storage
function onLogin(cid) local skill_rate = 0.0 -- rate das skill local rate = 1.0 -- 0% local expConfig = { storage_2 = {storage = 1001, rate = 1.4, message = "Agora você está ganhando 40% de experiência extra!"}, storage_3 = {storage = 1002, rate = 1.3, message = "Agora você está ganhando 30% de experiência extra!"}, storage_4 = {storage = 1003, rate = 1.2, message = "Agora você está ganhando 20% de experiência extra!"}, storage_5 = {storage = 1004, rate = 1.1, message = "Agora você está ganhando 10% de experiência extra!"}, storage_6 = {storage = 1005, rate = 1.0, message = ""}, storage_7 = {storage = 1006, rate = 1.0, message = ""}, storage_8 = {storage = 1007, rate = 1.0, message = ""}, storage_9 = {storage = 1008, rate = 1.0, message = ""}, storage_10 = {storage = 1009, rate = 1.0, message = ""}, storage_11 = {storage = 1010, rate = 1.0, message = ""}, storage_12 = {storage = 1011, rate = 1.0, message = ""}, storage_13 = {storage = 1012, rate = 1.0, message = ""}, -- adicione as outras storages e suas respectivas configurações aqui } local playerStorage = -1 local message = "Voce nao tem nenhum bonus de experiencia ativo." for storage, config in pairs(expConfig) do if getPlayerStorageValue(cid, storage) > 0 then playerStorage = storage rate = config.rate message = config.message break end end if playerStorage > 0 then -- verifica se o jogador tem alguma storage ativa doPlayerSetExperienceRate(cid, rate) doPlayerSetSkillRate(cid, 0, skill_rate) doPlayerSetSkillRate(cid, 1, skill_rate) doPlayerSetSkillRate(cid, 2, skill_rate) doPlayerSetSkillRate(cid, 3, skill_rate) doPlayerSetSkillRate(cid, 4, skill_rate) doPlayerSetSkillRate(cid, 5, skill_rate) doPlayerSetSkillRate(cid, 6, skill_rate) doPlayerSetSkillRate(cid, 7, skill_rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, message) else doPlayerSetExperienceRate(cid, rate) doPlayerSetSkillRate(cid, 0, skill_rate) doPlayerSetSkillRate(cid, 1, skill_rate) doPlayerSetSkillRate(cid, 2, skill_rate) doPlayerSetSkillRate(cid, 3, skill_rate) doPlayerSetSkillRate(cid, 4, skill_rate) doPlayerSetSkillRate(cid, 5, skill_rate) doPlayerSetSkillRate(cid, 6, skill_rate) doPlayerSetSkillRate(cid, 7, skill_rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, message) end return TRUE end
-
Alguem me ajuda com esse BUG (PLAYER A NIL VALUE)
tbm estou
-
Algem Me Pode arrumar algum scrip casino igual ou semelhante à imagem
TA AEEEE! ------------------------------------------- -- | Script: Cassino - CASSINO de items | -- -- | Author: Feeh | -- -- | Test: OTX, TFS 0.4 | -- ------------------------------------------- local config = { effect = 587, -- efeito em cima do jogador effectReward = 578, -- efeito em cima do premio effectLever = 586, -- efeito em cima da alavanca eventCoin = 16086, -- valor para jogar qtdCoin = 1, -- quantidade do coin para jogar. lose = false, -- se ira ter a opção de não ganhar nada itemLose = 2638, -- id do item que representara a perca (Obs: não se esqueça de adiciona-lo a lista de items) effectLose = 586, -- efeito em cima do premio quando perder exaust = 10.0, -- Segundos de exaust storage = 23111, -- Storage do exaust used = 7, -- Tempo da duração da CASSINO used_storage = 23112, -- Storage pra verificar se a CASSINO esta sendo usada used = 7, poss = { [1] = {x = 1257, y = 1071, z = 7}, -- Coloque a coordenada da POS1 no Map Editor [2] = {x = 1258, y = 1071, z = 7}, -- Coloque a coordenada da POS2 no Map Editor [3] = {x = 1259, y = 1071, z = 7}, -- Coloque a coordenada da POS3 no Map Editor - local do premio [4] = {x = 1260, y = 1071, z = 7}, -- Coloque a coordenada da POS4 no Map Editor [5] = {x = 1261, y = 1071, z = 7} -- Coloque a coordenada da POS5 no Map Editor }, items = { -- id = id do item - chance = chance de aparecer o item - count = a quantidade de item que a pessoa ira ganhar [10] = {id = 16581, chance = 40, count = 1}, -- ITEM NAME [11] = {id = 15487, chance = 30, count = 1},-- ITEM NAME [12] = {id = 15488, chance = 30, count = 1}, -- ITEM NAME [13] = {id = 15486, chance = 30, count = 1}, -- ITEM NAME [14] = {id = 15870, chance = 30, count = 1}, -- ITEM NAME [15] = {id = 15871, chance = 20, count = 1}, -- ITEM NAME [16] = {id = 15872, chance = 15, count = 1}, -- ITEM NAME [17] = {id = 16086, chance = 60, count = 1}, -- ITEM NAME [18] = {id = 15433, chance = 30, count = 1}, -- ITEM NAME [20] = {id = 15532, chance = 60, count = 1}, -- ITEM NAME } } local slot1, slot2, slot3, slot4, slot5 local function cleanTile(item, i) doCleanTile(config.poss[i], true) doCreateItem(item, 1, config.poss[i]) end local function raffle(item) if slot4 ~= nil then slot5 = slot4 cleanTile(1642, 5) doCreateItem(slot5.id, slot5.count, config.poss[5]) end if slot3 ~= nil then slot4 = slot3 cleanTile(1642, 4) doCreateItem(slot4.id, slot4.count, config.poss[4]) end if slot2 ~= nil then slot3 = slot2 cleanTile(2605, 3) doCreateItem(slot3.id, slot3.count, config.poss[3]) end if slot1 ~= nil then slot2 = slot1 cleanTile(1642, 2) doCreateItem(slot2.id, slot2.count, config.poss[2]) end slot1 = {id = item.id, count = item.count} cleanTile(1642, 1) doCreateItem(slot1.id, slot1.count, config.poss[1]) end local function result(uid) if isPlayer(uid) then if config.lose and slot3.id == config.itemLose then doSendMagicEffect(getCreaturePosition(uid), CONST_ME_POFF) doSendMagicEffect(config.poss[3], config.effectLose) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] Que azar, tente novamente!.") else doSendMagicEffect(getCreaturePosition(uid), config.effect) doSendMagicEffect(config.poss[3], config.effectReward) broadcastMessage( "Mensagem para o ganhador do caassino " .. slot3.count .. " " .. getItemNameById(slot3.id) .. ". no Cassino!") doPlayerAddItem(uid, slot3.id, slot3.count) end end end function onUse(cid, item, pos, itemEx, posEx) if item.itemid == 1945 then doTransformItem(item.uid, item.itemid + 1) end if item.itemid == 1946 then doTransformItem(item.uid, item.itemid - 1) end if getGlobalStorageValue(config.used_storage) <= os.time() then if not exhaustion.check(cid, config.storage) then if getPlayerItemCount(cid, config.eventCoin) >= config.qtdCoin then local rand = math.random(10, 30) doSendMagicEffect(pos, config.effectLever) setGlobalStorageValue(config.used_storage, rand + 5 + os.time()) exhaustion.set(cid, config.storage, rand) doPlayerRemoveItem(cid, config.eventCoin, config.qtdCoin) local loop = 0 slot1 = nil slot2 = nil slot3 = nil slot4 = nil slot5 = nil for i = 1, #config.poss do if i == 3 then cleanTile(2605, i) else cleanTile(1642, i) end end while rand >= loop do local roll = math.random(1, 100) index = math.random(#config.items) if roll <= config.items[index].chance then local item = config.items[index] loop = loop + 1 addEvent(raffle, loop * 1000, item) end end addEvent(result, (rand + 2) * 1000, cid) else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] Voce precisa ter " .. config.qtdCoin .. " " .. getItemNameById(config.eventCoin) .. " na BP!.") end else doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Exhaustion, aguarde " .. exhaustion.get(cid, config.storage) .. " segundos para usar a CASSINO novamente!") return false end return true else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] Sorteio em andamento, espere finalizar para iniciar outro.") end end <action actionid="1732" event="script" value="cassino.lua"/>
-
Exclusive Cave System By Account! 8.6
é so executa essa query do VODKART: CREATE TABLE exclusive_cave ( id INT NOT NULL AUTO_INCREMENT, account_id INTEGER NOT NULL, player_id INTEGER NOT NULL, player_name VARCHAR( 255 ) NOT NULL, cave_id INT NOT NULL DEFAULT 0, friend_id INT NOT NULL DEFAULT 0, time INTEGER NOT NULL, PRIMARY KEY ( id ) ); pelomenos resolveu o meu tfs 0.4
- Erro System Cave Exclusiva!
-
Anti Clone System [GlobalEvents] Shop.lua[Gesior] / CheckItens.lua
estou com esse error: [1:17:43.155] [Error - GlobalEvent Interface] [1:17:43.157] data/globalevents/scripts/Check.lua:onStartup [1:17:43.160] Description: [1:17:43.161] (luaGetPlayerNameByGUID) Player not found [1:17:43.163] [Error - GlobalEvent Interface] [1:17:43.164] data/globalevents/scripts/Check.lua:onStartup [1:17:43.165] Description: [1:17:43.166] data/globalevents/scripts/Check.lua:9: attempt to concatenate a nil value [1:17:43.167] stack traceback: [1:17:43.168] data/globalevents/scripts/Check.lua:9: in function 'CheckPlayer_Items' [1:17:43.169] data/globalevents/scripts/Check.lua:53: in function <data/globalevents/scripts/Check.lua:52> poderia me ajudar? codigo: local function CheckPlayer_Items() query = db.getResult("SELECT *, SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) AS 'serial' FROM player_items WHERE CONVERT( attributes USING latin1 ) LIKE '%description%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) having count(*) > 1") if (query:getID() == -1) then textquery = "\n Check Items : Nenhum item encontrado." print(textquery) return true end if (query:getID() ~= -1) then text = "\n[!] -> Deleting item player_items: [Player ID: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. " - Sid: "..(query:getDataInt("sid")).." - Pid: "..(query:getDataInt("pid")).." - Itemtype: "..(query:getDataInt("itemtype")).." - Serial: " .. query:getDataString("serial") .."" db.query("DELETE FROM `otservs`.`player_items` WHERE `player_items`.`player_id` =" .. (query:getDataInt("player_id")) .. " AND `player_items`.`sid` ="..(query:getDataInt("sid")).." AND `player_items`.`pid` ="..(query:getDataInt("pid"))..";") db.query("DELETE FROM `otservs`.`player_depotitems` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") db.query("DELETE FROM `otservs`.`tile_items` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") f = io.open("data/logs/AntiClone.txt", "a+") f:write("Player: "..text.." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n\n----------------------------------------------------------\n") f:close() print(text) if (query:getID() == -1) then textplayer_items = "\n Check Items : Todos os Items Foram Removidos." print(textplayer_items) return true end CheckPlayer_Items() end return true end local function CheckPlayer_DepotItems() query = db.getResult("SELECT *, SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) AS 'serial' FROM player_depotitems WHERE CONVERT( attributes USING latin1 ) LIKE '%description%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) having count(*) > 1") if (query:getID() == -1) then textquery = "\n Check Items : Nenhum item encontrado." print(textquery) return true end if (query:getID() ~= -1) then text = "\n[!] -> Deleting item player_depotitems: [Player ID: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. " - Sid: "..(query:getDataInt("sid")).." - Pid: "..(query:getDataInt("pid")).." - Itemtype: "..(query:getDataInt("itemtype")).." - Serial: " .. query:getDataString("serial") .."" db.query("DELETE FROM `otservs`.`player_items` WHERE `player_items`.`player_id` =" .. (query:getDataInt("player_id")) .. " AND `player_items`.`sid` ="..(query:getDataInt("sid")).." AND `player_items`.`pid` ="..(query:getDataInt("pid"))..";") db.query("DELETE FROM `otservs`.`player_depotitems` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") db.query("DELETE FROM `otservs`.`tile_items` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") f = io.open("data/logs/AntiClone.txt", "a+") f:write("Player: "..text.." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n\n----------------------------------------------------------\n") f:close() print(text) if (query:getID() == -1) then textplayer_items = "\n Check Items : Todos os Items Foram Removidos." print(textplayer_items) return true end CheckPlayer_DepotItems() end return true end function onStartup() CheckPlayer_Items() CheckPlayer_DepotItems() return true end
-
Mensagem em AZUL CLARO no Default
MESSAGE_STATUS_CONSOLE_LIGHT_BLUE ESTA COM ERROR EDIT: CONSEGUIR COM ESSE: doPlayerSendTextMessage(cid, TALKTYPE_PRIVATE_NP,
-
Npc Premium Points
alguem conseguiu criar?
-
2 comandos para checar itens
TAMBEM TOU PRECISANDO, ALGUEM PODERIA DISPONIBILIZAR?
-
[PEDIDO] System nave DBO 8.60
ACHEI UM NPC: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) posInicial = nil posFinal = nil npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid ---------------------- CONFIGS -------------------------------------- local posis = { --[pos do npc] = {pos inicial, pos final}, [{x = 1373, y = 1234, z = 15}] = {posIni = {x = 1210, y = 1077, z = 6}, posFinal = {x = 1210, y = 1068, z = 6}}, } for npcPos, pos in pairs(posis) do if isPosEqual(getThingPos(getNpcCid()), npcPos) then posInicial = pos.posIni posFinal = pos.posFinal break end end if not posInicial then selfSay("A error has occored!", cid) print("A error has occored, npc city aren't in the correct place!") return false end local outfit = getPlayerSex(cid) == 0 and {lookType = 1476} or {lookType = 1476} --outfit q o player vai ganhar, a 1* eh female e a 2* eh male local msg = msg:lower() ------------------------------------------------------------------------------ if msgcontains(msg, 'yes') then -------------------------------------------------------------------------------------------------------------------------- selfSay("Tem certeza que quer ir {go}? | Are you sure do you want to {go}?", cid) talkState[talkUser] = 1 return true elseif (msgcontains(msg, 'go') or msgcontains(msg, 'Go') or msgcontains(msg, 'Go')) and talkState[talkUser] == 1 then selfSay("Ok então. | Ok, good trip.", cid) doTeleportThing(cid, posInicial, false) mayNotMove(cid, true) setPlayerStorageValue(cid, 75846, 1) doSetCreatureOutfit(cid, outfit, -1) moveTravel(cid, posFinal) local posis = {x = getPlayerPosition(cid).x + 3, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} doSendMagicEffect(posis, 346) --doSendMagicEffect(getThingPos(cid), 346) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) QUALQUER DUVIDA EU AJUDO A MONTAR!
-
tfs0.4.0.0 bugo distro
Se alguém também teve esse problema, ou tiver, eu resolvi entrando no servidor e usando o comando: !save pra atualizar a database com os itens que realmente estao no mapa e corrigir os bugs.