
Pricila
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
Pricila deu reputação a Kemmlly em [BUG] Auto save derrubando o servidor@ivs6556740
Tenta esse:
local config = { broadcast = {120, 30}, shallow = "no", delay = 120, events = 30 } config.shallow = getBooleanFromString(config.shallow) local function executeSave(seconds) if(seconds > 0) then addEvent(executeSave, config.events * 1000, seconds - config.events) else doSaveServer(config.shallow) end end function onThink(interval) if(table.maxn(config.broadcast) == 0) then doSaveServer(config.shallow) else executeSave(config.delay) end return true end
-
Pricila deu reputação a Kemmlly em Nome [VIP] GesiorVi alguns tópicos antigos com a seguinte dúvida; "Quando um jogador fica vip e adicionar o nome [VIP] na frente, outros jogadores conseguem criar um cha com o mesmo nome que o dele, assim, quando acaba a VIP e o nome vai voltar ao normal da erro na distro, como corrigir isso?" e não achei solução, então, criei uma, para quem precisa está aqui:
accountmanagement.php, procure por:
$newchar_errors[] .= 'You have too many characters on your account <b>('.$number_of_players_on_account.'/'.$config['site']['max_players_per_account'].')</b>!'; Adicione embaixo:
$check_name_in_database->find("[vip] $newchar_name"); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'Esse nome ja esta sendo usado, por favor, escolha outro!'; Em:
("[vip] $newchar_name") Se sua abreviação do vip for difetene como (vip) ou só VIP você altera.
-
Pricila deu reputação a Kemmlly em (Resolvido)[Pedido] NPC Task Systemitem = {2123,1} Mude para o id do item e a quantidade que você quer
exp = 200 Mude para a quantidade de XP que você quer q o player receba quando terminar a task
-
Pricila deu reputação a Kemmlly em (Resolvido)[Pedido] NPC Task System@Xaraziinho
["cyclops"] = {monster_race={"cyclops","cyclops smith","cyclops drone"}, storage_start = 200204, storage = 91004,count = 500,exp = 50000,money = 30000},
800 era o dinheiro q iria receber
-
Pricila deu reputação a Kemmlly em [TALKACTION] Caixa PostalBem, procurei aqui no Tibia King e não achei nada relacionado, então, criei um script de Caixa Postal, ou, Mensagem Offline, como preferirem.
Versão: TFS 0.4
Autor: Kemmlly
Como funciona:
Enviar: O jogador usa o comando: !caixa "nome do jogador" - "Mensagem", sem as aspas. Se o jogador estiver Off, a mensagem ficará guardada na Caixa Postal dele, se não, o jogo te indicará a falar pelo PV.
Receber: O jogador que recebeu a mensagem usa o comando: !recados ler, para ler as mensagens que tem disponíveis na caixa, ou, !recados apagar, para limpar a caixa postal se estiver muito cheia, pois acumula mensagens, segue exemplo:
!recados ler
!recados apagar
Instalação:
data/talkactions/scripts/caixapostal.lua
function onSay(cid, words, param, channel) local t = string.explode(param, "-") if t[1] == '' or t[1] == nil then doPlayerSendTextMessage(cid, 19, "Comando invalido, use !caixa 'NOME DO JOGADOR' - 'MENSAGEM' sem as aspas.") return true else local player = db.getResult("SELECT `id` FROM `players` WHERE `name` = '"..t[1].."';"):getDataInt("id") if player == nil then doPlayerSendTextMessage(cid, 19, "Esse jogador nao existe!") return true elseif player ~= nil and t[2] == '' then doPlayerSendTextMessage(cid, 19, "A mensagem nao pode ser vazia!") return true elseif player ~= nil and t[2] ~= '' then if getPlayerByNameWildcard(t[1]) ~= nil then doPlayerSendTextMessage(cid, 19, "Esse jogador esta online, fale pelo PV!") return true else local origem = getCreatureName(cid) local caixa = getGlobalStorageValue(player) local data = os.date("%d/%b as %X") if caixa == -1 or caixa == "Voce nao tem nenhum recado!" then caixa = "\n" end doPlayerSendTextMessage(cid, 19, "A mensagem foi enviada com sucesso!") setGlobalStorageValue(player, "["..data.."] - "..origem..": "..t[2].." \n\n"..caixa.."") return true end end end end
data/talkactions/scripts/recados.lua
function onSay(cid, words, param, channel) local t = string.explode(param, ",") local player = db.getResult("SELECT `id` FROM `players` WHERE `name` = '"..getCreatureName(cid).."';"):getDataInt("id") local mensagens = getGlobalStorageValue(player) if t[1] == '' or t[1] == nil then doPlayerSendTextMessage(cid, 19, 'Comando invalido.') elseif t[1] == 'ler' then if mensagens == -1 then mensagens = "Voce nao tem nenhum recado!" doShowTextDialog(cid, words, '-- Recados --\n\n'..mensagens..'') else doShowTextDialog(cid, words, '-- Recados --\n\n'..mensagens..'') end elseif t[1] == 'apagar' then doPlayerSendTextMessage(cid, 19, 'Mensagens apagadas com sucesso!') setGlobalStorageValue(player, "Voce nao tem nenhum recado!") end return true end
data/talkactions/talkactions.xml
<talkaction words="!caixa" event="script" value="caixapostal.lua"/> <talkaction words="!recados" event="script" value="recados.lua"/>
Ultimo passo, porém, importante;
em data/lib/004-database.lua vá até a linha 60 e mude:
error("[Result:getDataInt] Result not set!") para:
return nil
Se no seu não for exatamente na linha 60, procure a função:
function Result:getDataInt(s) if(self:getID() == -1) then error("[Result:getDataInt] Result not set!") end E faça a alteração. Isso é para não dar erro na hora de procurar um player pelo nome quando o jogador escrever um nome de player inválido.
Espero que gostem, abraços.