Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Com certeza não. Só você olhar o que o console está apontando. Ou então você printou o erro pela metade, e cortou a foto, não sei pra que, vergonha de mostra o pc ? Vergonha de mostra a distro ?

Posta a foto do erro todo ae, completa. E posta o seu movements. 

Se não é esse o erro qual seria ? Se já resolveu porque deu up ?

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
  • Respostas 50
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Olá amigos, membros, visitantes, papagaios, enfim... Depois de muito me pedirem o evento SNOWBAL WAR EVENT, trago ele 100% pra vocês. Como funciona? Os jogadores irão se divertir em uma emociona

Testa esse aqui. O meu estava dando o mesmo erro, fui la e configurei uma linha, mais nao me recordo qual! kkkkk, ja faz um tempinho que modifiquei. Testa esse e me fala se funcionou.    

Qual versão do TFS? Se for 0.4 abre o arquivo e mude onTimer para onTime

Posted Images

cara tudo funciona normal quando o evento começa o player nao teleporta para o mapa de neve.. fica na area de espera.. oque pode ser? uso TFS 0.4

Segue o erro no distro.

Spoiler

[19:3:00.869] [Error - GlobalEvent Interface]
[19:3:00.872] In a timer event called from:
[19:3:00.875] data/globalevents/scripts/events/snowballglobalevent.lua:onTime
[19:3:00.878] Description:
[19:3:00.880] .../globalevents/scripts/events/snowballglobalevent.lua:58: attempt to call global 'Position' (a nil value)
[19:3:00.884] stack traceback:
[19:3:00.885]   .../globalevents/scripts/events/snowballglobalevent.lua:58: in function <.../globalevents/scripts/events/snowballglobalevent.lua:52>

 

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Como usar em SQLITE?  Consegui alterar pra SQLITE.

 

-- Estou agora com um pequeno erro, quando entro no evento ele não avisa quem entrou. Já tentei editar o globalevents na parte do SetItemAttribute e não funcionou.

Editado por tetheuscunha (veja o histórico de edições)

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
  • 3 weeks later...
Em 08/02/2017 ás 19:10, patrick323 disse:

cara tudo funciona normal quando o evento começa o player nao teleporta para o mapa de neve.. fica na area de espera.. oque pode ser? uso TFS 0.4

Segue o erro no distro.

  Ocultar conteúdo

[19:3:00.869] [Error - GlobalEvent Interface]
[19:3:00.872] In a timer event called from:
[19:3:00.875] data/globalevents/scripts/events/snowballglobalevent.lua:onTime
[19:3:00.878] Description:
[19:3:00.880] .../globalevents/scripts/events/snowballglobalevent.lua:58: attempt to call global 'Position' (a nil value)
[19:3:00.884] stack traceback:
[19:3:00.885]   .../globalevents/scripts/events/snowballglobalevent.lua:58: in function <.../globalevents/scripts/events/snowballglobalevent.lua:52>

 

 

to com o mesmo erro =x help?

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
Em 08/02/2017 ás 18:10, patrick323 disse:

cara tudo funciona normal quando o evento começa o player nao teleporta para o mapa de neve.. fica na area de espera.. oque pode ser? uso TFS 0.4

Segue o erro no distro.

  Ocultar conteúdo

[19:3:00.869] [Error - GlobalEvent Interface]
[19:3:00.872] In a timer event called from:
[19:3:00.875] data/globalevents/scripts/events/snowballglobalevent.lua:onTime
[19:3:00.878] Description:
[19:3:00.880] .../globalevents/scripts/events/snowballglobalevent.lua:58: attempt to call global 'Position' (a nil value)
[19:3:00.884] stack traceback:
[19:3:00.885]   .../globalevents/scripts/events/snowballglobalevent.lua:58: in function <.../globalevents/scripts/events/snowballglobalevent.lua:52>

 

uso TFS 0.4 mesmo erro aqui HELP!

Link para o post
Compartilhar em outros sites
Em 22/02/2017 ás 02:03, tetheuscunha disse:

Como usar em SQLITE?  Consegui alterar pra SQLITE.

 

-- Estou agora com um pequeno erro, quando entro no evento ele não avisa quem entrou. Já tentei editar o globalevents na parte do SetItemAttribute e não funcionou.

 

Eu consigo rodar em SQLITE?

 

Outra coisa, está dando essa mensagem ao abrir o OT: 


[22/03/2017 21:58:07] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/snowballglobalevent.lua)

Oque pode ser?

Editado por davidguimaraesdrum (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
2 horas atrás, davidguimaraesdrum disse:

 

Eu consigo rodar em SQLITE?

 

Outra coisa, está dando essa mensagem ao abrir o OT: 


[22/03/2017 21:58:07] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/snowballglobalevent.lua)

Oque pode ser?

Qual versão do TFS? Se for 0.4 abre o arquivo e mude onTimer para onTime

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
3 minutos atrás, tetheuscunha disse:

Qual versão do TFS? Se for 0.4 abre o arquivo e mude onTimer para onTime

 

Consegui, muito obrigado!

 

Queria saber se é possível executar o SQL pelo SQLITE ;/

Link para o post
Compartilhar em outros sites
2 minutos atrás, davidguimaraesdrum disse:

 

Consegui, muito obrigado!

 

Queria saber se é possível executar o SQL pelo SQLITE ;/

Eu estou usando ele SQLITE

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
38 minutos atrás, tetheuscunha disse:

Eu estou usando ele SQLITE

 

Pode me auxiliar? eu não sei como executar esses comandos pelo SQLITE:

 

Spoiler

 

E por fim, vá até o seu banco de dados (phpmyadmin) e insira a seguinte query:

CREATE TABLE IF NOT EXISTS `snowballwar` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `score` int(11) NOT NULL, `data` varchar(255) NOT NULL, `hora` varchar(255) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

 

Ainda no phpmyadmin execute:

ALTER TABLE `players` ADD `sbw_points` int(11);

 

 

Editado por davidguimaraesdrum (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 08/02/2017 ás 19:10, patrick323 disse:

cara tudo funciona normal quando o evento começa o player nao teleporta para o mapa de neve.. fica na area de espera..

 

Mesmo problema.

Link para o post
Compartilhar em outros sites

 

 

4 horas atrás, Nox disse:

Mesmo problema.

 

Testa esse aqui. O meu estava dando o mesmo erro, fui la e configurei uma linha, mais nao me recordo qual! kkkkk, ja faz um tempinho que modifiquei. Testa esse e me fala se funcionou.

 

function onTime()
                
function isInWallArray(pos)
    for k = 0, table.getn(SBW_WALLSID) do
        if (getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k]) then
            return true    
        end    
    end
 return false
