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
-
-
.Qual servidor ou website você utiliza como base?
TFS 0.4 8.6
Olá boa tarde gostaria de montar um NPC para meu servidor.
O player vai chegar no NPC e vai falar missao se ele tiver storage 10203 o NPC vai falar para ele;
Preciso que você mate um BOSS que vive aterrorizando a população de Magician, este BOSS esta nas tumbas dos Dragon localizada na floresta de Magician, mas estou aceitando apenas guerreiros com certificados de explorador Magician. Aceita?
agora se o player não tiver storage ele vai dizer: {É obrigatório ser certificado como explorador de Magician. Procure o comprador Pedro, Paulo e Alex.}
ai se o player tiver storage 10203 \/
ai o player vai falar{ yes ou sim} ai o npc vai dizer;
Você agora esta autorizado a entrar na sala onde esta o BOSS. Muito cuidado, este BOSS é muito forte. Encontrará ótimas recompenças na sala.
e vai dar uma STORAGE 10205 pro player para pode passar no tile que teletransporta o player para o boss
ai se o player já fez a quest o NPC vai falar assim
selfSay('Muito obrigado, você já concluiu a missão.', cid)
-
Acabei de sair da aula estou indo para casa chegar vou testar obrigado
1 hora atrás, penisagudo disse:Cria um arquivo dentro de data/movements/script com nome que desejar e coloque isso dentro.
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local config{ storage = , --coloca o valor da storage que você quiser posSemStorage = {x = 1974, y = 1375, z = 14}, -- posição sem storage posComStorage = {x = 2032, y = 1285, z = 12} -- posição com storage } if getPlayerStorageValue(cid, config.storage) >= 1 then doTeleportThing(cid, config.posComStorage, false) doSendMagicEffect(config.posComStorage, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 22, "Voce foi teleportado") else doTeleportThing(cid, config.posSemStorage, false) doPlayerSendTextMessage(cid, 22, "Voce foi teleportado") doSendMagicEffect(config.posSemStorage, CONST_ME_TELEPORT) end return true end
Em movements.xml coloque isso, colocando o número da action que quiser e mudando nome do arquivo que colocou ali em cima.
<movevent type=“StepIn” actionid=“X” event=“script” value=“nomedoarquivo.lua”/>
após isso abra seu mapa editor e no teleport onde quer colocar deixe as posições tudo em 0 e no actionID coloque o mesmo que colocou na tag do movements.
se der algum erro me reporte!
Deu apenas um erro de digitaçao ai eu corrigi
local config{ estava assim ai arrumei assim local config = {
1 hora atrás, Vitorelias disse:Acabei de sair da aula estou indo para casa chegar vou testar obrigado
Deu apenas um erro de digitaçao ai eu corrigi
local config{ estava assim ai arrumei assim local config = {
Podem fecha o tópico muito obrigado.
-
1 hora atrás, luanluciano93 disse:
versão?
8.6
-
4 horas atrás, luanluciano93 disse:
versão da engine? TFS ou OTX?
Tfs
-
Olá boa tarde preciso de uma força estou fazendo uma Quest em meu servidor, preciso colocar um teleport
que ao entrar nele se você tiver um storage você vai ser teletransportado pra um x lugar, e se tiver storage para outro lugar.
position se não tiver storage pos = 1974, 1375, 14 se tiver storage pos = 2032, 1285, 12
-
Em 24/09/2019 em 19:56, Cricket disse:
Vitor, seu pedido é meio complexo levando em consideração que não me lembro como edita a parte de login do tibia.
Se não me engano é nas SOUCERS você edita qual informação vc quer que apareça do lado do player no account list ao logar no tibia.
Queria muito ajudar, mas não lembro onde que edita o tipo de informação nessa lista. Alguns servidores aparece (online/offfline)
outros (mundo), no sistema de cast system aparece (viewers)
Muito provavelmente é nas sources
Abraços!
Obrigado pela força mais qualquer coisa se lembrar me da uma força pois eu tenho as source do server.
-
Olá, preciso de uma ajuda gostaria de adicionar quando player abrir o cast aparecer a quantidade de reset ex: (o viewer)[10]
Sistema de reset que eu uso.
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- DdJs reagiu a isso
-
8 horas atrás, WooX disse:
Esse erro que você mandou não parece estar completo e também testei aqui e funcionou normal. Mas fiz mais 1 edit, testa de novo.
Agora deu certo muito obrigado mano.
-
2 horas atrás, WooX disse:
Atualizei o script novamente, agora tem que funcionar.
[20:47:37.895] [Error - CreatureScript Interface]
[20:47:37.895] data/creaturescripts/scripts/maxlevel.lua:onAdvance
[20:47:37.895] Description:
[20:47:37.896] data/creaturescripts/scripts/maxlevel.lua:4: attempt to compare nil with number
[20:47:37.897] stack traceback:
[20:47:37.897] data/creaturescripts/scripts/maxlevel.lua:4: in function <data/creaturescripts/scripts/maxlevel.lua:1>KKKK cara não desiste por favor <3
-
22 horas atrás, WooX disse:
Hmm, nesse caso parece que o return false não impede a função de rodar como acontece em outros callbacks. Vou editar o código e já já posto aqui.
Edit: pronto, já atualizei o script.
Testei novamente o script kk e não deu certo ve se eu fiz certo, coloquei o script no creaturescript criei um arquivo.lua chamado (maxlevel)
coloquei o script e adicionei as tag no creaturescript.xml mas o level ainda esta passando
-
20 horas atrás, WooX disse:
Como eu falei antes, a função já está no script, mas eu havia cometido 1 erro. Já editei o script, testa novamente.
Agora não apareceu nenhum erro no console, fiz um test com 1 char 2 reset, porem ele ta passando do nivel do reset
-
17 horas atrás, WooX disse:
Surgiu 1 imprevisto e não deu pra fazer antes, testa ai.
--<event type="advance" name="MaxLevel" event="script" value="maxlevel.lua"/>-- --<event type="login" name="RegisterMaxLevel" event="script" value="maxlevel.lua"/>-- function onAdvance(cid, skill, oldLevel, newLevel) local maxLevel = getPlayerMaxLevel(cid) if skill == SKILL__LEVEL then if newLevel == maxLevel then return false end end return true end function getPlayerMaxLevel(cid) local t = { [{1,4}] = {vip = 330, free = 350}, [{5,9}] = {vip = 340, free = 355}, [{10,999}] = {vip = 355, free = 360} } local resets = getPlayerReset(cid) for k, v in pairs(t) do if resets >= t[1] and resets <= t[2] then if isPremium(cid) then return v.vip else return v.free end end end end function getPlayerReset(cid) local queryResult = db.storeQuery("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") local resets = result.getDataInt(queryResult, "reset") if resets < 0 then return 0 else return resets end end function onLogin(cid) registerCreatureEvent(cid, "MaxLevel") return true end
Eu acho que essa função Getplayermaxlevel não tenho deu esse erro
[Error - CreatureScript Interface]
[14:21:51.845] data/creaturescripts/scripts/maxlevel.lua:onAdvance
[14:21:51.845] Description:
[14:21:51.846] data/creaturescripts/scripts/maxlevel.lua:21: attempt to compare nil with number
[14:21:51.846] stack traceback:
[14:21:51.846] data/creaturescripts/scripts/maxlevel.lua:21: in function 'getPlayerMaxLevel'
[14:21:51.847] data/creaturescripts/scripts/maxlevel.lua:2: in function <data/creaturescripts/scripts/maxlevel.lua:1>
-
Bom dia,
10 horas atrás, WooX disse:Surgiu 1 imprevisto e não deu pra fazer antes, testa ai.
--<event type="advance" name="MaxLevel" event="script" value="maxlevel.lua"/>-- --<event type="login" name="RegisterMaxLevel" event="script" value="maxlevel.lua"/>-- function onAdvance(cid, skill, oldLevel, newLevel) local maxLevel = getPlayerMaxLevel(cid) if skill == SKILL__LEVEL then if newLevel == maxLevel then return false end end return true end function getPlayerMaxLevel(cid) local t = { [{1,4}] = {vip = 330, free = 350}, [{5,9}] = {vip = 340, free = 355}, [{10,999}] = {vip = 355, free = 360} } local resets = getPlayerReset(cid) for k, v in pairs(t) do if resets >= t[1] and resets <= t[2] then if isPremium(cid) then return v.vip else return v.free end end end end function getPlayerReset(cid) local queryResult = db.storeQuery("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") local resets = result.getDataInt(queryResult, "reset") if resets < 0 then return 0 else return resets end end function onLogin(cid) registerCreatureEvent(cid, "MaxLevel") end
Bom dia fiz tudo certo coloquei os script no creaturescript, não apareceu nenhum erro no console só que não consigo logar no otserver.
consegui loga no otserver porem apareceu esse erro e está passando do nivel de reset
ata/creaturescripts/scripts/maxlevel.lua:21: in function 'getPlayerMaxLevel'
[6:48:33.101] data/creaturescripts/scripts/maxlevel.lua:2: in function <data/creaturescripts/scripts/maxlevel.lua:1>acho que essa funçao getplayermaxlevel nao tenho
-
20 minutos atrás, Ackerzin disse:
Qual sua source? to vendo aqui na minha 1.0, em player.cpp
{ health = healthMax; if(getZone() != ZONE_HARDCORE || g_config.getBool(ConfigManager::PVPZONE_RECOVERMANA)) mana = manaMax; }
E deixa assim
{ health = healthMax; }
Muito obrigado consegui resolver REP+ obrigado pela força.
-
1 minuto atrás, WooX disse:
Vou fazer pra você, daqui a pouco posto aqui.
Obrigado em cara te amo
-
Olá boa noite preciso de uma ajuda gostaria de modificar PvP zone tool do meu otserver quando o player morrer na arena PvP zone tool ele volta mana full, queria saber
se e possível alterar pra que quando o player morrer na area PvP zone tool ele volta com a mana que ele estava.
OBS: tenho as source do otserver
-
Sim, só que meu servidor possui uma tabela de reset então o player vai pegando resets o level de reset já aumenta no script de reset tem as stages exemplo. Do 1 reset ao 5 o player pode resetar level 330 vip ou free 350 do 5 reset ao 10 340 vip e free 360 depois da uma olhada nas stages do meu script. Meu sistema de vip e o premium account.
-
Topico resolvido podem fechar valeu pessoal
-
11 minutos atrás, WooX disse:
troquei mas quando do a spell e entro pz e deslogo continua dando erro no console so para de dar erro depois que a spell acaba.
Consegui resolver
if not isPlayer(param.cid) then return true end adicionei fico novo kkkkkk
-
8 minutos atrás, KR3 disse:
@Vitorelias Se quiser pode modificar tenta usar esse ele da outfit e mais dano.
--Script by kr3--
local tempo = 500000 --tempo em segundos
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -10.10, 10, -10.10, 10) <--- dadano configuravél
function onCastSpell(cid, var)
local homem = {lookType = 1117, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} --outfit que muda caso seja homem
local mulher = {lookType = 1117, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} --outfit que muda caso seja mulher
local sex = getPlayerSex(cid)
if sex == 0 then --sexo == 0 significa que o personagem é mulher
doSetCreatureOutfit(cid, mulher, tempo*500000)
else
doSetCreatureOutfit(cid, homem, tempo*500000)
end
return doCombat(cid, combat, var)
end
Não deu certo apos eu usar a spell 'espiritos do inferno' meu tibia deu debug nao consigo logar mas o char. Será que você não consegue editar minha spell? colocando uma função que o player ao deslogar ou morrer ela corte a spell?
-
2 minutos atrás, KR3 disse:
@Vitorelias mas no caso ela da outfit e mais dano certo?
Sim ele da dano de acordo com level, e magic level.
-
7 minutos atrás, KR3 disse:
@Vitorelias pra que serviria essa spell?
Eu tenho um otserv RadBR 8.6 essa spell é da vocação Infernalist
-
Olá pesssoal boa noite estou com uma spell esta funcionando porem tem um problema, quando o player usa a spell e morre ou desloga antes da spell acabar
fica aparacendo um monte de erro no console e acaba dando lag no servidor ate a spell acabar. tivesse como adicionar uma função que corte a spell quando player desloga ou morre
[Error - Spell Interface]
[20:19:32.982] In a timer event called from:
[20:19:32.984] (Unknown script file)
[20:19:32.985] Description:
[20:19:32.987] (luaDoCombatAreaHealth) Creature not found - ERROR- SPELL -
Citarlocal outfit = {lookType = 290} -- Roupa que ira transformar no caso seu corpo ficara em choque
local tempo = 60 * 130 -- Tempo, nesse caso esta 60 segundos Lembrando que 1000 = 1 segundo
local combat = createCombatObject()
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, 0)
arr = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat2, condition)
local sys = createConditionObject(CONDITION_OUTFIT)
setConditionParam(sys, CONDITION_PARAM_TICKS, tempo)
addOutfitCondition(sys, outfit)
setCombatCondition(combat2, sys)
function spellCallback(param)
if param.count > 0 or math.random(0, 1) == 1 then
doSendMagicEffect(param.pos, CONST_ME_MORTAREA)
doAreaCombatHealth(param.cid, COMBAT_DEATHDAMAGE, param.pos, 0, -3000, -8000, CONST_ME_EXPLOSIONHIT)
end
if(param.count < 2) then
param.count = param.count + 1
addEvent(spellCallback, math.random(1000, 4000), param)
end
end
function onTargetTile(cid, pos)
local param = {}
param.cid = cid
param.pos = pos
param.count = 0
spellCallback(param)
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
function onCastSpell(cid, var)
addEvent(doCombat, 0, cid, combat, var)
addEvent(doCombat, 0, cid, combat2, var)
return true
end
-
7 minutos atrás, Lyu disse:
Substitui seu código e ver se soluciona..
function onCombat(cid, target) if not isPlayer(target) then return true end if getPlayerResets(cid) < 3 or getPlayerResets(target) < 3 then return false end return true end
Deu certo muito obrigado uma boa noite ai valeu
NPC RPG
em Suporte Tibia Otserv
Postado
Funciona mais ainda não é o que eu quero eu tenho esse aqui falta editar.
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
if msgcontains(msg, 'missao') then
if getPlayerStorageValue(cid,25009) >= 1 then
selfSay('Muito obrigado, você já concluiu a missão.', cid)
talkState[talkUser] = 0
return true
end
selfSay('É obrigatório ser certificado como explorador de Andorhal. Procure o comprador Tadeu, Kurl e Robens.', cid)
if getPlayerStorageValue(cid,25008) >= 1 then
selfSay('Preciso que você mate um lagarto que vive aterrorizando a população de Andorhal, este lagarto esta nas tumbas dos lagartos localizada na floresta de Andorhal, mas estou aceitando apenas guerreiros com certificados de explorador Andorhal. Aceita?.', cid)
talkState[talkUser] = 0
setPlayerStorageValue(cid,25009, 1)
return true
end
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())