Vitorelias
-
Total de itens
116 -
Registro em
-
Última visita
-
Dias Ganhos
2
Tipo de Conteúdo
Perfis
Fóruns
Calendário
Publique
Posts postados por Vitorelias
-
-
2 horas atrás, Rogex Joyz disse:
Eu recomendo você usar o sistema de task do Vodkart, eu testei em tfs 0.4 e foi perfeitamente funcional. O sistema conta com uma janela pop-up para as tasks, você acompanha em tempo real no seu default o andamento da task atual, há um rank de players das tasks falando !task rank e ainda há um prêmio para o player que completar todas as tasks (tudo configurável). Sinceramente, não consigo imaginar um sistema de task melhor que este. Caso queira dar uma olhada, clique aqui.
Podem fechar o topico, já foi resolvido Vodkart já me ajudo.
-
Olá boa tarde, faça o seguinte abra seu talkaction.xml e adicione essa tag
<talkaction words="/installreset" event="script" value="reset.lua"/> e da o comando /reload talkaction no servidor ou reiniciar o servidor
feito isso no servidor usa esse comando /installreset e tenta resetar fazendo favor.
- gordorezzi reagiu a isso
- 1
-
Em 18/11/2020 em 19:24, FlameArcixt disse:
Não sou programador mas talvez seja assim, quem souber, me corrija
Script Wall:
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if getPlayerStorageValue(cid,STO,1) then
doTeleportThing(cid,POS)
addEvent(doSendAnimatedText,1000,POS1,"1",COR)
addEvent(doSendAnimatedText,2000,POS1,"2",COR)
addEvent(doSendAnimatedText,3000,POS1,"3",COR)
addEvent(doSendAnimatedText,4000,POS1,"4",COR)
addEvent(doSendAnimatedText,5000,POS1,"5",COR)
addEvent(doSendAnimatedText,6000,POS1,"6",COR)
addEvent(doSendAnimatedText,7000,POS1,"7",COR)
addEvent(doSendAnimatedText,8000,POS1,"8",COR)
addEvent(doSendAnimatedText,9000,POS1,"9",COR)
addEvent(doSendAnimatedText,10000,POS1,"10",COR)
addEvent(doSummonCreature,10000,NOMECRIATURA,POSSPAWN)
else
doPlayerSendTextMessage(cid, 18, "Edite a mensagem")
end
endMensagem ao matar o monstro: Mensagem death
Não entendi essa parte do script doTeleportThing(cid,POS) no POS no caso eu tenho que colocar a position que o player será teletransportado? esse sistema eu vi em um otserv vou postar o video para melhor entender mas obrigado ai vareu
1 minuto atrás, Vitorelias disse:Não entendi essa parte do script doTeleportThing(cid,POS) no POS no caso eu tenho que colocar a position que o player será teletransportado? esse sistema eu vi em um otserv vou postar o video para melhor entender mas obrigado ai vareu
No caso também o Player vai poder ter varias storage, por que ele pode fazer várias task de criaturas .
1 minuto atrás, Vitorelias disse: -
.Qual servidor ou website você utiliza como base?
TFS 0.4 8.60
Boa tarde, gostaria de um script que o Player precisasse de uma Storage para clicar em um Wall e após clicar na Wall ele será teleportado para uma posição X ex; 542, 542, 7.
e se por acaso o Player clicar na Wall sem ter a Storage aparece uma mensagem pra ele (Você precisa de uma permissão).
Após o player cai na posição 542,542,7 preciso que apareça uma criatura em uma outra posição exemplo pos = 543, 544, 7 só que antes da criatura spawnar preciso que conte 10 segundos que nem na imagem > após passar esses 10 segundos a criatura aparece ex: Apocalypse. e logo ao matar o Apocalypse preciso que apareça uma mensagem para o Player. Parabéns você matou Apocalypse você será removido em 1 minuto da arena BOSS.
OBS: Esqueci de um detalhe quando a criatura Demon morrer preciso que a storage seja removida do Player.
A ideia é o Player fazer a Task e quando ele concluir a task, a recompensa será uma storage que será preciso para acessar a sala do BOSS.
OBS. O meu NPC já esta tudo certo já esta entregando a Storage para o Player.
Obrigado!!!
-
.Qual servidor ou website você utiliza como base?
TFS 0.4 8.6
Qual o motivo deste tópico?
Olá boa noite, tenho um script de NPC de Task funciona porem esta com alguns erro, e precisa fazer algumas modificações.
Está surgindo algum erro? Se sim coloque-o aqui.
Citarn ta contando a task e tem outra coisa quando vai fazer a task so ta dando pra pegar 1 task por semana era pra poder pegar todas elas exemplo se eu quiser pegar todas as task dragon,dragon,lord etc eu poderia porem dps de terminha exemplo a de dragon so dps de 1 semana que eu posso fazer a de dragons denovo más se eu não tive feito a de dragon guardian eu posso fazer ou seja cada task teria o seu devido prazo pra fazer separadamente.
edit pra pode pegar todas as task se quiser acho que voce vai ter que colocar pra cada task ter uma storage propria exemplo o dragon ter a sua storage e a do dragon lord outra e pah dai não haveria problema se o player quise-se fazer varias taskVocê tem o código disponível? Se tiver publique-o aqui:
1* creaturescripts/scripts/DragonsTask.lua
local function isSummon(cid)
if getCreatureMaster(cid) ~= cid then
return true
end
return false
end
function onDeath(cid, corpse, deathList)
local stoTime = 96588
local stoKill = 96589
local stoName = 96590
local task = {
["dragon"] = {kill = "Dragon", qnt = 1500, exp = 1000000},
["dragon lord"] = {kill = "Dragon Lord", qnt = 1000, exp = 800000},
["hydra"] = {kill = "Hydra", qnt = 800, exp = 700000},
["frost dragon"] = {kill = "Frost Dragon", qnt = 600, exp = 500000},
["dragon guardian"] = {kill = "Dragon Guardian", qnt = 500, exp = 400000},
["thunder dragon"] = {kill = "Thunder Dragon", qnt = 400, exp = 300000},
["demodras"] = {kill = "Demodras", qnt = 300, exp = 200000},
}
for a = 1, #deathList do
local pk = deathList[a]
local myTask = task[string.lower(getPlayerStorageValue(pk, stoName))]
local left = math.ceil((getPlayerStorageValue(pk, stoTime) - os.time())/(24 * 60 * 60))
if myTask and getCreatureName(cid) == getPlayerStorageValue(pk, stoName) and not isSummon(cid) then
if left > 0 and getPlayerStorageValue(pk, stoKill) > 0 then
setPlayerStorageValue(pk, stoKill, getPlayerStorageValue(pk, stoKill) - 1)
local sto = getPlayerStorageValue(pk, stoKill)
local jaMatou = math.abs(getPlayerStorageValue(pk, stoKill)-myTask.qnt)
if sto == 0 then
doPlayerSendTextMessage(pk, 20, "["..myTask.kill.." Task Finalizada] ("..myTask.qnt.."/"..myTask.qnt..")")
else
doPlayerSendTextMessage(pk, 20, "["..myTask.kill.." Task] ("..jaMatou.."/"..myTask.qnt..")")
end
end
end
end
return true
end
creaturescripts/scripts/login.lua
registerCreatureEvent(cid, "DragonsTask")
creaturescripts/creaturescripts.xml
<event type="death" name="DragonsTask" event="script" value="DragonsTask.lua"/>
monster/ em todos os dragoes da quest...
<script> <event name="DragonsTask"/> </script>
npc/scripts/NpcDragonsTask.lua
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) 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
local stoTime = 96588
local stoKill = 96589
local stoName = 96590
----
local msg = string.lower(msg)
local left = math.ceil((getPlayerStorageValue(cid, stoTime) - os.time())/(24 * 60 * 60)) --nao mexe!
local task = {
["dragon"] = {kill = "Dragon", qnt = 1500, exp = 1000000},
["dragon lord"] = {kill = "Dragon Lord", qnt = 1000, exp = 800000},
["hydra"] = {kill = "Hydra", qnt = 800, exp = 700000},
["frost dragon"] = {kill = "Frost Dragon", qnt = 600, exp = 500000},
["dragon guardian"] = {kill = "Dragon Guardian", qnt = 500, exp = 400000},
["thunder dragon"] = {kill = "Thunder Dragon", qnt = 400, exp = 300000},
["demodras"] = {kill = "Demodras", qnt = 300, exp = 200000},
}
local myTask = task[string.lower(getPlayerStorageValue(cid, stoName))] or {}
if (msgcontains(msg, 'dragoes') or msgcontains(msg, 'missao')) then
if getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) > 0 then
local faltaMatar = getPlayerStorageValue(cid, stoKill)
local jaMatou = math.abs(getPlayerStorageValue(cid, stoKill)-myTask.qnt)
local prazo = os.date("%d/%m/%y %X", getPlayerStorageValue(cid, stoTime))
selfSay("Você ainda não matou os "..myTask.qnt.." "..myTask.kill..", atualmente você matou ".. (jaMatou)..", resta "..faltaMatar..". Seu prazo é de até "..prazo..".", cid)
talkState[talkUser] = 0
return true
elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left <= 0 and getPlayerStorageValue(cid, stoKill) ~= -1 then
selfSay("Infelismente você não matou os "..myTask.qnt.." "..myTask.kill.." a tempo. Se você quiser, você pode tentar fazer denovo a missao.", cid)
setPlayerStorageValue(cid, stoTime, -1)
setPlayerStorageValue(cid, stoKill, -1)
setPlayerStorageValue(cid, stoName, -1)
talkState[talkUser] = 0
return true
elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) == -1 then
local prazo = os.date("%d/%m/%y %X", getPlayerStorageValue(cid, stoTime))
selfSay("Você tem que esperar pelo menos 1 semana para poder pegar essa tarefa denovo. O prazo acaba dia ".. prazo..".", cid)
talkState[talkUser] = 0
return true
elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) == 0 then
selfSay("Obrigado! você matou os "..myTask.qnt.." "..myTask.kill.." em menos de 1 semana. Aqui esta sua recompensa! Lembre-se que você pode fazer esta task quantas vezes quiser,desde que tenha concluído 1 semana contado a partir do dia de inicio.", cid)
doPlayerAddExp(cid, myTask.exp) --premio
setPlayerStorageValue(cid, stoKill, -1)
setPlayerStorageValue(cid, stoName, -1)
talkState[talkUser] = 0
return true
else
if getPlayerStorageValue(cid, stoTime) ~= -1 and getPlayerStorageValue(cid, stoKill) == -1 then
setPlayerStorageValue(cid, stoTime, -1) --soh pra evitar problemas...
end
selfSay("Eu caço vários tipos, como dragon, dragon lord, hydra, frost dragon, dragon guardian, thunder dragon e demodras. Você quer me ajudar a caçar um deles? Qual?", cid)
talkState[talkUser] = 1
end
elseif task[msg] and talkState[talkUser] == 1 then
setPlayerStorageValue(cid, stoName, task[msg].kill)
myTask = task[string.lower(getPlayerStorageValue(cid, stoName))]
selfSay("Ótimo! Você precisa matar pelo menos "..myTask.qnt.." "..myTask.kill.." em um prazo de 1 semana para te dar recompensa. Aceita?", cid)
talkState[talkUser] = 2
elseif (msgcontains(msg, 'no') or msgcontains(msg, 'nao')) and talkState[talkUser] == 2 then
selfSay("Ok então, fale comigo denovo quando você quiser me ajudar a matar esses malditos dragões!", cid)
talkState[talkUser] = 0
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 2 then
local semana = 7 * 24 * 60 * 60
setPlayerStorageValue(cid, stoTime, os.time()+semana)
setPlayerStorageValue(cid, stoKill, myTask.qnt)
setPlayerStorageValue(cid, stoName, myTask.kill)
local sto = getPlayerStorageValue(cid, stoTime)
selfSay("Você já pode começar a matar os ".. (myTask.kill) ..", mas cuidado! É uma criatura muito forte. Volte aqui quando matar ".. (myTask.qnt) .." ".. (myTask.kill) .." para ser recompensado. O prazo é até ".. os.date("%d/%m/%y %X", sto) ..".", cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
npc/Arthas.xml
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Arthas" script="NpcDragonsTask.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2">
<health now="150" max="150"/>
<look type="640" head="91" body="114" legs="86" feet="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Meu nome é Arthas, sou caçador de {dragoes}."/>
</parameters>
</npc>
Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
.Qual servidor ou website você utiliza como base?
Qual o motivo deste tópico?
No meu RME quando eu abro o mapa as walls que coloquei na house esta certo porem quando logo no servidor as walls que coloquei estão diferente segue abaixo as Imagens.
Está surgindo algum erro? Se sim coloque-o aqui.
Citar< No servidor No RME
Não sei por que isso acontece, já tentei deletar a house e criar novamente porém o erro persiste, agora se eu colocar a porta em outro lugar funciona.
-
41 minutos atrás, Naze disse:
ve se em sua lib/ tem algum arquivo exhaustion.lua se nao tiver algo assim ou parecido, cria e adiciona isso.
exhaustion = { check = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end return getPlayerStorageValue(cid, storage) >= os.time(t) end, get = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end local exhaust = getPlayerStorageValue(cid, storage) if(exhaust > 0) then local left = exhaust - os.time(t) if(left >= 0) then return left end end return false end, set = function (cid, storage, time) setPlayerStorageValue(cid, storage, os.time(t) + time) end, make = function (cid, storage, time) local exhaust = exhaustion.get(cid, storage) if(not exhaust) then exhaustion.set(cid, storage, time) return true end return false end } exhaust = { check = function (cid, storage) if getPlayerStorageValue(cid, storage) - os.time(t) > 0 then return true end return false end, get = function (cid, storage) local exhaust = (getPlayerStorageValue(cid, storage) - os.time(t)) return exhaust end, set = function (cid, storage, time) setPlayerStorageValue(cid, storage, os.time(t) + time) end, make = function (cid, storage, time) local exhaust = exhaustion.get(cid, storage) if exhaust == 0 then exhaustion.set(cid, storage, time) return true end return false end, time = function (cid, storage) return convertTime(getPlayerStorageValue(cid, storage) - os.time()) end }
Boa noite, na lib não tinha o arquivo exhaustion.lua eu criei e joguei o script dentro porem não funcionou eu peguei do meu otserv 8.6 também que estava funcionando não deu certo.
agora que mudei de versão coloquei cliente 10 e 11.90 os script que tenho no 8.6 a maioria não funciona kk to bem chateado
Lua Script Error: [TalkAction Interface]
data/talkactions/scripts/reset.lua:onSay
data/talkactions/scripts/reset.lua:29: attempt to index global 'exhaustion' (a nil value)
stack traceback:
[C]: in function '__index'
data/talkactions/scripts/reset.lua:29: in function <data/talkactions/scripts/reset.lua:27> -
.Qual servidor ou website você utiliza como base?
OTX Server Global - Versão: (3.10)
Qual o motivo deste tópico?
Estou tentando instalar o sistema de Reset nesse global porém quando o player usa o !resetar não funciona e o /installreset também não funciona.
Está surgindo algum erro? Se sim coloque-o aqui.
CitarVocê tem o código disponível? Se tiver publique-o aqui:
--[[ <(Advanced Reset System 2.0)>
Autor: Juniior Cwb ;*. Contato: ([email protected])
Versão: 2.0
Testado em: 8.50 e 8.60
TFS: 0.3.6 and 0.4.0
Atenção , Se Achar Esse Sistema em outro site ou forum favor comunicar Eu ( Juniior Cwb ) [email protected] )
-=[Características]=-
~( Versão 2.0 )~
- Resets agora Armazenados na DataBase; (Sem Valor de Storage)
- Instala o System e cria a Tabela de Resets com o comando "/installreset";
- Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.;
- [STAGES] para "Premium Account" e "Free Account"; ]]
--=[Functions]=--
-- installReset()' [Instala o Sistema.]
-- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.]
-- nowReseting()' [Verifica, retorna o erro ou reseta.]
-- getPlayerReset(cid)' [Pega numero de resets do player.]
-- checLevelStageReset(cid)' [Verifica o Level para Resetar.]
-- newReset(cid)' [Verifica todas as Condições de Reset.]
-- addValue(value)' [Adiciona numero de resets.]
--=[Comandos de Jogadores]=--
-- "!resetar" -- Para Resetar.
local exhaustionMinutes = 1 -- exausted em segundos
local storageUse = 34538 -- storage usado no exausted.
function onSay(cid, words, param)
if words =="!resetar" then
if(exhaustion.check(cid, storageUse) == TRUE) then
if (exhaustion.get(cid, storageUse) >= 5) then
doPlayerSendCancel(cid, "Voçê só pode usar após [" .. math.floor(exhaustion.get(cid, storageUse) / 5 + 1) .."] Segundos.")
end
if (exhaustion.get(cid, storageUse) <= 5) then
doPlayerSendCancel(cid, "Voçê só pode usar após [" .. exhaustion.get(cid, storageUse).."] segundos.")
end
return TRUE
end
exhaustion.set(cid, storageUse, exhaustionMinutes*5)
--[ Condições de Reset ] --
local coNdConf = {
needPz = false, -- Precisa estar em Pz pra resetar? [false, false]
needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
withe = false, -- Players com Pk Withe podem resetar? [false, false]
red = true, -- Players com Pk Red pode resetar? [false, false]
battle = true, -- Players precisão estar sem battle pra resetar? [true, true]
teleport = false, -- Teleportar Player para o templo após resetar? [false, false]
look = true, -- Aparecer Resets no Look do Player? [true, true]
pid = getPlayerGUID(cid), -- Não Mexer.
--[ Configurações do Reset ] --
resetConf = {
Level = 350, -- Level Necessário para Resetar. [Valor]
backLvl = 25, -- Level que voltará após o Reset. [Valor]
time = 0, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
},
}
--[[>> STAGES <<]]--
x=true;X=true -- Não Mexer.
local stage = {Abilitar = {x}, Desabilitar = {}, --<< Abilitar Stages?? >>-- [{x};{}]
-- [RESETS] | [PREMMY] | [FREE]
stage1= {resets= 1, premmy= 330, free= 330},
stage2= {resets= 5, premmy= 355, free= 355}, -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}])
stage3= {resets= 10, premmy= 360, free= 360}, -- resets = Número de resets para o Stage;
stage4= {resets= 15, premmy= 365, free= 365}, -- premmy = Level necessário para Premium Accounts;
stage5= {resets= 20, premmy= 380, free= 380}, -- free = Level necessário para Free Accounts;
stage6= {resets= 25, premmy= 390, free= 390}, -- Coloque em Ordem...
stage7= {resets= 30, premmy= 410, free= 410}, -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES]
stage8= {resets= 35, premmy= 430, free= 430}, -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x}
stage9= {resets= 40, premmy= 450, free= 450},
stage10={resets= 45, premmy= 480, free= 480},
stage11={resets= 50, premmy= 510, free= 510},
stage12={resets= 55, premmy= 550, free= 550},
stage13={resets= 60, premmy= 610, free= 610},
stage14={resets= 65, premmy= 750, free= 750},
stage15={resets= 70, premmy= 760, free= 760},
stage16={resets= 75, premmy= 900, free= 900},
stage17={resets= 80, premmy= 1000, free= 1000},
stage18={resets= 85, premmy= 1300, free= 1300},
stage19={resets= 90, premmy= 1500, free= 1500},
stage20={resets= 95, premmy= 3000, free= 3000},
stage21={resets= 100, premmy= 2800, free= 2800},
stage22={resets= 105, premmy= 2900, free= 2900},
stage23={resets= 110, premmy= 3200, free= 3200},
stage24={resets= 115, premmy= 3500, free= 3500},
stage25={resets= 120, premmy= 4300, free= 4300},
stage26={resets= 125, premmy= 4500, free= 4500},
stage27={resets= 130, premmy= 99500, free= 99500},
}
--[[>> FIM STAGES <<]]--
--=[Pega Valor de Resets]=--
function getPlayerReset(cid)
local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";")
rss = qr:getDataInt("reset", coNdConf.pid)
if rss < 0 then
rss = 0
end
return rss
end
local success = " ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage
local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid)
local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";"
local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";"
local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";"
local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";"
--=[Reseta]=--
function addValue(value)
if coNdConf.look == false then
doRemoveCreature(cid)
db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query)
else
doRemoveCreature(cid)
db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query)
return LUA_NO_ERROR
end
end
function nowReseting()
if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
return true
end
if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then
doPlayerPopupFYI(cid, success)
addEvent(addValue, coNdConf.resetConf.time*1, value)
else
doPlayerPopupFYI(cid, success)
addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid)))
addEvent(addValue, coNdConf.resetConf.time*1000, value)
return true
end
end
--[STAGES Nao mexer em nada.]--
function checkLevelStageReset(cid)
local stages = {
{resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free},
{resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free},
{resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free},
{resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free},
{resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free},
{resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free},
{resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free},
{resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free},
{resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free},
{resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free},
{resets=stage.stage11.resets, premmy=stage.stage11.premmy, free=stage.stage11.free},
{resets=stage.stage12.resets, premmy=stage.stage12.premmy, free=stage.stage12.free},
{resets=stage.stage13.resets, premmy=stage.stage13.premmy, free=stage.stage13.free},
{resets=stage.stage14.resets, premmy=stage.stage14.premmy, free=stage.stage14.free},
{resets=stage.stage15.resets, premmy=stage.stage15.premmy, free=stage.stage15.free},
{resets=stage.stage16.resets, premmy=stage.stage16.premmy, free=stage.stage16.free},
{resets=stage.stage17.resets, premmy=stage.stage17.premmy, free=stage.stage17.free},
{resets=stage.stage18.resets, premmy=stage.stage18.premmy, free=stage.stage18.free},
{resets=stage.stage19.resets, premmy=stage.stage19.premmy, free=stage.stage19.free},
{resets=stage.stage20.resets, premmy=stage.stage20.premmy, free=stage.stage20.free},
{resets=stage.stage21.resets, premmy=stage.stage21.premmy, free=stage.stage21.free},
{resets=stage.stage22.resets, premmy=stage.stage22.premmy, free=stage.stage22.free},
{resets=stage.stage23.resets, premmy=stage.stage23.premmy, free=stage.stage23.free},
{resets=stage.stage24.resets, premmy=stage.stage24.premmy, free=stage.stage24.free},
{resets=stage.stage25.resets, premmy=stage.stage25.premmy, free=stage.stage25.free},
{resets=stage.stage26.resets, premmy=stage.stage26.premmy, free=stage.stage26.free},
{resets=stage.stage27.resets, premmy=stage.stage27.premmy, free=stage.stage27.free},
}
local resets = getPlayerReset(cid)
for i, tab in ipairs(stages) do
if resets <= tab.resets then
coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free
break
end
end
if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then
err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
return TRUE
end
if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then
doPlayerPopupFYI(cid, success)
addEvent(addValue, coNdConf.resetConf.time*1000, value)
else
doPlayerPopupFYI(cid, success)
addEvent(addValue, coNdConf.resetConf.time*1000, value)
addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid)))
return true
end
end
function newReset(cid)
if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then
err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end
if(coNdConf.needPa == true) and not isPremium(cid) then
err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end
if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then
err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end
if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then
err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end
if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end
local xy = {true,false}
table.insert(stage.Abilitar, false)
table.insert(stage.Desabilitar, false)
if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then
checkLevelStageReset(cid)
elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then
nowReseting()
else
doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!")
end
return true
end
function tableResetInstall()
print(not rss_db and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ")
addEvent(newReset, 1000, cid)
return false
end
if tableResetInstall() then
end
end
--=[Install System]=--
function installReset()
if db.executeQuery("ALTER TABLE `players` ADD reset INT(11) NOT NULL DEFAULT 0;") then
print("[MarcelloMkez] -= Advanced Reset System 2.0 por DataBase =- Instalado com sucesso!")
return TRUE
end
print('[Advanced Reset System/MarcelloMkez] Não foi possível instalar o Sistema.')
return FALSE
end
local tt = {
"Preparando Instalação...",
"Instalando: TableReset Db...",
"Instalando: getPlayerReset()...",
"Instalando: addValue()...",
"Instalando: checkLevelStageReset()...",
"Instalando: newReset() and nowReseting()...",
"Finalizando Instalação...",
"...",
success = {
"Iniciando...",
"function: TableReset Db... [success]",
"function: getPlayerReset()... [success]",
"function: addValue(value)... [success]",
"function: checkLevelStageReset()... [success]",
"function: newReset() and nowReseting()... [success]",
"Fim da Instalação. ",
"by: ~~ MarcelloMkez ~~ \nContato: [email protected]",
inst = {"MarcelloMkez","Advanced Reset System 2.0 por DataBase"
},
},
}
if words == "/installresetguiizeera" and getPlayerAccess(cid) >= 3 then
function install()
if installReset() then
print(""..tt.success[7].."")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..tt.success[8].."")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] -="..tt.success.inst[2].."=- Instalado com sucesso!")
else
print("["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].")
end
return 1
end
function concl(cid)
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt.success[7].."")
print(""..tt[8].."")
doPlayerSendTextMessage(cid, typetx,""..tt.success[7].."")
doPlayerSendTextMessage(cid, typetx,""..tt[8].."")
addEvent(install, 1000,cid)
end
function finall(cid)
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt.success[6].."")
print(""..tt[7].."")
doPlayerSendTextMessage(cid, typetx,""..tt.success[6].."")
doPlayerSendTextMessage(cid, typetx,""..tt[7].."")
addEvent(concl, 3000,cid)
end
function installDd(cid)
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt.success[5].."")
print(""..tt[6].."")
doPlayerSendTextMessage(cid, typetx,""..tt.success[5].."")
doPlayerSendTextMessage(cid, typetx,""..tt[6].."")
addEvent(finall, 1000,cid)
end
function installCc(cid)
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt.success[4].."")
print(""..tt[5].."")
doPlayerSendTextMessage(cid, typetx,""..tt.success[4].."")
doPlayerSendTextMessage(cid, typetx,""..tt[5].."")
addEvent(installDd, 1000,cid)
end
function installBb(cid)
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt.success[3].."")
print(""..tt[4].."")
doPlayerSendTextMessage(cid, typetx,""..tt.success[3].."")
doPlayerSendTextMessage(cid, typetx,""..tt[4].."")
addEvent(installCc, 1000,cid)
end
function installAa(cid)
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt.success[2].."")
print(""..tt[3].."")
doPlayerSendTextMessage(cid, typetx,""..tt.success[2].."")
doPlayerSendTextMessage(cid, typetx,""..tt[3].."")
addEvent(installBb, 1000,cid)
end
function toInstall()
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt.success[1].."")
print(""..tt[2].."")
doPlayerSendTextMessage(cid, typetx,""..tt.success[1].."")
doPlayerSendTextMessage(cid, typetx,""..tt[2].."")
addEvent(installAa, 1000,cid)
end
function preparation()
local typetx = MESSAGE_STATUS_CONSOLE_BLUE
print(""..tt[1].."")
doPlayerSendTextMessage(cid, typetx,""..tt[1].."")
addEvent(toInstall, 3000,cid)
end
if preparation() then
end
end
return 1
end
--=[By: Juniior Cwb ;* ]=--Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
6 minutos atrás, Celulose disse:
CREATE TABLE `player_preytimes` ( `player_id` int(11) NOT NULL, `bonus_type1` int(11) NOT NULL, `bonus_value1` int(11) NOT NULL, `bonus_name1` varchar(50) NOT NULL, `bonus_type2` int(11) NOT NULL, `bonus_value2` int(11) NOT NULL, `bonus_name2` varchar(50) NOT NULL, `bonus_type3` int(11) NOT NULL, `bonus_value3` int(11) NOT NULL, `bonus_name3` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Muito obrigado deu certo u-u
-
Qual o motivo deste tópico?
Ao criar conta no site, apos loga a conta na parte de adicionar nome, e sexo o site não da opção de escolher as vocation.
Config.PHP
Citar<?PHP
if ( ! function_exists('is_https'))
{
function is_https()
{
if ( ! empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off')
{
return TRUE;
}
elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) === 'https')
{
return TRUE;
}
elseif ( ! empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off')
{
return TRUE;
}return FALSE;
}
}$is_https = is_https();
if ($is_https) {
$base_url = "https://" . $_SERVER['HTTP_HOST'];
$base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);
} else {
$base_url = "http://" . $_SERVER['HTTP_HOST'];
$base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);
}$config['base_url'] = $base_url;
$config['site']['base_url'] = $base_url;# Info Bar Config
$config['site']['info_bar_active'] = true;# Using Ajax Field Validation, this is important if you want to use ajax check in your create account.
$config['site']['sqlHost'] = "localhost";
$config['site']['sqlUser'] = "root";
$config['site']['sqlPass'] = "";
$config['site']['sqlBD'] = "";# Config Shop
$outfits_list = array();
$loyalty_title = array(
50 => 'Scout',
100 => 'Sentinel',
200 => 'Steward',
400 => 'Warden',
1000 => 'Squire',
2000 => 'Warrior',
3000 => 'Keeper',
4000 => 'Guardian',
5000 => 'Sage
');
$config['shop']['newitemdays'] = 1;# Social Networks
$config['social']['facebook'] = "https://www.facebook.com/tibia";
$config['social']['discord'] = "";# Character Former name, time in days to show the former names
$config['site']['formerNames'] = 10;
$config['site']['formerNames_amount'] = 10;# PAGE: characters.php
$config['site']['quests'] = array(
"Demon Helmet" => 2213,
"In Service of Yalahar" => 12279,
"Pits Of Inferno" => 10544,
"The Ancient Tombs" => 50220,
"The Annihilator" => 2215,
"The Demon Oak" => 1010,
"Wrath Of The Emperor" => 12374
);# PAGE: whoisonline.php
$config['site']['private-servlist.com_server_id'] = 0;# Account Maker Config
$config['site']['serverPath'] = "C:/Legend/";
$config['site']['encryptionType'] = 'sha1';
$config['site']['useServerConfigCache'] = false;
$towns_list = array(
1 => 'Wisland',
2 => 'Thais',
3 => 'Kazordoon',
4 => 'Carlin',
5 => 'Ab\'Dendriel',
6 => 'Rookgaard',
7 => 'Liberty Bay',
8 => 'Port Hope',
9 => 'Ankrahmun',
10 => 'Darashia',
11 => 'Edron',
12 => 'Svargrond',
13 => 'Yalahar',
14 => 'Farmine',
28 => 'Gray Beach',
29 => 'Roshamuul',
33 => 'Rathleton',
34 => 'Krailos',
51 => 'Dawnport',
52 => 'Feyrist'
);# Create Account Options
$config['site']['one_email'] = true;
$config['site']['create_account_verify_mail'] = false;
$config['site']['verify_code'] = true;
$config['site']['email_days_to_change'] = 3;
$config['site']['newaccount_premdays'] = 0;
$config['site']['send_register_email'] = true;
$config['site']['flash_client_enabled'] = false;# Create Character Options
$config['site']['newchar_vocations'] = array(0 => 'Rook Sample'); // if you wan't use rook, put (1 => 'Sorcerer Sample', 2 => 'Druid Sample', 3 => 'Paladin Sample', 4 => 'Knight Sample');
$config['site']['newchar_towns'] = array(1);
$config['site']['max_players_per_account'] = 7;# Emails Config
$config['site']['send_emails'] = true;
$config['site']['mail_address'] = "";
$config['site']['mail_senderName'] = "";
$config['site']['smtp_enabled'] = true;
$config['site']['smtp_host'] = "ssl://smtp.gmail.com";
$config['site']['smtp_port'] = 465;
$config['site']['smtp_auth'] = true;
$config['site']['smtp_user'] = "";
$config['site']['smtp_pass'] = "";
$config['site']['smtp_secure'] = true;# PAGE: accountmanagement.php
$config['site']['send_mail_when_change_password'] = true;
$config['site']['send_mail_when_generate_reckey'] = true;
$config['site']['email_time_change'] = 7;
$config['site']['daystodelete'] = 7;# PAGE: guilds.php
$config['site']['guild_need_level'] = 1;
$config['site']['guild_need_pacc'] = false;
$config['site']['guild_image_size_kb'] = 50;
$config['site']['guild_description_chars_limit'] = 2000;
$config['site']['guild_description_lines_limit'] = 6;
$config['site']['guild_motd_chars_limit'] = 250;# PAGE: adminpanel.php
$config['site']['access_admin_panel'] = 99999;# PAGE: latestnews.php
$config['site']['news_limit'] = 6;# PAGE: killstatistics.php
$config['site']['last_deaths_limit'] = 40;# PAGE: team.php
$config['site']['groups_support'] = array(2, 3, 4, 5, 6);# PAGE: highscores.php
$config['site']['groups_hidden'] = array(3, 4, 5, 6);
$config['site']['accounts_hidden'] = array(1);# PAGE: lostaccount.php
$config['site']['email_lai_sec_interval'] = 180;# Layout Config
$config['site']['layout'] = 'tibiacom';
$config['site']['vdarkborder'] = '#505050';
$config['site']['darkborder'] = '#D4C0A1';
$config['site']['lightborder'] = '#F1E0C6';############################
## PagSeguro/Paypal Email ##
############################
$config['pagseguro']['email'] = '[email protected]'; ## EMAIL PAGSEGURO ##
$config['paypal']['email'] = '[email protected]'; ## EMAIL PAYPAL #### Formas de pagamento [1 = ativo | 0 = inativo] ##
$config['site']['pagseguro'] = 1;
$config['site']['paypal'] = 1;
$config['site']['caixa'] = 1;
$config['site']['picpay'] = 1;
$config['site']['santander'] = 0;
$config['site']['nubank'] = 0;
$config['site']['mercadopago'] = 0;#####################
## Nome do Produto ##
#####################
$config['pagseguro']['produtoNome'] = 'Tibia Coins';#####################
## PICPAY ##
#####################$config['site']['nomepicpay'] = '@johncore';
$config['site']['linkqr'] = '<p style="text-align: center;"><img src="https://imgur.com/2rP2Os6.png" alt="" width="158" height="158" /></p></p>';#############################
######### C A I X A ########
#############################
#! Informações do pagamento com caixa economica federal !#
$config['site']['CaixaCont'] = "
Conta Poupanca 013: 00000000-0
Ag: 0000
Favorecido: Johncore Otgeriano";
As sample já estão adicionadas na database
Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
.Qual servidor ou website você utiliza como base?
Qual o motivo deste tópico?
Toda vez que o Player logar no Servidor da esse erro no distro preciso executar uma Query na Database porem não sei o código para executar.
Citar[Error - mysql_real_query] Query: SELECT `player_id`, `bonus_type1`, `bonus_value1`, `bonus_name1`, `bonus_type2`, `bonus_value2`, `bonus_name2`, `bonus_type3`, `bonus_value3`, `bonus_name3` FROM `player_preytimes` WHERE `player_id` = 6
Message: Table 'database.player_preytimes' doesn't exist
[Error - mysql_store_result] Query: SELECT `player_id`, `bonus_type1`, `bonus_value1`, `bonus_name1`, `bonus_type2`, `bonus_value2`, `bonus_name2`, `bonus_type3`, `bonus_value3`, `bonus_name3` FROM `player_preytimes` WHERE `player_id` = 6
Message: Table 'database.player_preytimes' doesn't existVocê tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
Olá boa tarde gostaria de fazer algumas alteração na parte de monsters do meu otserv
quando da spawn da criatura e se não tem player na tela a criatura fica parada gostaria, de saber se tem algum script
que mesmo sem o player na tela a criatura fica se mexendo.
-
Boa noite estou montando um NPC e não tenho experiência com script
estou tentando usa essa função porem está dando erro.
if getPlayerStorageValue(cid,70000) >= 1 then
if(getPlayerItemCount(cid, 7159) >= 100) then
if(getPlayerItemCount(cid, 7158) >= 100) then
if(getPlayerItemCount(cid, 2667) >= 500) then
selfSay('Parabéns, agora você tem acesso ao deposito. ', cid)
setPlayerStorageValue(cid,70001, 1)
talkState[talkUser] = 0
return true
else
selfSay("Você não tem os intem para acessar o deposito.", cid)
talkState[talkUser] = 0
return true
end
end
endse for possivel alguem me explicar aonde to errando kk
-
muda essa parte <attribute key="showcharges" value="1" /> para essa <attribute key="showcharges" value="100" />
-
Em 09/12/2019 em 20:33, alexpaimel disse:
local SPECIAL_QUESTS = {2001}
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if(not isPlayer(cid)) then
return true
endif(isContainer(item.uid)) then
if(not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then
return true
end
elseif(getTileInfo(position).creatures <= 1) then
return true
end
if(fromPosition.x == 0) then -- player just logged in
fromPosition = getTownTemplePosition(getPlayerTown(cid))
doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
enddoTeleportThing(cid, fromPosition, true)
return true
end
local SPECIAL_QUESTS = {2001}
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if(not isPlayer(cid)) then
return true
end
if(isContainer(item.uid)) then
if(not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then
return true
end
elseif(getTileInfo(position).creatures <= 1) then
return true
end
if(fromPosition.x == 0) then -- player just logged in
fromPosition = getTownTemplePosition(getPlayerTown(cid))
doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
end
doTeleportThing(cid, fromPosition, true)
return true
endTesta de novo editei algumas coisa.
-
Obrigado usei as source do fire deu certo
-
Qual o motivo deste tópico?
Olá boa tarde gostaria de saber se é possivel colocar no account manager pro player escolher a cidade para nascer
meu servidor tem 4 cidades ai o player pode escolher qualquer cidade pra nascer atraves do account manager
-
Show obrigado em bom final de semana.
-
Deu certinho obrigado bom final de semana.
-
.Qual servidor ou website você utiliza como base?
TFS 0.4
Qual o motivo deste tópico?
Boa tarde preciso de um script que o player de use em uma parede e essa parede só reconhece se o player tiver storage, ao dar use na parede ele ganha outra storage.
OBS; Se o player não tiver storage não acontece nada. O player só pode dar use uma vez na parede
-
2 minutos atrás, LeoTK disse:4 minutos atrás, LeoTK disse:
Muito bom o script, quem sabe eu não venha a usa-lo no meu servidor mas vou precisa da chave kk
-
-
Obrigado kk
-
.Qual servidor ou website você utiliza como base?
TFS 0.4
Qual o motivo deste tópico?
Esse script está funcionando porem quando você da use aparece as 4 mesagem de vez, gostaria que saisse apenas uma de cada vez
toda vez que o player de use no intem sai uma das 4 mesagem.ID do intem é 9969.
Está surgindo algum erro? Se sim coloque-o aqui.
CitarVocê tem o código disponível? Se tiver publique-o aqui:
function onUse(cid, item, fromPosition, itemEx, toPosition)
doCreatureSay(cid,'...No meu corpo descansarei em paz...', TALKTYPE_ORANGE_1)
doCreatureSay(cid,'...sssshhhhh....', TALKTYPE_ORANGE_1)
doCreatureSay(cid,'...Encontre meu corpo...', TALKTYPE_ORANGE_1)
doCreatureSay(cid,'...Quero descansar em paz....', TALKTYPE_ORANGE_1)
return true
end
action ao dar use em uma alavanca remove Wall, e aparece um baú de Quest player ao dar use recebe item.
em Suporte Tibia Otserv
Postado · Editado por Vitorelias (veja o histórico de edições)
.Qual servidor ou website você utiliza como base?
TFS 0.4 8.6
Qual o motivo deste tópico?
action ao dar use em uma alavanca remove Wall, e aparece um baú e um determina posição ex 542.542.7 só que nesse baú tem que vim com uma storage já só o player da use no bau e ganhar o item de Quest.
Você tem o código disponível? Se tiver publique-o aqui:
Esse meu script já esta funcionando uma parte, ele já remove a Wall no caso só precisaria fazer com que apareça um baú em determinada posição e nesse bau o player ao da use pegue o item. Obrigado