end

               
function endsnowball()
    local score = {}
    if not SBW_USEWAIT then
        doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
    end
    for _, pid in ipairs(getPlayersOnline()) do
        if getPlayerStorageValue(pid, SBW_INEVENT) > 0 then
            table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
            doPlayerSetStorageValue(pid, SBW_INEVENT, 0)
            doPlayerSetStorageValue(pid, SBW_SCORE, 0)
            doPlayerSetStorageValue(pid, SBW_AMMO, 0)
            doTeleportThing(pid, SBW_TPEND)
        end
    end
    table.sort(score, function(a, b) return a[2] > b[2] end)
    --local random_item = SBW_REWARDS[math.random(1, #SBW_REWARDS)]
    local hora = os.date("%X")
    local data = os.date("%x")    
    if table.getn(score) > 0 then
        if SBW_ADDREWARD then
            for _, pid in ipairs(getPlayersOnline()) do
                if getCreatureName(pid) == score[1][1] then
                    for op,ad in pairs(SBW_REWARDS) do
                        doPlayerAddItem(pid, ad[1], ad[2])
                    end
                    break
                end
            end
        end
        db.query("INSERT INTO `snowballwar`  VALUES ('', ".. db.escapeString(score[1][1]) ..  ",".. score[1][2] ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");")  
        db.query("UPDATE `players` SET `sbw_points`=`sbw_points`+".. score[1][2] .." WHERE `name` = " .. db.escapeString(score[1][1]) .. ";")
        doBroadcastMessage("[SNOWBALL EVENT] encerrou-se, parabens ao jogador "..score[1][1].." que venceu o SnowBall Event com "..score[1][2].." pontos.")
    end
    return true
end

local t_l = SBW_AREA[1]
local b_r = SBW_AREA[2]

function moveToEvent()
for _, pid in ipairs(getPlayersOnline()) do
    if isInRange(getCreaturePosition(pid), SBW_WAITROOM[1], SBW_WAITROOM[2]) then
        local posti = {}
        local isPossibleToTeleportPlayer = false
        while (isPossibleToTeleportPlayer == FALSE) do
        doTeleportThing(pid, {x=math.random(t_l.x,b_r.x), y=math.random(t_l.y, b_r.y), z=math.random(t_l.z, b_r.z)})
            if (isInWallArray(posti) == FALSE) then
                isPossibleToTeleportPlayer = TRUE
            end
        end
        doTeleportThing(pid, posti)
        doPlayerSetStorageValue(pid, SBW_INEVENT, 1)
        doPlayerSetStorageValue(pid, SBW_AMMO, SBW_MINAMMO)
        doPlayerSetStorageValue(pid, SBW_SCORE, 0)
        doPlayerSendTextMessage(pid, 27, "[SNOWBALL WAR] Seja bem vindo, aqui estao os comandos que voce vai usar durante o evento\n!snowball atirar --Atirar uma bola de neve.\n!snowball info --Isso mostra seus pontos de jogos e a quantia de bolas de neve que voce tem. Tambem mostra o ranking de pontos do evento.\n Recarregue suas bolas de neve clicando em frente ao gerador no centro do campo.\nAltamente recomendado adicionar estes comandos a sua hotkeys.")                                                                       
    end
end
doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
addEvent(endsnowball, SBW_DURATION*1000*60)
doBroadcastMessage(SBW_MSGSTART)
end

local time = os.date("*t")
local timeopen1 = math.ceil(SBW_TIMEWAIT / 4)
local timeopen2 = math.ceil(SBW_TIMEWAIT / 2)
if (SBW_STARTAUTO) and (isInArray(SBW_DAYS,time.wday)) then
    doBroadcastMessage(SBW_MSGWARNING)
    if SBW_USEWAIT then
        addEvent(doBroadcastMessage, timeopen1*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!")
        if (timeopen2 ~= timeopen1) then
            addEvent(doBroadcastMessage, timeopen2*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!")
        end
        addEvent(moveToEvent, SBW_TIMEWAIT*1000*60)
    local tp = doCreateItem(1387, SBW_TPGO, SBW_TP)
        doItemSetAttribute(tp, "aid", 2880)
    else
        if SBW_TFS == "0.4" then
            doSetItemActionId(doCreateItem(tp, SBW_TP), 2880)
        else
            doSetItemActionId(doCreateItem(tp, SBW_TP), 2880)
        end
        if(SBW_DURATION > 0) then
            addEvent(endsnowball, SBW_DURATION*1000*60)
        end
    end
end
return true
end

 

 

 

 

 

-------------------------

14 horas atrás, davidguimaraesdrum disse:

 

Pode me auxiliar? eu não sei como executar esses comandos pelo SQLITE:

 

  Mostrar conteúdo oculto

 

E por fim, vá até o seu banco de dados (phpmyadmin) e insira a seguinte query:

CREATE TABLE IF NOT EXISTS `snowballwar` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `score` int(11) NOT NULL, `data` varchar(255) NOT NULL, `hora` varchar(255) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

 

Ainda no phpmyadmin execute:

ALTER TABLE `players` ADD `sbw_points` int(11);

 

 

Tenta esse.  No SQLITEStudio aperte ALT + E e coloque esse codigo la dentro e aperte F9.

 

 


CREATE TABLE snowballwar ( id INTEGER (11) NOT NULL, name VARCHAR (255) NOT NULL, score INTEGER (11) NOT NULL, data VARCHAR (255) NOT NULL, hora VARCHAR (255) NOT NULL, PRIMARY KEY ( id ) );

 

 

Ja este comando

ALTER TABLE `players` ADD `sbw_points` int(11);

E da mesma forma do de cima ALT + E / Colar nas linhas que tem la/ F9

Editado por tetheuscunha (veja o histórico de edições)

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
1 hora atrás, tetheuscunha disse:

 

 

 

Testa esse aqui. O meu estava dando o mesmo erro, fui la e configurei uma linha, mais nao me recordo qual! kkkkk, ja faz um tempinho que modifiquei. Testa esse e me fala se funcionou.

  Mostrar conteúdo oculto


function onTime()
                
function isInWallArray(pos)
    for k = 0, table.getn(SBW_WALLSID) do
        if (getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k]) then
            return true    
        end    
    end
 return false
end

               
function endsnowball()
    local score = {}
    if not SBW_USEWAIT then
        doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
    end
    for _, pid in ipairs(getPlayersOnline()) do
        if getPlayerStorageValue(pid, SBW_INEVENT) > 0 then
            table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
            doPlayerSetStorageValue(pid, SBW_INEVENT, 0)
            doPlayerSetStorageValue(pid, SBW_SCORE, 0)
            doPlayerSetStorageValue(pid, SBW_AMMO, 0)
            doTeleportThing(pid, SBW_TPEND)
        end
    end
    table.sort(score, function(a, b) return a[2] > b[2] end)
    --local random_item = SBW_REWARDS[math.random(1, #SBW_REWARDS)]
    local hora = os.date("%X")
    local data = os.date("%x")    
    if table.getn(score) > 0 then
        if SBW_ADDREWARD then
            for _, pid in ipairs(getPlayersOnline()) do
                if getCreatureName(pid) == score[1][1] then
                    for op,ad in pairs(SBW_REWARDS) do
                        doPlayerAddItem(pid, ad[1], ad[2])
                    end
                    break
                end
            end
        end
        db.query("INSERT INTO `snowballwar`  VALUES ('', ".. db.escapeString(score[1][1]) ..  ",".. score[1][2] ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");")  
        db.query("UPDATE `players` SET `sbw_points`=`sbw_points`+".. score[1][2] .." WHERE `name` = " .. db.escapeString(score[1][1]) .. ";")
        doBroadcastMessage("[SNOWBALL EVENT] encerrou-se, parabens ao jogador "..score[1][1].." que venceu o SnowBall Event com "..score[1][2].." pontos.")
    end
    return true
end

local t_l = SBW_AREA[1]
local b_r = SBW_AREA[2]

function moveToEvent()
for _, pid in ipairs(getPlayersOnline()) do
    if isInRange(getCreaturePosition(pid), SBW_WAITROOM[1], SBW_WAITROOM[2]) then
        local posti = {}
        local isPossibleToTeleportPlayer = false
        while (isPossibleToTeleportPlayer == FALSE) do
        doTeleportThing(pid, {x=math.random(t_l.x,b_r.x), y=math.random(t_l.y, b_r.y), z=math.random(t_l.z, b_r.z)})
            if (isInWallArray(posti) == FALSE) then
                isPossibleToTeleportPlayer = TRUE
            end
        end
        doTeleportThing(pid, posti)
        doPlayerSetStorageValue(pid, SBW_INEVENT, 1)
        doPlayerSetStorageValue(pid, SBW_AMMO, SBW_MINAMMO)
        doPlayerSetStorageValue(pid, SBW_SCORE, 0)
        doPlayerSendTextMessage(pid, 27, "[SNOWBALL WAR] Seja bem vindo, aqui estao os comandos que voce vai usar durante o evento\n!snowball atirar --Atirar uma bola de neve.\n!snowball info --Isso mostra seus pontos de jogos e a quantia de bolas de neve que voce tem. Tambem mostra o ranking de pontos do evento.\n Recarregue suas bolas de neve clicando em frente ao gerador no centro do campo.\nAltamente recomendado adicionar estes comandos a sua hotkeys.")                                                                       
    end
end
doRemoveItem(getTileItemById(SBW_TP, 1387).uid)
addEvent(endsnowball, SBW_DURATION*1000*60)
doBroadcastMessage(SBW_MSGSTART)
end

local time = os.date("*t")
local timeopen1 = math.ceil(SBW_TIMEWAIT / 4)
local timeopen2 = math.ceil(SBW_TIMEWAIT / 2)
if (SBW_STARTAUTO) and (isInArray(SBW_DAYS,time.wday)) then
    doBroadcastMessage(SBW_MSGWARNING)
    if SBW_USEWAIT then
        addEvent(doBroadcastMessage, timeopen1*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!")
        if (timeopen2 ~= timeopen1) then
            addEvent(doBroadcastMessage, timeopen2*1000*60, "[SNOWBALL WAR] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!")
        end
        addEvent(moveToEvent, SBW_TIMEWAIT*1000*60)
    local tp = doCreateItem(1387, SBW_TPGO, SBW_TP)
        doItemSetAttribute(tp, "aid", 2880)
    else
        if SBW_TFS == "0.4" then
            doSetItemActionId(doCreateItem(tp, SBW_TP), 2880)
        else
            doSetItemActionId(doCreateItem(tp, SBW_TP), 2880)
        end
        if(SBW_DURATION > 0) then
            addEvent(endsnowball, SBW_DURATION*1000*60)
        end
    end
end
return true
end

 

 

 

 

 

-------------------------

Tenta esse.  No SQLITEStudio aperte ALT + E e coloque esse codigo la dentro e aperte F9.

  Mostrar conteúdo oculto

 


CREATE TABLE snowballwar ( id INTEGER (11) NOT NULL, name VARCHAR (255) NOT NULL, score INTEGER (11) NOT NULL, data VARCHAR (255) NOT NULL, hora VARCHAR (255) NOT NULL, PRIMARY KEY ( id ) );

 

 

Ja este comando


ALTER TABLE `players` ADD `sbw_points` int(11);

E da mesma forma do de cima ALT + E / Colar nas linhas que tem la/ F9

Deu certo meu parceiro, porem tem outro problema que está acontecendo quando acerto uma pessoa ela não morre so conta o ponto.

Obrigado pela ajuda +REP

Link para o post
Compartilhar em outros sites
2 horas atrás, Nox disse:

Deu certo meu parceiro, porem tem outro problema que está acontecendo quando acerto uma pessoa ela não morre so conta o ponto.

Obrigado pela ajuda +REP

Ja sei qual e o erro. Também tive ele. Agora estou na faculdade assim que chega em casa eu mando pra voce a correção. Ate 22:30 eu posto aqui.

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
8 minutos atrás, tetheuscunha disse:

Ja sei qual e o erro. Também tive ele. Agora estou na faculdade assim que chega em casa eu mando pra voce a correção. Ate 22:30 eu posto aqui.

Obrigado meu brother 

Link para o post
Compartilhar em outros sites
Em 23/03/2017 ás 19:54, Nox disse:

Obrigado meu brother 

Desculpe não postar ontem, cheguei era 22:30 morto da faculdade.

 

 

 


function onSay(cid, words, param, channel)
local k = string.explode(param, ",")
if(k[1] ~= nil) then
        if(string.upper(k[1]) == 'INFO') then
            local score = {}
            local output =  "Voce tem " .. getPlayerStorageValue(cid, SBW_SCORE) .. " pontos.\nVoce tem "..getPlayerStorageValue(cid, SBW_AMMO).."x municoes.\n------------------\nO maior matador:\n"
            for _, pid in ipairs(getPlayersOnline()) do
                if getPlayerStorageValue(pid, SBW_INEVENT) then
                    table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
                end
            end
            local lx = table.getn(score)
            if(lx > 3) then lx = 3 end
                table.sort(score, function(a, b) return a[2] > b[2] end)
                for k = 1,lx do
                    output = output .. k..". "..score[k][1] .." [".. score[k][2] .."].\n"
                end
                doPlayerPopupFYI(cid, output)
            end
if (string.upper(k[1]) == 'ATIRAR') then
    if(getPlayerStorageValue(cid, SBW_INEVENT) == 1) and not getTileInfo(getThingPos(cid)).protection then
        if getPlayerStorageValue(cid, SBW_EXAUSTHED) <= 1 then
            if(getPlayerStorageValue(cid, SBW_AMMO) > 0) then
                if SBW_STATUS == 'on' then
                    if(SBW_AMMOINFI == false) then
                        doPlayerSetStorageValue(cid, SBW_AMMO, getPlayerStorageValue(cid, SBW_AMMO)-1)
                    end
                    doPlayerSetStorageValue(cid, SBW_EXAUSTHED, 2)
                    lineAnimation(getPlayerLookDirection(cid),getCreaturePosition(cid),12,cid,1,0,1,0,0,0,1,0)
                    addEvent(doPlayerSetStorageValue, SBW_SHOOTEXAUSTHED, cid, SBW_EXAUSTHED, 1)
                    if (getPlayerStorageValue(cid, SBW_AMMO) ~= 1) then
                        doPlayerSendTextMessage(cid, 27, "Restam "..getPlayerStorageValue(cid, SBW_AMMO).."x bolas de neve.")
                    else
                        doPlayerSendTextMessage(cid, 27, "Usando sua ultima bola de neve, recarregue.")
                    end
                end
            else
                doPlayerSendCancel(cid, "Voce esta sem bolas de neve, recarregue no centro do campo ou mate um inimigo.")
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)     
            end
        else
            doPlayerPopupFYI(cid, "Acalme-se voce deve esperar para atirar novamente.")
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
            return false
        end
    else
        doPlayerPopupFYI(cid, "Voce precisa estar dentro evento ou fora da pz.")
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
    end
end
end
return true
end
 
 
                function lineAnimation(lookDir,playerPos,effect,cid,fvar,fpos,ffound,fposV,fcheck,fvcid,floopCounter,fvpid, name)
                local var = fvar
                local pos = fpos
                local found = ffound
                local posV = fposV
                local check = fcheck
                local vcid = fvcid
                local loopCounter = floopCounter
                local vpid = fvpid
                local storage = SBW_EXAUSTHED
                        if var < 2 then
                                vcid = cid
                        end
                        pos = playerPos
                        if not isInWallArray(convert(lookDir,pos)) then--isInWallArray({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z}) then --isInArray(t.onShoot.misc.walls_id, getThingfromPos({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z, stackpos=0}).itemid) then
                                doSendDistanceShoot(pos, convert(lookDir,pos),effect)
                                pos = convert(lookDir,pos)
                                var=var+1
                                posV = convertV(lookDir,playerPos)
                                for _, pid in ipairs(getPlayersOnline()) do
                                        if (getCreaturePosition(pid).x == pos.x and getCreaturePosition(pid).y == pos.y and getCreaturePosition(pid).z == pos.z) then
                                                --if loopCounter > 2 then
                                                vpid = pid
                                                --end
                                                if (vpid ~= vcid) then
                                                        if var > 2 then
                                                                if (getCreaturePosition(pid).x == posV.x and getCreaturePosition(pid).y == posV.y and getCreaturePosition(pid).z == posV.z) then
killPlayer(pid,pos,getCreatureName(vcid))
                                                                        if (lookDir == 0) or (lookDir == 2) then
                                                                                var = 6
                                                                        else
                                                                                var = 8
                                                                        end
                                                                end
                                                        end
                                                        killPlayer(pid,pos,vcid)
                                                        if (lookDir == 0) or (lookDir == 2) then
                                                                var = 6
                                                        else
                                                                var = 8
                                                        end
                                                end
                                        end
                                        loopCounter = loopCounter +1
                                end    
                                if (lookDir == 0) or (lookDir == 2) then
                                        if var ~= 6 then
                                                addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid)
                                        else
                                                var = 1
                                        end
                                else
                                        if var ~= 8 then
                                                addEvent(lineAnimation,  SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid)
                                        else
                                                var = 1
                                        end
                                end
                        else
                                doSendMagicEffect(convert(lookDir,pos),2)
                                var = 1
                        end
                end
 
                local ret = {}
                function convert(lookDir,pos)
                local positions = {
                        [0] = {x = pos.x, y = pos.y-1, z = pos.z},
                        [1] = {x = pos.x+1, y = pos.y, z = pos.z},
                        [2] = {x = pos.x, y = pos.y+1, z = pos.z},
                        [3] = {x = pos.x-1, y = pos.y, z = pos.z}
                        }
                        ret = positions[lookDir]
                return ret
                end
 
 
                local ret = {}
                function convertV(lookDir,pos)
                local positions = {
                        [0] = {x = pos.x, y = pos.y+1, z = pos.z},
                        [1] = {x = pos.x-1, y = pos.y, z = pos.z},
                        [2] = {x = pos.x, y = pos.y-1, z = pos.z},
                        [3] = {x = pos.x+1, y = pos.y, z = pos.z}
                        }
                        ret = positions[lookDir]
                return ret
                end
                
                function isInWallArray(pos)
                        for k = 0, table.getn(SBW_WALLSID) do
                                if getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k] then --this doesn't even make sense but tried other ways and it gave errors, so meh 2lazy2search
                                    return true    
                                end
                        end
                        return false
                end
                               
                function killPlayer(cid, pos, killer)
                    local t_l = SBW_AREA[1]
                    local b_r = SBW_AREA[2]
                    local posti = {}
                    local isPossibleToTeleportPlayer = false
                    while (isPossibleToTeleportPlayer == FALSE) do
                    doTeleportThing(cid, {x=math.random(t_l.x,b_r.x), y=math.random(t_l.y, b_r.y), z=math.random(t_l.z, b_r.z)})
                        if isInWallArray(posti) == FALSE then
                            isPossibleToTeleportPlayer = TRUE
                        end
                    end
                    doTeleportThing(cid, posti)
                    doSendMagicEffect(pos,2)
                    doSendMagicEffect(posti,6)
                    doSendAnimatedText(pos, ""..getCreatureName(killer).." ", 55)
                    doPlayerSendTextMessage(cid, 27, "Voce morreu para "..getCreatureName(killer)..".")
                    doPlayerSetStorageValue(killer, SBW_SCORE, getPlayerStorageValue(killer, SBW_SCORE)+SBW_POINTSKILL)                
                    doPlayerSendTextMessage(killer, 27, "You've killed "..getCreatureName(cid)..".")
                    if SBW_LOSTSCORE then
                        doPlayerSetStorageValue(cid, SBW_SCORE, getPlayerStorageValue(cid, SBW_SCORE)-1)
                    end
                    if SBW_RESETAMMO then
                        doPlayerSetStorageValue(cid, SBW_AMMO, SBW_MINAMMO)
                    end
                end
                                               
              

 

 

O erro de o player não ser teletransportado esta em Talkaction, substitui por esse.

Editado por tetheuscunha (veja o histórico de edições)

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
5 horas atrás, tetheuscunha disse:

Desculpe não postar ontem, cheguei era 22:30 morto da faculdade.

 

  Mostrar conteúdo oculto

 


function onSay(cid, words, param, channel)
local k = string.explode(param, ",")
if(k[1] ~= nil) then
        if(string.upper(k[1]) == 'INFO') then
            local score = {}
            local output =  "Voce tem " .. getPlayerStorageValue(cid, SBW_SCORE) .. " pontos.\nVoce tem "..getPlayerStorageValue(cid, SBW_AMMO).."x municoes.\n------------------\nO maior matador:\n"
            for _, pid in ipairs(getPlayersOnline()) do
                if getPlayerStorageValue(pid, SBW_INEVENT) then
                    table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)})
                end
            end
            local lx = table.getn(score)
            if(lx > 3) then lx = 3 end
                table.sort(score, function(a, b) return a[2] > b[2] end)
                for k = 1,lx do
                    output = output .. k..". "..score[k][1] .." [".. score[k][2] .."].\n"
                end
                doPlayerPopupFYI(cid, output)
            end
if (string.upper(k[1]) == 'ATIRAR') then
    if(getPlayerStorageValue(cid, SBW_INEVENT) == 1) and not getTileInfo(getThingPos(cid)).protection then
        if getPlayerStorageValue(cid, SBW_EXAUSTHED) <= 1 then
            if(getPlayerStorageValue(cid, SBW_AMMO) > 0) then
                if SBW_STATUS == 'on' then
                    if(SBW_AMMOINFI == false) then
                        doPlayerSetStorageValue(cid, SBW_AMMO, getPlayerStorageValue(cid, SBW_AMMO)-1)
                    end
                    doPlayerSetStorageValue(cid, SBW_EXAUSTHED, 2)
                    lineAnimation(getPlayerLookDirection(cid),getCreaturePosition(cid),12,cid,1,0,1,0,0,0,1,0)
                    addEvent(doPlayerSetStorageValue, SBW_SHOOTEXAUSTHED, cid, SBW_EXAUSTHED, 1)
                    if (getPlayerStorageValue(cid, SBW_AMMO) ~= 1) then
                        doPlayerSendTextMessage(cid, 27, "Restam "..getPlayerStorageValue(cid, SBW_AMMO).."x bolas de neve.")
                    else
                        doPlayerSendTextMessage(cid, 27, "Usando sua ultima bola de neve, recarregue.")
                    end
                end
            else
                doPlayerSendCancel(cid, "Voce esta sem bolas de neve, recarregue no centro do campo ou mate um inimigo.")
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)     
            end
        else
            doPlayerPopupFYI(cid, "Acalme-se voce deve esperar para atirar novamente.")
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
            return false
        end
    else
        doPlayerPopupFYI(cid, "Voce precisa estar dentro evento ou fora da pz.")
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
    end
