Ir para conteúdo
  • Cadastre-se

Posts Recomendados

@UP

 

achei bastante legal, posso fazer essa alteração! achei espetacular xD

 

outra coisa é colocar uma pos para os espectadores do evento 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Mapa BattleField Feito Por AnneMotta : Mapa Battlefield.rar Scan: https://www.virustot...sis/1346548669/ Imagens do mapa Descrição: - O evento é automático e acontece em determinado

sim, isso mesmo. Mas no caso você tem que colocar no mapper editor as paredes pq qndo o evento abrir elas serão removidas, e quando o evento acabar elas voltam a ser criadas! infelizm

eu posso fazer o mapa, depois falo com o vod pra ver certinho como tem que fazer o mapa pro evento.

Posted Images

Olá VodKard, uma coisa legal seria passar esse evento para versões como tfs 1.0 Tibia 10.77 e outras mais recentes, pois não existe nenhum disponível free que funcione :/

Meu servidor -> http://atena-global.com/

 

Visite o servidor e ajude-nos a crescer! Atena Global, um novo conceito de Tibia, o verdadeiro RPG você encontra aqui!

Link para o post
Compartilhar em outros sites

Olá VodKard, uma coisa legal seria passar esse evento para versões como tfs 1.0 Tibia 10.77 e outras mais recentes, pois não existe nenhum disponível free que funcione :/

 

eu já fiz uma versão para o TFS 1.0/1.1, mas atualmente estou somente vendendo por enquanto, quem sabe um dia eu poste aqui xD

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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

To só no aguardo da versão 2 que vai ter varios locais! :D

Qnd lançar vou usar mt esse evento papo de colocar 2hrs em um lugar, 4 hrs em outro, 6hrs em outro, o dia todo esse evento kkkk

Link para o post
Compartilhar em outros sites

To só no aguardo da versão 2 que vai ter varios locais! :D

Qnd lançar vou usar mt esse evento papo de colocar 2hrs em um lugar, 4 hrs em outro, 6hrs em outro, o dia todo esse evento kkkk

 

posso fazer essa alteração ainda essa semana.

 

qro saber se o mapa vai ser aleatório ou se vai ser pré programado como vc falo.

 

2 hrs = mapa gelo

4 hrs = mapa fogo

6 hrs = mapa custom

8 hrs = terra

etc...

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
  • 1 month later...

Players ganham o Batle, mais n são teleportados para o temple e nem ganham Premio ? Ajuda aee, Por favor, falta isso apenas !

 

Edit: Na vdd ele ganha o Premio, Porem n é teleportado para o Temple !  Ajuda ae, quem sabe, por favor !

Editado por Lvm65 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 weeks later...
  • 2 months later...

Erro:

Z1jKMFQ.png

 

Meu codigo da lib:

 

_Lib_Battle_Info = {
    Reward = 3,
    TeamOne = {name = "Black Team", storage = 140120, pos = {x=1287,y=1135,z=7}},
    TeamTwo = {name = "Red Team",storage = 140121,pos = {x=1256,y=1135,z=7}},
    storage_count = 180400,
    tpPos = {x=1272, y=1143, z=6},
    limit_Time = 10 -- em minutos
}
 
function resetBattle()
    return setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) and setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0)
end
 
function OpenWallBattle()
    local B = {
        {12519,{x=1271, y=1161, z=6, stackpos = 1}},
        {12519,{x=1271, y=1162, z=6, stackpos = 1}},
        {12519,{x=1271, y=1163, z=6, stackpos = 1}},
        {12519,{x=1271, y=1164, z=6, stackpos = 1}}
    }
    for i = 1, #B do
        if getTileItemById(B[i][2], B[i][1]).uid == 0 then
            doCreateItem(B[i][1], 1, B[i][2])
        else
            doRemoveItem(getThingfromPos(B[i][2]).uid,1)
        end
    end
end
 
function doBroadCastBattle(type,msg)
    local players = {}
    for _, cid in pairs(getPlayersOnline()) do
        if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 or getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 then
            table.insert(players, cid)
        end
    end
    for i = 1, #players do
        doPlayerSendTextMessage(players[i],type,msg)
    end
end
 
function removeBattleTp()
    local t = getTileItemById(_Lib_Battle_Info.tpPos, 1387).uid
    return t > 0 and doRemoveItem(t) and doSendMagicEffect(_Lib_Battle_Info.tpPos, CONST_ME_POFF)
end
 
function getWinnersBattle(storage)
    local players,str = {},""
    for _, cid in pairs(getPlayersOnline()) do
        if getPlayerStorageValue(cid, storage) == 1 then
            table.insert(players, cid)
        end
    end
    str = str .. "Time "..(getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == 0 and _Lib_Battle_Info.TeamTwo.name or _Lib_Battle_Info.TeamOne.name).." venceu o evento PVPWAR. Time vencedor ganhou: 3 PVP Points e o time perdedor: 1 PVP Point"
    for i = 1, #players do
    if isCreature(players[i]) then
        db.executeQuery('UPDATE accounts SET pvp_points=pvp_points+' .. _Lib_Battle_Info.Reward ..' WHERE id=' .. getPlayerAccountId(players[i]))
        doRemoveCondition(players[i], CONDITION_OUTFIT)
        doTeleportThing(players[i], getTownTemplePosition(getPlayerTown(players[i])))
        setPlayerStorageValue(players[i], storage, -1)
        setPlayerStorageValue(players[i], 52310, getPlayerStorageValue(players[i], 52310) + 3)
        end
    end
    resetBattle()
    OpenWallBattle()
    return doBroadcastMessage(str)
end
 
function CheckEvent(delay)
    if delay > 0 and getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then
        doBroadcastMessage('[PVPWAR] Esta esperando '..getGlobalStorageValue(_Lib_Battle_Info.storage_count)..' players para o evento começar [Nesse evento voce ganha PVP Points que sao usados para comprar os melhores SETs e ARMAS]', MESSAGE_STATUS_CONSOLE_RED)
        elseif delay == 0 and getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then
        local players = {}
        for _, cid in pairs(getPlayersOnline()) do
            if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 or getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 then
                table.insert(players, cid)
            end
        end
        
        for i = 1, #players do
            doRemoveCondition(players[i], CONDITION_OUTFIT)
            setPlayerStorageValue(players[i], 52310, getPlayerStorageValue(cid, 52310) + 1)
            doTeleportThing(players[i], getTownTemplePosition(getPlayerTown(players[i])))
            setPlayerStorageValue(players[i], getPlayerStorageValue(players[i], _Lib_Battle_Info.TeamOne.storage) == 1 and _Lib_Battle_Info.TeamOne.storage or _Lib_Battle_Info.TeamTwo.storage, -1)
        end
        doBroadcastMessage('[PVPWAR] Não pode ser iniciado por falta de jogadores.', MESSAGE_STATUS_CONSOLE_RED)
        setGlobalStorageValue(_Lib_Battle_Info.storage_count, 0)
		doTeleportThing(players[i], getTownTemplePosition(getPlayerTown(players[i])))
        resetBattle()
        removeBattleTp()
    end
    addEvent(CheckEvent, 60000, delay-1)
end

Globalevents:

 

function onThink(interval, lastExecution)
_Lib_Battle_Days = {
["Monday"] = {
["00:00"] = {players = 10},
["00:30"] = {players = 10},
["01:00"] = {players = 10},
["01:30"] = {players = 10},
["02:00"] = {players = 10},
["02:30"] = {players = 10},
["03:00"] = {players = 10},
["03:30"] = {players = 10},
["04:00"] = {players = 10},
["04:30"] = {players = 10},
["05:00"] = {players = 10},
["05:30"] = {players = 10},
["06:00"] = {players = 10},
["06:30"] = {players = 10},
["07:00"] = {players = 10},
["07:30"] = {players = 10},
["08:00"] = {players = 10},
["08:30"] = {players = 10},
["09:00"] = {players = 10},
["09:30"] = {players = 10},
["10:00"] = {players = 10},
["10:30"] = {players = 10},
["11:00"] = {players = 10},
["11:30"] = {players = 10},
["12:30"] = {players = 10},
["13:00"] = {players = 10},
["13:30"] = {players = 10},
["14:00"] = {players = 10},
["14:30"] = {players = 10},
["15:00"] = {players = 10},
["15:30"] = {players = 10},
["16:00"] = {players = 10},
["16:30"] = {players = 10},
["17:02"] = {players = 10},
["17:30"] = {players = 10},
["18:00"] = {players = 10},
["18:30"] = {players = 10},
["19:00"] = {players = 10},
["19:30"] = {players = 10},
["20:00"] = {players = 10},
["20:30"] = {players = 10},
["21:00"] = {players = 10},
["21:30"] = {players = 10},
["22:00"] = {players = 10},
["23:00"] = {players = 10},
["23:30"] = {players = 10}
},
["Tuesday"] = {
["00:00"] = {players = 10},
["00:30"] = {players = 10},
["01:00"] = {players = 10},
["01:30"] = {players = 10},
["02:00"] = {players = 10},
["02:30"] = {players = 10},
["03:00"] = {players = 10},
["03:30"] = {players = 10},
["04:00"] = {players = 10},
["04:30"] = {players = 10},
["05:00"] = {players = 10},
["05:30"] = {players = 10},
["06:00"] = {players = 10},
["06:30"] = {players = 10},
["07:00"] = {players = 10},
["07:30"] = {players = 10},
["08:00"] = {players = 10},
["08:30"] = {players = 10},
["09:00"] = {players = 10},
["09:30"] = {players = 10},
["10:00"] = {players = 10},
["10:30"] = {players = 10},
["11:00"] = {players = 10},
["11:30"] = {players = 10},
["12:30"] = {players = 10},
["13:00"] = {players = 10},
["13:30"] = {players = 10},
["14:00"] = {players = 10},
["14:30"] = {players = 10},
["15:00"] = {players = 10},
["15:30"] = {players = 10},
["16:00"] = {players = 10},
["16:30"] = {players = 10},
["17:00"] = {players = 10},
["17:30"] = {players = 10},
["18:00"] = {players = 10},
["18:30"] = {players = 10},
["19:00"] = {players = 10},
["19:30"] = {players = 10},
["20:00"] = {players = 10},
["20:30"] = {players = 10},
["21:00"] = {players = 10},
["21:30"] = {players = 10},
["22:00"] = {players = 10},
["23:00"] = {players = 10},
["23:30"] = {players = 10}
},
["Wednesday"] = {
["00:00"] = {players = 10},
["00:30"] = {players = 10},
["01:00"] = {players = 10},
["01:30"] = {players = 10},
["02:00"] = {players = 10},
["02:30"] = {players = 10},
["03:00"] = {players = 10},
["03:30"] = {players = 10},
["04:00"] = {players = 10},
["04:30"] = {players = 10},
["05:00"] = {players = 10},
["05:30"] = {players = 10},
["06:00"] = {players = 10},
["06:30"] = {players = 10},
["07:00"] = {players = 10},
["07:30"] = {players = 10},
["08:00"] = {players = 10},
["08:30"] = {players = 10},
["09:00"] = {players = 10},
["09:30"] = {players = 10},
["10:00"] = {players = 10},
["10:30"] = {players = 10},
["11:00"] = {players = 10},
["11:30"] = {players = 10},
["12:30"] = {players = 10},
["13:00"] = {players = 10},
["13:30"] = {players = 10},
["14:00"] = {players = 10},
["14:30"] = {players = 10},
["15:00"] = {players = 10},
["15:30"] = {players = 10},
["16:00"] = {players = 10},
["16:30"] = {players = 10},
["17:00"] = {players = 10},
["17:30"] = {players = 10},
["18:00"] = {players = 10},
["18:30"] = {players = 10},
["19:00"] = {players = 10},
["19:30"] = {players = 10},
["20:00"] = {players = 10},
["20:30"] = {players = 10},
["21:00"] = {players = 10},
["21:30"] = {players = 10},
["22:00"] = {players = 10},
["23:00"] = {players = 10},
["23:30"] = {players = 10}
},
["Thursday"] = {
["00:00"] = {players = 10},
["00:30"] = {players = 10},
["01:00"] = {players = 10},
["01:30"] = {players = 10},
["02:00"] = {players = 10},
["02:30"] = {players = 10},
["03:00"] = {players = 10},
["03:30"] = {players = 10},
["04:00"] = {players = 10},
["04:30"] = {players = 10},
["05:00"] = {players = 10},
["05:30"] = {players = 10},
["06:00"] = {players = 10},
["06:30"] = {players = 10},
["07:00"] = {players = 10},
["07:30"] = {players = 10},
["08:00"] = {players = 10},
["08:30"] = {players = 10},
["09:00"] = {players = 10},
["09:30"] = {players = 10},
["10:00"] = {players = 10},
["10:30"] = {players = 10},
["11:00"] = {players = 10},
["11:30"] = {players = 10},
["12:30"] = {players = 10},
["13:00"] = {players = 10},
["13:30"] = {players = 10},
["14:00"] = {players = 10},
["14:30"] = {players = 10},
["15:00"] = {players = 10},
["15:30"] = {players = 10},
["16:00"] = {players = 10},
["16:30"] = {players = 10},
["17:00"] = {players = 10},
["17:30"] = {players = 10},
["18:00"] = {players = 10},
["18:30"] = {players = 10},
["19:00"] = {players = 10},
["19:30"] = {players = 10},
["20:00"] = {players = 10},
["20:30"] = {players = 10},
["21:00"] = {players = 10},
["21:30"] = {players = 10},
["22:00"] = {players = 10},
["23:00"] = {players = 10},
["23:30"] = {players = 10}
},
["Friday"] = {
["00:00"] = {players = 10},
["00:30"] = {players = 10},
["01:00"] = {players = 10},
["01:30"] = {players = 10},
["02:00"] = {players = 10},
["02:30"] = {players = 10},
["03:00"] = {players = 10},
["03:30"] = {players = 10},
["04:00"] = {players = 10},
["04:30"] = {players = 10},
["05:00"] = {players = 10},
["05:30"] = {players = 10},
["06:00"] = {players = 10},
["06:30"] = {players = 10},
["07:00"] = {players = 10},
["07:30"] = {players = 10},
["08:00"] = {players = 10},
["08:30"] = {players = 10},
["09:00"] = {players = 10},
["09:30"] = {players = 10},
["10:00"] = {players = 10},
["10:30"] = {players = 10},
["11:00"] = {players = 10},
["11:30"] = {players = 10},
["12:30"] = {players = 10},
["13:00"] = {players = 10},
["13:30"] = {players = 10},
["14:00"] = {players = 10},
["14:30"] = {players = 10},
["15:00"] = {players = 10},
["15:30"] = {players = 10},
["16:00"] = {players = 10},
["16:30"] = {players = 10},
["17:00"] = {players = 10},
["17:30"] = {players = 10},
["18:00"] = {players = 10},
["18:30"] = {players = 10},
["19:00"] = {players = 10},
["19:30"] = {players = 10},
["20:00"] = {players = 10},
["20:30"] = {players = 10},
["21:00"] = {players = 10},
["21:30"] = {players = 10},
["22:00"] = {players = 10},
["23:00"] = {players = 10},
["23:30"] = {players = 10}
},
["Saturday"] = {
["00:00"] = {players = 10},
["00:30"] = {players = 10},
["01:00"] = {players = 10},
["01:30"] = {players = 10},
["02:00"] = {players = 10},
["02:30"] = {players = 10},
["03:00"] = {players = 10},
["03:30"] = {players = 10},
["04:00"] = {players = 10},
["04:30"] = {players = 10},
["05:00"] = {players = 10},
["05:30"] = {players = 10},
["06:00"] = {players = 10},
["06:30"] = {players = 10},
["07:00"] = {players = 10},
["07:30"] = {players = 10},
["08:00"] = {players = 10},
["08:30"] = {players = 10},
["09:00"] = {players = 10},
["09:30"] = {players = 10},
["10:00"] = {players = 10},
["10:30"] = {players = 10},
["11:00"] = {players = 10},
["11:30"] = {players = 10},
["12:30"] = {players = 10},
["13:00"] = {players = 10},
["13:30"] = {players = 10},
["14:00"] = {players = 10},
["14:30"] = {players = 10},
["15:00"] = {players = 10},
["15:30"] = {players = 10},
["16:00"] = {players = 10},
["16:30"] = {players = 10},
["17:00"] = {players = 10},
["17:30"] = {players = 10},
["18:00"] = {players = 10},
["18:30"] = {players = 10},
["19:00"] = {players = 10},
["19:30"] = {players = 10},
["20:00"] = {players = 10},
["20:30"] = {players = 10},
["21:00"] = {players = 10},
["21:30"] = {players = 10},
["22:00"] = {players = 10},
["23:00"] = {players = 10},
["23:30"] = {players = 10}
},
["Sunday"] = {
["00:00"] = {players = 10},
["00:30"] = {players = 10},
["01:00"] = {players = 10},
["01:30"] = {players = 10},
["02:00"] = {players = 10},
["02:30"] = {players = 10},
["03:00"] = {players = 10},
["03:30"] = {players = 10},
["04:00"] = {players = 10},
["04:30"] = {players = 10},
["05:00"] = {players = 10},
["05:30"] = {players = 10},
["06:00"] = {players = 10},
["06:30"] = {players = 10},
["07:00"] = {players = 10},
["07:30"] = {players = 10},
["08:00"] = {players = 10},
["08:30"] = {players = 10},
["09:00"] = {players = 10},
["09:30"] = {players = 10},
["10:00"] = {players = 10},
["10:30"] = {players = 10},
["11:00"] = {players = 10},
["11:30"] = {players = 10},
["12:30"] = {players = 10},
["13:00"] = {players = 10},
["13:30"] = {players = 10},
["14:00"] = {players = 10},
["14:30"] = {players = 10},
["15:00"] = {players = 10},
["15:30"] = {players = 10},
["16:00"] = {players = 10},
["16:30"] = {players = 10},
["17:00"] = {players = 10},
["17:30"] = {players = 10},
["18:00"] = {players = 10},
["18:30"] = {players = 10},
["19:00"] = {players = 10},
["19:30"] = {players = 10},
["20:00"] = {players = 10},
["20:30"] = {players = 10},
["21:00"] = {players = 10},
["21:30"] = {players = 10},
["22:00"] = {players = 10},
["23:00"] = {players = 10},
["23:30"] = {players = 10}
},
}
if _Lib_Battle_Days[os.date("%A")] then
hours = tostring(os.date("%X")):sub(1, 5)
tb = _Lib_Battle_Days[os.date("%A")][hours]
if tb and (tb.players % 2 == 0) then
local tp = doCreateItem(1387, 1, _Lib_Battle_Info.tpPos)
doItemSetAttribute(tp, "aid", 45000)
CheckEvent(_Lib_Battle_Info.limit_Time)
doBroadcastMessage('[PVPWAR] Evento aberto! Esperando 10 players (5 VS 5) [Nesse evento voce ganha PVP Points que sao usados para comprar os melhores SETs e ARMAS]', MESSAGE_STATUS_CONSOLE_RED)
return setGlobalStorageValue(_Lib_Battle_Info.storage_count, tb.players)
end
end
return true
end

 

Editado por Toulouse
falta de info (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 weeks later...
  • 2 weeks later...

No meu está dando esses dois erros pode me ajudar ?
Uso Tfs 1.0, ja tentei mudar algumas coisas no xml, mais nao obtive êxito.

 

Agradeço desde já!
 

Spoiler

Error: [MoveEvent::configureEvent] No valid event name script
[Warning - BaseEvents::loadFromXml] Failed to configure event

Error: [MoveEvent::configureEvent] Invalid typo for creature event: BattleTeam
[Warning - BaseEvents::loadFromXml] Failed to configure event

 

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
Em 29/8/2012 6:17:07, Vodkart disse:

sim, isso mesmo.

 

Mas no caso você tem que colocar no mapper editor as paredes pq qndo o evento abrir elas serão removidas, e quando o evento acabar elas voltam a ser criadas!

 

 

 

infelizmente não sou mapper e não tenho como disponibilizar esse mapa para vc

meu wall no son removidas :( meu posso aiudar ae mais eu tenho id na wall correito

5 horas atrás, Lovecraft disse:

meu wall no son removidas :( meu posso aiudar ae mais eu tenho id na wall correito aiuda plx

 

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

Boa Tarde,  #VODKART

Bom estalei aqui funcionou perfeitamente, sem nenhum erro!

Porem teria como colocar pra todos jogadores do evento ganhar 1.000.000.00 de xp

e o evento dura media de 10 minutos?

e todos jogadores do time x ganhar 1 premio = Supresas bag

 

Nao queria so somente 1 pessoa ganha!

Editado por mateusmoretti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 month later...

estou com um problema, as paredes nao estao saindo, se tivesse como me ajudar ficarei grato, obs: alterei as possicoes para meu mapa

Link para o post
Compartilhar em outros sites
  • 2 months later...
  • 4 weeks later...
  • 1 month later...

Tem algum problema ao abrir no Linux ? Versão 0.3.6

Coloco o dia da semana certinho e hora mas não abre mesmo em 6000 ou 60, desde já agradeço.

 

 

Sry, erro meu, funcionando.

 

 

Somente as paredes não são removidas, coloquei as fence normal, está correto o ID no map editor, as coordenadas também, mas as mesmas não são removidas quando incia "BattleField will begin now!"

 

Tem que colocar algum Action no Map editor, no caso das paredes?

Editado por markim1986 (veja o histórico de edições)
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 luanluciano93
      Olá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos.
       
      É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script:
      -- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end  
       
      As funções são:
      • player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database).
      • player:isVip() - Retorna se o player é vip ou não.
      • player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days").
      • player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days").
      • player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days").
      • player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player.
      • player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player.
      • player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo.
       

      Qualquer dúvida ou erro/bug poste aqui.
    • Por Killua
      Como funciona?
      A cada monstro que vc mata, seus itens equipados ganham 1 de exp. Quando seus itens chegarem às quantidades de exp definidas, eles upam e ficam com o nome assim: Demon Helmet + 1. Helmets, armors, legs, e boots recebem 1 de arm a cada vez que upam. Armas recebem 1 de ataque e escudos 1 de defesa.
       
      Para o monstro contar, ele deve dar um mínimo de exp (definido no script). O número de exp a que me refiro é aquele um presente no arquivo .xml.
       
      Para instalar, crie Killua Items Upgrade.lua em data/creaturescripts/scripts e coloque:
        Em data/creaturescripts/creaturescripts.xml coloque essas duas tags:
      <event type="kill" name="Item level" event="script" value="Killua Items Upgrade.lua"/> <event type="login" name="Item levell" event="script" value="Killua Items Upgrade.lua"/> Configurando: Na tabela table_of_slots, coloque em quais slots os itens upam.
      min_exp é a experiência mínima que o monstro deve ter para contar exp para o item. Se vc colocar 500, somente os monstros que tem exp igual ou superior a 500 no arquivo.xml vão valer.
      exp_levels são os valores de exp que os itens devem atingir para upar. No meu caso, quando o item alcançar 50 de exp, ele upa para o level 1. Quando alcançar 50 de exp, upa para o level 2 e assim por diante.
    • Por Sekk
      Bom, procurei esse Castle por MUITO TEMPO, mas não achei em NENHUM LUGAR DA INTERNET. Ontem, eu estava vendo alguns mapas do @Deathrocks, e vi nos prints, que o mapa possuia o evento que eu queria!
       
      Então baixei o mapa e extrai o evento, então venho lhes trazer!
       
       
      Nome: Castle 24H
      Cliente: 8.6
      Versão TFS: 0.4
      Tipo: Evento
       
      Bom, para começar, vamos em actions/scripts e crie 2 arquivos:
       
      castledoor1.lua
       
      castlewar1.lua
       
        Agora em actions.xml adicione as tags:
       
      Agora em monster/traps crie 3 arquivos:
       
      porta.xml
       
      protectcastle.xml  
      statue.xml  
      Agora em monsters.xml adicione as tags:    
      Vamos para movements/scripts e crie 2 arquivos:
       
      castlewar2.lua
       
      level.lua  
      Agora em movements.xml adicione as tags:  
       
      Pronto. Agora você só precisa baixar o mapa, inserir o mesmo ao seu servidor, configurar os teleports, e as hunts dentro do castle etc.
       
      PRINTS:
      1ª parte
       
      2ª parte:
       
      Obs.: Todos os ActionID e monsters já estão no mapa! Você só precisa configurar as coordenadas dos teleports, e o que possui no castle!
       
      Obs².: Tudo o que você pode configurar, já está escrito em cada script!
       
       
      Créditos:
      @DeathRocks
      PC98
      mapa.rar
    • Por gpedro
      Testado: MySQL & SQLite
      Distro: TFS 0.4_SVN & TFS 0.3.6

      MySQL

      ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, " procure por player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level")); logo abaixo adicione: player->resets = (uint32_t)result->getDataInt("resets"); procure por query << "`maglevel` = " << player->magLevel << ", "; logo abaixo adicione: query << "`resets` = " << player->resets << ", "; players.cpp procure por: s << " (Level " << level << ")"; substitua por: s << " (Level " << level << ") [Reset " << resets << "]"; players.h procure por: void setPromotionLevel(uint32_t pLevel); logo abaixo adicione: uint32_t getResets() { return resets;} void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } luascript.cpp para 0.3.6 static int32_t luaDoPlayerSetIdleTime(lua_State* L); logo abaixo adicione: static int32_t luaGetResets(lua_State* L); static int32_t luaSetResets(lua_State* L); talkactions.xml <talkaction words="!rank;/rank" event="script" value="ranks.lua"/> <talkaction words="!reset;/reset" script="reset.lua"/> ranks.lua
      Créditos: Dark Skyllen, Marcryzius, Mock, Kydrai, Cykotitan, gpedro*.
      * adaptação para 0.4
    • Por VitorSubhi
      Apresentação: Olá galera do Tibia King, este é meu primeiro tutorial que desenvolvo após anos apenas sugando da comunidade, chegou a hora de compartilhar um pouco de conhecimento, rsrs...
      Após ver que muitos usuários tinham interesse em um sistema de Trade de Points in-game resolvi trazer um sistema totalmente completo para vocês.
       
      Funcionamento:
      Player 1 após adquirir os Points, pode iniciar uma negociação com o Player 2 através do comando /tradepoints Player 2, Quantidade. Será aberto uma Janela de Trade com o item referente aos Points. Após ambos aceitarem a negociação será realizado a troca de Points pelo item requisitado.
      Observações:
      Necessário ter acesso às Sources de sua Distro. Testado em servidor 8.6 (The Forgotten Server 0.4). Antes que venham falar que possui sistemas parecidos, veja o diferencial (Item não aparece em nenhum inventário, e não é necessário usar/comprar qualquer item).  
      Algumas Imagens:
       
      Instalação:
      Sources > Luascript.cpp Sources > Luascript.cpp Sources > Luascript.h  
       
      Server > Data > Lib > 050-function Server > Data > Creaturescripts > Scripts >Trade_Orbs.lua Server > Data > Creaturescripts > Creaturescripts.xml Server > Data > Creaturescripts > Scripts > Login.lua Server > Data > Talkactions > Scripts > Points_Trade.lua Server > Data > Talkactions > Talkactions.xml Créditos:
      Todo o sistema foi feito completamente por mim: Vítor Subhi.
      The Forgotten Server (Pelas Sources)
      Vodkart, White Wolf, Natanael Beckman, e a todos os demais membros do TK que não lembro o nome, que contribuíram indiretamente através de seus tutoriais.
       
       
       
       
       



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo