bacana bem legal você poderia fazer alguns ajustes ? passar isso pra pasta mods e que esse evento ocorra todos os domingos as 20:00 terminando as 21:00 e que o ganhador invez de ganhar dinheiro ganha-se 7 dias de premy account e + 1 house. ? quando puxa-se o ganhador ele seria teleportado pra house que ele vai ganhar e lá no piso especial assim que o ganhador fosse puxado fosse criado uma pedra no tile pra nenhum player dizer que foi ele que ganhou.
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

Editado Maio 21 por KennyxD
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

testei e deu esse erro aki
[26/05/2013 20:34:24] [Error - TalkAction Interface] [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:onSay [26/05/2013 20:34:24] Description: [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:15: attempt to call global 'doBroadcastMesssage' (a nil value) [26/05/2013 20:34:24] stack traceback: [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:15: in function 'OpenEvent' [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:76: in function <data/talkactions/scripts/castle.lua:67>
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

testei e deu esse erro aki
[26/05/2013 20:34:24] [Error - TalkAction Interface] [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:onSay [26/05/2013 20:34:24] Description: [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:15: attempt to call global 'doBroadcastMesssage' (a nil value) [26/05/2013 20:34:24] stack traceback: [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:15: in function 'OpenEvent' [26/05/2013 20:34:24] data/talkactions/scripts/castle.lua:76: in function <data/talkactions/scripts/castle.lua:67>
Arrumado , obrigado por reportar.
poem para ficar uns 5 seg emcima do trono, as vez pode matar ou empurrar
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

não entendi essa parte me ajuda ? a configurar ?
local walls = {
{ID, POS},
{ID, POS},
}
a e se possivel quero que na hora que for começar remove a pedra de ID:1285 e cria a escada de ID 3687 na Position: [X: 539] [Y: 474] [Z: 7]. e quando termina o evento a escada e removida e é colocada a pedra novamente
se puder fazer outros ajustes tbm ajudaria muito coloca pra min pra
invez de teleportar o ganhador pro templo teleporta ele pra Position: [X: 531] [Y: 459] [Z: 7]. e no piso especial ser criado o item ID:391 assim que o ganhador for puxado piso especial fica na Position: [X: 559] [Y: 453] [Z: 7].
Editado Maio 27 por KennyxD
info
Grupo: Campones
Registrado: 08/07/08
Posts: 42
Reputação: +2
Char no Tibia: Mcfield

Só 1 player ganha né?! tem como por para a guild do player ganhar o mesmo item que ele?
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

local THRONE_POS = {x = 1, y = 2, z = 3}
local STORAGE_EVENT = 83902
local STORAGE_PLAYER = 73289
local REWARDS = {{2160, 10}, {2159, 30}}
local DUR = 30 -- in minutes
function OpenEvent()
for _, tid in ipairs(getPlayersOnline()) do
setPlayerStorageValue(tid, STORAGE_PLAYER, 1)
end
setGlobalStorageValue(STORAGE_EVENT, 1)
doBroadcastMessage("O Evento castle foi aberto.", 25)
end
function getWinnerCastle()
local player = getTopCreature(THRONE_POS).uid
local gid = {}
if getGlobalStorageValue(STORAGE_EVENT) < 0 then return true end
if (isPlayer(player)) then
if (getPlayerStorageValue(player, STORAGE_PLAYER) > 0) then
for _, guild in ipairs(getPlayersOnline()) do
if getPlayerGuildId(guild) == getPlayerGuildId(player) then
table.insert(gid, guild)
end
end
for _, T in pairs(REWARDS) do
doPlayerAddItem(player, T[1], T[2])
for _, players in ipairs(gid) do
doPlayerAddItem(players, T[1], T[2])
end
end
for _, cid in ipairs(getPlayersOnline()) do
setPlayerStorageValue(cid, STORAGE_PLAYER, 0)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
end
doBroadcastMessage(getCreatureName(player) .. " ganhou o evento ele e da guild " .. getPlayerGuildName(player), 25)
end
else
doBroadcastMessage("Ningúem ganhou o evento.", 27)
for _, pid in ipairs(getPlayersOnline()) do
doPlayerAddItem(pid, 2160, 100)
setPlayerStorageValue(pid, STORAGE_PLAYER, 0)
doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)))
end
end
setGlobalStorageValue(STORAGE_EVENT, 0)
return db.executeQuery("DELETE FROM `player_storage` WHERE `key` = " .. STORAGE_PLAYER)
end
function CastleWalls()
local walls = {
{ID, POS},
{ID, POS},
}
for _, K in pairs(walls) do
local wall = getTileItemById(K[2], K[1])
if (wall.uid > 0) then
doRemoveItem(wall.uid)
else
doCreateItem(K[1], 1, K[2])
end
end
end
function onSay(cid, words, param, channel)
if ((param == "abrir") and (getGlobalStorageValue(STORAGE_EVENT) == 1)) then
doPlayerSendTextMessage(cid, 27, "O evento já esta aberto.") return true
elseif ((param == "fechar") and (getGlobalStorageValue(STORAGE_EVENT) == 1)) then
getWinnerCastle()
CastleWalls() return true
end
OpenEvent()
CastleWalls()
addEvent(getWinnerCastle(), DUR * 60 * 1000)
return true
end
info
Grupo: Campones
Registrado: 14/06/13
Posts: 1
Reputação: 0
Char no Tibia: [ADM] RedTube

Bastante Interessante Seu Tutorial, Parabéns!. So tente Ser Mais Explicativo.
Editado Junho 23 por ADMRedTube




info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit
Bom, ele se baseia em um sistema que o player que conseguir ficar encima do trono, ganha.
yUJx4Sdn[/pastebin]
Configuração:
local THRONE_POS = {x = 1, y = 2, z = 3} aqui é a posição do trono.
local walls = {
{ID, POS},
{ID, POS},
}
Aqui é aonde tranca o evento, ele só abre você deve colocar um teleport ali dentro.
local DUR = 30 -- aqui e quantos minutos o evento vai durar, você pode cancelar usando !castle fechar.
Você cria uma área com um trono/tile e configura a THRONE_POS para aquela posição, você pode cancelar o evento também. !castle fechar.
Não foi testado, então qualquer bug favor reportar.
TAG:
Para abrir use !castle abrir.
Editado Junho 6 por Skymagnum