end
end
return true
end
 
 
                function lineAnimation(lookDir,playerPos,effect,cid,fvar,fpos,ffound,fposV,fcheck,fvcid,floopCounter,fvpid, name)
                local var = fvar
                local pos = fpos
                local found = ffound
                local posV = fposV
                local check = fcheck
                local vcid = fvcid
                local loopCounter = floopCounter
                local vpid = fvpid
                local storage = SBW_EXAUSTHED
                        if var < 2 then
                                vcid = cid
                        end
                        pos = playerPos
                        if not isInWallArray(convert(lookDir,pos)) then--isInWallArray({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z}) then --isInArray(t.onShoot.misc.walls_id, getThingfromPos({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z, stackpos=0}).itemid) then
                                doSendDistanceShoot(pos, convert(lookDir,pos),effect)
                                pos = convert(lookDir,pos)
                                var=var+1
                                posV = convertV(lookDir,playerPos)
                                for _, pid in ipairs(getPlayersOnline()) do
                                        if (getCreaturePosition(pid).x == pos.x and getCreaturePosition(pid).y == pos.y and getCreaturePosition(pid).z == pos.z) then
                                                --if loopCounter > 2 then
                                                vpid = pid
                                                --end
                                                if (vpid ~= vcid) then
                                                        if var > 2 then
                                                                if (getCreaturePosition(pid).x == posV.x and getCreaturePosition(pid).y == posV.y and getCreaturePosition(pid).z == posV.z) then
killPlayer(pid,pos,getCreatureName(vcid))
                                                                        if (lookDir == 0) or (lookDir == 2) then
                                                                                var = 6
                                                                        else
                                                                                var = 8
                                                                        end
                                                                end
                                                        end
                                                        killPlayer(pid,pos,vcid)
                                                        if (lookDir == 0) or (lookDir == 2) then
                                                                var = 6
                                                        else
                                                                var = 8
                                                        end
                                                end
                                        end
                                        loopCounter = loopCounter +1
                                end    
                                if (lookDir == 0) or (lookDir == 2) then
                                        if var ~= 6 then
                                                addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid)
                                        else
                                                var = 1
                                        end
                                else
                                        if var ~= 8 then
                                                addEvent(lineAnimation,  SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid)
                                        else
                                                var = 1
                                        end
                                end
                        else
                                doSendMagicEffect(convert(lookDir,pos),2)
                                var = 1
                        end
                end
 
                local ret = {}
                function convert(lookDir,pos)
                local positions = {
                        [0] = {x = pos.x, y = pos.y-1, z = pos.z},
                        [1] = {x = pos.x+1, y = pos.y, z = pos.z},
                        [2] = {x = pos.x, y = pos.y+1, z = pos.z},
                        [3] = {x = pos.x-1, y = pos.y, z = pos.z}
                        }
                        ret = positions[lookDir]
                return ret
                end
 
 
                local ret = {}
                function convertV(lookDir,pos)
                local positions = {
                        [0] = {x = pos.x, y = pos.y+1, z = pos.z},
                        [1] = {x = pos.x-1, y = pos.y, z = pos.z},
                        [2] = {x = pos.x, y = pos.y-1, z = pos.z},
                        [3] = {x = pos.x+1, y = pos.y, z = pos.z}
                        }
                        ret = positions[lookDir]
                return ret
                end
                
                function isInWallArray(pos)
                        for k = 0, table.getn(SBW_WALLSID) do
                                if getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k] then --this doesn't even make sense but tried other ways and it gave errors, so meh 2lazy2search
                                    return true    
                                end
                        end
                        return false
                end
                               
                function killPlayer(cid, pos, killer)
                    local t_l = SBW_AREA[1]
                    local b_r = SBW_AREA[2]
                    local posti = {}
                    local isPossibleToTeleportPlayer = false
                    while (isPossibleToTeleportPlayer == FALSE) do
                    doTeleportThing(cid, {x=math.random(t_l.x,b_r.x), y=math.random(t_l.y, b_r.y), z=math.random(t_l.z, b_r.z)})
                        if isInWallArray(posti) == FALSE then
                            isPossibleToTeleportPlayer = TRUE
                        end
                    end
                    doTeleportThing(cid, posti)
                    doSendMagicEffect(pos,2)
                    doSendMagicEffect(posti,6)
                    doSendAnimatedText(pos, ""..getCreatureName(killer).." ", 55)
                    doPlayerSendTextMessage(cid, 27, "Voce morreu para "..getCreatureName(killer)..".")
                    doPlayerSetStorageValue(killer, SBW_SCORE, getPlayerStorageValue(killer, SBW_SCORE)+SBW_POINTSKILL)                
                    doPlayerSendTextMessage(killer, 27, "You've killed "..getCreatureName(cid)..".")
                    if SBW_LOSTSCORE then
                        doPlayerSetStorageValue(cid, SBW_SCORE, getPlayerStorageValue(cid, SBW_SCORE)-1)
                    end
                    if SBW_RESETAMMO then
                        doPlayerSetStorageValue(cid, SBW_AMMO, SBW_MINAMMO)
                    end
                end
                                               
              

 

 

O erro de o player não ser teletransportado esta em Talkaction, substitui por esse.

 

Esquenta não brother, obrigado deu certinho porem apareceu um outro bug que esta spawnando em cima das coisas mas vou tentar resolver, mas deu certinho.

Link para o post
Compartilhar em outros sites
1 hora atrás, Nox disse:

 

Esquenta não brother, obrigado deu certinho porem apareceu um outro bug que esta spawnando em cima das coisas mas vou tentar resolver, mas deu certinho.

kkkk o meu da o mesmo erro ainda. Não tentei solucionar. Eu acho que é na lib.

 

Editado por tetheuscunha (veja o histórico de edições)

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
8 horas atrás, tetheuscunha disse:

kkkk o meu da o mesmo erro ainda. Não tentei solucionar. Eu acho que é na lib.

 

Também estou achando 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por sirmagna
      Procuro equipe interessada em desenvolver um projeto de "Tibia HunterxHunter"
      Tenho um projeto pré-montado que estou criando sozinho
      estarei disponibilizando uma previa 
      das minhas sprites 
      preciso de uma equipe com boas ideias e criativa
      para concluir o ot e deixar online para todos desfrutarem dessa obra prima
       
      *******ate o momento o projeto contem sprites do Killua Zoldyck/Hisoka Morow/Gon Freecss/Chrollo Lucilfer/Kurapika
      >>>Previa:



      OTClient_2024-02-09_19-29-45.mp4
    • Por luanluciano93
      Olá galera, em 02/12/23 o projeto Canary atualizou seu release para a versão 3.1.2 e como estou desenvolvendo um servidor usando esta base decidi divulga-la, pois a cada dia ela melhor muito, é um projeto promissor.

      Para quem não conhece, Canary é um projeto desenvolvido no github de um servidor completo na versão 13.21 (atualmente) com todas as features do tibia global. Ele tem duas opções de datapack que seriam o global e um custom.

      Aqui está o link do projeto para quem quiser conhecer melhor: https://github.com/opentibiabr/canary
      Aqui está o link do lançamento do release para a versão 3.1.2 e suas mudanças e melhorias: https://github.com/opentibiabr/canary/compare/v3.1.1...v3.1.2
      Aqui está o link do discord do projeto para dúvidas e etc: https://discord.com/invite/gvTj5sh9Mp
      Aqui está o link de tutoriais e a documentação do projeto: https://docs.opentibiabr.com/home/welcome

      Algumas das features existentes no projeto:

      BOOSTED CREATURE:

       
      EVENT SCHEDULE:

       
      CYCLOPEDIA:

       
      CHARMS:

       
      DAILY REWARD: 

       
      PREY:

       
      IMBUEMENTS:

       
      MARKET:

       
      STORE:

       
      CUSTOM CHARACTERS:


       
      DENTRE MUITOS OUTROS!
    • Por chateadoagr
      Atualização v1.7.0

      Chance de Spawn de Monstro: Ao matar vários monstros conhecidos existe a chance de invocar um monstro, por exemplo ao matar uma aranha gigante existe a chance da Velha Viúva aparecer, essa probabilidade dependendo do monstro foi ajustada para o seguinte,
      Exemplo

      :
      Rotworm, para Ao morrer para invocar uma rainha Rotworm, a probabilidade é de 15%, enquanto uma aranha gigante para invocar a Velha Viúva é de 5%.

      Aqui está uma lista dos monstros :
      Rotworm > Rotworm Queen - 15%
      Cyclops > Cyclops Smith - 15%
      Wolf > War Wolf - 15%
      Dragon > Dragon Lord - 8%
      Giant Spider > The Old Widow - 5%
      Magma Crawler > Weeper - 5%
      Serpent Spawn > Medusa - 5%
      Frazzlemaw > Guzzlemaw - 5%
      Midnight Asura > Dawnfire Asura - 5%
      Warlock > Infernalist - 5%
      Sea Serpent > Seacrest Serpent - 5%
      Glooth Anemone > Rustheap Golem - 5%
      Hellspawn > Plaguesmith - 4 %
      Worker Golem > War Golem - 4%
      Demon Outcast > Vexclaw - 4%
      Sight of Surrender > Horadron - 3%

      Azure Portal : Existem agora 4 sites onde portais podem aparecer, o que leva a uma missão.
      Os portais aparecem em:
      Arkeron / Dolwatha / Freewind e Death Valley .
      Para saber as posições veja o arquivo: data/scripts/custom/portal_gates.lua
      Para ver os mapas, abra os mapas localizados em data/world/portals
      Uma vez aberto para ir para a posição, veja o arquivo portal_gates, que indica o exitPosition , marque essa posição e você poderá retocar a porta do portal, se desejar.

      Esses portais levam todos para a nova Caverna Azure, onde encontrarão novos Monstros e um Boss chamado Azure.

      15 Novos Monstros
      3 Novos Bosses

      Combate + Mecânica de Acesso + Boss Combat :
      Eles devem encontrar o caminho para chegar à sala central, na qual deverão usar a pedra azul do santuário para desbloquear o caminho, terão então um certo tempo para correr em direção a ela ... próximo santuário.
      Ao chegar na sala central, você deve destrancar a porta. Aqui, você terá que mudar a posição dos humanos congelados no chão. Ao clicar em todas as estátuas, a porta será removida por um tempo e você poder passar pelo portal.
      Eles se enfrentarão na ordem: Terror Spider (sem loot, sim experiência), que se transformará em Deep Necromancer (Sem loot, sim experiência) que por sua vez se transformará em Azure (Loot + Experience + Rarity Loot), Azure faz não terá muita complicação se ele não conseguir acertar e fazer um aoe bem forte, tome cuidado alguns Azure Guards irão aparecer durante a luta para desequilibrar a luta, aguente firme e desafie o Azure!

      Os monstros possuem novos recursos, esses recursos podem ser vendidos respectivamente para os NPCs (yasir, hana...)
      2 Novos Trajes - Anjo Pequeno / Everblight (Masculino / Feminino - Com Montaria) que são obtidos com a moeda do pesadelo (obtida por matar o chefe Azure)

      4 Novos Conjuntos :
      Seetheras / Varruth: Cavaleiros
      Netherwave: Druidas e Feiticeiros
      Felsinger: Paladinos

      3 Novas Moedas :
      Moeda Ancestral : Permite usá-la e obter Moedas Ancestrais para usar na Loja Ancestral. (Obtido: Azure Portal Monsters (rare loot))
      Nightmare Coin : (Obtido: Boss Azure (Azure Portals)) Usado para obter os 2 novos trajes: Small Angel & Everblight, trocado com o npc Estherya, localizado em frente ao portal Azure.
      Azure Coin : Usado com o Npc: Taerar para comprar os novos conjuntos (Obtido: Boss Azure)
      Taerar Npc: Está localizado na entrada dentro da Azure Cave.

      Adicionado conjunto de gnomo, amuleto de rabo de raposa, anel de borboleta, capa de pena de cisne, frasco de luz estelar, espelho lunar e coletor de sol, que são saqueados de portais Azure (diretamente de monstros) Adicionado Azure e monstros à Tarefa Ancestral (Azure, Tarefa Diária,

      Monstros
      Normal Tarefas) com recompensa Ancestral Coin / Azure Coin e Nightmare Coin.

      Melhorado/Corrigido
      Alterada a primeira letra do arquivo .lua (dentro do xml do NPCS) de maiúscula para minúscula, o que gerava um erro nos sistemas operacionais Ubuntu.
      Cavernas do Pesadelo e do Ceifador dolwatha: Adicionados mais Pesadelos, descendentes do pesadelo e Ceifadores à caverna.
      Corrigido terreno sem bordas na parte externa da caverna.
      Cavernas Glooth em Dolwatha, adicionado mais terreno para evitar ver o preto do mapa (tela 4k)
      Corrigida uma dica de ferramenta na web na parte de mineração da Wikipedia.
                Atualização v1.6.0

      - Criado um novo sistema de Herbalist, com sua habilidade ( SKILL_HERBALIST ) adicionada no cliente, coletar recursos, vendê-los ou criar novas poções.

      - Novas receitas , que serão obtidas de vários monstros (ver site wikipedia)

      - Criadas 6 Novas Poções: Nimble, Hazel e Tumble ( Life & Mana )

      - Uso de poções: jogadores Nimble nível 100, jogadores Hazel nível 150 e jogadores Tumble nível 200.

      - As poções possuem frascos vazios que podem ser vendidos para Alaistar, Asnarus ou Xodet .
      - Poções elaboradas podem ser vendidas no mercado entre jogadores.
       
      Corrigido :
      Visuais :
      Dolwatha do Norte, ciclopes, bordas corrigidas/adicionadas
      Falanaar: Selva, corrigida 1 pedra, 2 águas após a torre azura
      Vale da Morte: Corrigida a entrada do chão para o sono febril
      Arkeron: Corrigida a parte sul de alguns visuais acima da água, grama rochosa deslocada de a pedra "menir"
       
      Área de artesanato ao norte de Dolwatha


      Novo efeito


      Novas Plantas


      Novos recursos


      Novas ferramentas


      Novas receitas e poções
          Atualização v1.5.0

      - Adicionada uma ação de conversação !shop para receber itens da web se eles usarem uma loja.

      Sistema de Masmorras

      O Sistema de Masmorras pode ser ativado através do portal em Mordragor, no momento apenas 1 masmorra está disponível, a Masmorra dos Ossos.
      Esta masmorra tem um cooldown de 30 minutos, caso não o façam dentro desse tempo serão expulsos.
      Só é permitido entrar 1 equipe por vez (Depois vou criar mais, o que vai evitar que fique sempre lotado, também vou organizar para que essa mesma equipe se repita mais caso uma esteja lotada, deixa eu explicar, na mesma masmorra apenas X jogadores podem entrar em equipe, se uma equipe estiver dentro, ninguém mais pode entrar até sair, no caso se repetirmos a masmorra adicionando uma nova linha, 2 equipes podem entrar, com 2 mapas diferentes , mas como dito, virá aos poucos.)
      Novos Monstros com nível, mais dano, mais experiência, mais loot, mais vida.
      Novo Chefe Príncipe Esquelético.
      Novo conjunto de esqueleto (capacete, armadura, pernas, botas), este conjunto é baseado em defesa de terra, sanguessuga de vida / mana e estatísticas de artesanato (habilidade de artesanato, habilidade de mineração e habilidade de corte de lenha, +3 em peças)

      . deve saquear um recurso chamado Enchanted Bone Skull que permitirá acesso à alavanca do chefe. Este recurso pode ser vendido para Yasir.
      Príncipe Esqueleto faz parte da Tarefa Diária como chefe para matar no Sistema Ancestral.
      Alterada a distância em que um monstro pode ver um jogador (10 norte/sul, 15 leste/oeste)   Imagens:
       
       
       
          Atualização v1.4.0


      Criado um Sistema de Tarefas Ancestrais que funciona com o banco de dados (2 novas colunas em jogadores). Os pontos são somados por Jogador e não por conta, posteriormente provavelmente será adicionada uma moeda que lhe permitirá comprá-lo na loja e poder obter pontos de outra forma, no momento é apenas através de tarefas.
      Novo NPC Chamado Armin , esse NPC dá Tarefas para os jogadores completarem, mas também dá tarefas diárias, que podem ser feitas a cada 24 horas.
      As tarefas dão Pontos Ancestrais como recompensa e também Pontos de Classificação Ancestral
      .

      Você pode usar o comando: !ancestral para mostrar informações, pontos, classificação, mas também o status das tarefas que você está realizando .

      Existem várias classificações dependendo dos pontos:
      1 - 40 = "Rookie"
      41 - 100 = "Bronze"
      101 - 250 = "Silver" 251 -
      470 = "Gold"
      471 - 770 = "Platinum"
      771 - 1220 = "Diamante "
      1221 - 1820 = "Ancestral"
      1821 - 2820 = "Místico"
      2821 - 4320 = "Abissal"
      4321 - 6320 = "Ascendente"
      6321 - 9999 = "Caos"
      10000 - + = "Despertar"

      Podemos ver a classificação de um jogador clicando duas vezes .

      Existem atualmente 10 tarefas normais e 5 tarefas diárias. Os diários em sua maioria são os chefes.
      Eles conversam com o NPC Armin e perguntam sobre a Lista de Tarefas Ancestrais Diárias ou a Lista de Tarefas Ancestrais Normais. Para iniciar uma tarefa você dirá ao NPC o nome da tarefa (Nome da tarefa por exemplo: Dragões de fogo e a tarefa será iniciada automaticamente.

      Graças aos Pontos Ancestrais, você pode adquirir itens em um novo módulo adicionado ao cliente.
      O Ranking Ancestral terá mais significado posteriormente, assim como os pontos.

      Foi adicionada uma loja para poder utilizar Pontos Ancestrais.
       
        Atualização v1.3.0 Foram removidos alguns scripts que estavam duplicados e geravam um erro de evento duplicado. Corrigidos os nomes dos jogadores que eram exibidos incorretamente ao subir em montarias, com asas, etc. A partir de agora eles estão mais elevados e mais centrados.

      Um sistema de Lenhador, baseado em (SKILL_WOODCUTTING) que determina a nova habilidade Lenhador, com novos recursos, que podem ser vendidos em primeiro lugar para o NPC Rostock.
      5 novos tipos de árvores para cortar, cada uma com seu próprio nível de machado, semelhante à mineração.
      Novo NPC Rostock na saída de Falanaar (para encontrá-lo/vá para Rostock), com nova área de Artesanato do Lenhador, saída sudoeste de Falanar.

      Receitas do Loot Woodcutter: (Adicionadas na web wikipedia)
      Grande pedaço de madeira: Aranha Gigante, Filhote de Dragão
      Tábua de Cinza: Pesadelo, Descendente do Pesadelo,
      Tábua de Castanha Gigante de Gelo: Cuspidor, Grimeleech, Ferreiro da Praga
      Tábua de Oliveira: Marid, Devorador de Pedra, Cereja Caiman
      Assassina Prancha: Hellflayer, Death Dragon

      Adicionadas auras e asas.
      Para dar aos jogadores você deve usar um item ao clicar nele ele dará aura de asa ou shader.    
       
       
          Atualização v1.2.0:

      Adicionado:
      - Nova Pasta com CUSTOM_SCRIPTS, esta pasta incluirá scripts ou alterações que NÃO serão incluídas no servidor, o que você questionou, por se tratar de uma customização diferente, os scripts serão adicionados nesta pasta , nesta atualização teremos o script potions.lua com cooldown adicionado.
      Isso não significa que tudo o que você perguntar será adicionado aqui, mas sim que o que achamos que não precisa ser alterado será encontrado aqui.

      Montarias :
      - Devorador da Luz Negra, Espírito da Pureza, Caveira da Perdição, Caveira de Magma, Caveira Fogo de Copr
      Trajes :
      - Discípulo Shadowlotus, Aucar Antigo, Rastreador de Gelo, Arqueiro Blindado, Mago Eterno, Leão da Guerra, Defensor Decadente, Evocador da Luz Negra, Mago Fúria Flamejante -

      Sistema de Waypoints em cada cidade, você pode adicionar um requisito (item, armazenamento, missão, missão)
      https://streamable.com/xe0pjb

       
      Criado um sistema de Mineração com uma nova Habilidade de Mineração ( SKILL_MINING ), efeitos, são 7 pedras diferentes por níveis:
      Bronze, Prata, Safira, Ouro, Rubi, Ametista, Esmeralda, cada pedra é cortada com sua picareta necessária, nível de mineração necessário o suficiente para esmagar a pedra e/ou criar as receitas na Forja de Mineração, ao olhar uma receita, esta dirá para que serve, os itens necessários, o nível de artesanato necessário e se você desbloqueou a receita.
      A Forja de Mineração está localizada ao sul de Mordragor.
      Atualmente, os lingotes são vendidos para o npc Elyotrope na Mining Forge, posteriormente serão usados para diversos artesanatos.
      No site eles têm Wikipedia indicando as informações.

      Crafting , nova barra de habilidades como mineração, adicionada no cliente ( SKILL_CRAFT ), assim como mineração, começa no nível 10. Os servidores existentes terão uma atualização com um arquivo chamado migração, que atualizará o banco de dados com as habilidades necessárias e será adicionado a todas as existentes. jogadoras.


      - A confecção dos Lingotes exige a obtenção da receita, em troca não é necessária a picareta, mas é necessário ter um nível de artesanato quanto aos diferentes lingotes, indicado na Receita ao olhar a receita.

      Receitas de Mineração de Loot (Lingotes) :
      A ordem dos monstros escritos, o primeiro tem mais sorte que o segundo, terceiro, etc.

      Lingote de Bronze Pequeno : Dragão, Ciclope, Bárbaro Bloodwalker, Elfo Arcanista, Escoteiro Lingote de
      Prata Pequeno: Senhor Dragão, Feiticeiro, Serpente do Mar, Hidra
      Lingote de Safira Pequeno: Hellspawn, Destroyer, Grim Reaper
      Lingote de Ouro Pequeno: Wereboar, Vile Grandmaster, Behemoth
      Small Lingote de Ametista : Fúria, Diabólico Diabólico, Lutador do Inferno
      Lingote de Rubi Pequeno : Demônio, Lagarto Escolhido, Wyrms
      Pequeno Lingote de Esmeralda : Golem de Lava, Aranha Gigante, Reaver da Realidade Lingote de
      Bronze Grande : Dawnfire Asura, Serpent Spawn Lingote de
      Prata Grande : Minotauro Amazon, Minotaur Hunter , Worm Priestess
      Big Sapphire Lingote : Rustheap Golem, Hellhound, Ironblight
      Big Gold Lingote : Juggernault, Dark Torturer, Frazzlemaw
      Big Amethyst Lingote : Draken Spellweaver, Draken Elite, Ghastly Dragon
      Big Ruby Lingote : Grimeleech, Retching Horror, Sight of Surrender
      Big Emerald Lingote : Vexclaw, Terrorsono, Deepling Tyrant
       
       
       

      Por precaução, uma revisão das missões:
      Bosses (alavanca/missão):
      Abyssador, Annihilator, Deep Terror, Jaul, Plagirath, Plagueroot, Professor Maxxen, The Welter, Ushuriel.
       
    • Por Baryon
      Boa noite amigos, estou aqui para apresentar meu projeto.
      Estou aqui no intuito de tentar desenvolver um ats baseado em naruto full perspectiva e com uso reduzido de bot, teremos um bot próprio que ira lhe auxiliar na cura e com espaço para 1 magia com finalidade de treino, assim focando que os players possam tentar se divertir jogando na mao tanto a parte pve como pvp do game (oque eu acho mais legal).
      O Servidor ja se encontra com alguns sistema sendo eles:
      ・Passe de batalha
      ・Painel de missoes 
      ・Village war
      ・Sistema de vilas
      ・Bingo book
      ・Autoloot
      ・Ninja procurado
      ・Painel de Dungeons
      ・ World Boss
      Nossas vocaçoes sao divididas em classes sendo elas:
       ・Shooters: Deidara, Gaara, Kankuro, Tenten, Sasori, Konan.
       ・Especialistas: Shikamaru, Nagato, Hashirama, Oonoki, Orochimaru.
       ・Assassinos: Asuma, Madara, Minato, Sasuke, Obito, Kisame.
       ・Suportes: Sakura, Shizune, Ino, Tsunade.
       ・Lutadores: Naruto, Kiba, Chouji, Lee, Neji, Hinata.
             (obs: ja temos por volta de mais 10 personagens "prontos" alem desses com foco em atualizações futuras)
       Atualmente apenas eu e mais uma pessoas estamos desenvolvendo o servidor e ambos trabalham o tempo ou seja nao temos tanto tempo disponivel entao estou em buscas de novas pessoas com certa experiencia para integrar a equipe tenho em mente 4 vagas disponiveis que sao: 1 Mapper, 1 Dev, 1 Designer, 1 Moderador (ficara em contato com a staff e interagindo em nosso discord, ficando por dentro das novidades e no inicio do game ira iniciar como tutor para auxiliar os players).
       Caso alguem tenha interessa em embarcar nessa aventura favor entrar em contato cmg pelo discord 😉 em breve estarei postando mais atualizaçoes do ot aqui!

       Nosso discord: https://discord.gg/pPTkbAnNSV
      Meu contato no discord: baryon1492



    • Por Glacial
      Boa tarde galera, tudo bem?
       
      Meu nome é Gustavo/Glacial, gostaria de compartilhar com a comunidade meu projeto solo no RME 3.5 /Client 10.98 do Tibia.
      Glacial City, com houses, hunts, lojas, quests, bosses e depot.

      Os teleportes já estão redirecionados, falta apenas itens nos baús das quests.
       
      Espero que curtam e podem baixar pra colocar no ot de vocês!
       
      Atualização versão 2.0:
      - Houses na cidade
      - Hive Lair (Lady Bug)
      - Silencer & Frazzle/Guzzlemaw Hunt
      - Drakens + Demons Hunt (área maior)
       
      Links MediaFire e VirusTotal:
      Download Mapas: https://www.mediafire.com/folder/hz0q694t9nk86/Mapas_Glacial
      versão 1.0 Virus Total: https://www.virustotal.com/gui/file/b4e94903752e24aba63b291f9929f15f6bd7f4feb44d5a1f42ec3d755ee7977e?nocache=1
      versão 2.0 Virus Total: https://www.virustotal.com/gui/file/d88ae087e966bed6e2f2348f31246c1858831c1fb13d4e8613ba98f6ede37503?nocache=1
       
      Segue fotos em anexo.
       

       

       

       
       
       

       

       


×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo