Ir para conteúdo

Aprimoramento castelo war


julhinhuu

Posts Recomendados

Bom dia galera do Xtibia meu amores, paixões da minha vida :D rsrs.

 

Gostaria de saber se tem como colocar está talkaction para globalevents no caso automático uma vez por semana? Também queria que vocês me ajudassem a aprimorar este evento.

 

Segue abaixo:

Explicação de aprimoramento para um evento divertido e mais disputado.

 

- Player ao ficar no trono ficaria uma contagem de pontos ate que os 30 minutos acabassem se outro entrar no lugar começaria a contagem com o mesmo assim no caso aquele que fizer mais pontos venceria;

- O Script mandaria umas mensagens a cada 3 ou 5 minutos avisando quantos pontos o player que esta no tile ou trono está;

 

- Premiação seria 7 dias de Premmy account e mais 1 house, no caso 1 castelo exclusivo até o próximo evento ou um novo ganhador.

 

Obs: Mesmo como talkactions o script não funciona 100%, a escada deveria sumir ao final do evento mais ela continua no mesmo lugar.

 

 

 

local THRONE_POS = {x = 559, y = 453, z = 7}

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()



CastleWalls()

local player = getTopCreature(THRONE_POS).uid



if getGlobalStorageValue(STORAGE_EVENT) < 0 then return true end



if (isPlayer(player)) then

if (getPlayerStorageValue(player, STORAGE_PLAYER) > 0) then

for _, T in pairs(REWARDS) do

doPlayerAddItem(player, T[1], T[2])

end

for _, cid in ipairs(getPlayersOnline()) do

setPlayerStorageValue(cid, STORAGE_PLAYER, 0)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

end

doBroadcastMessage(getCreatureName(player) .. " ganhou o evento.", 25)

doTeleportThing(player, {x = 531, y = 459, z = 7})

doCreateItem(391, 1, {x = 559, y = 453, z = 7})

end

else

doBroadcastMessage("Ningúem ganhou o evento.", 27)

for _, pid in ipairs(getPlayersOnline()) do

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 pedra = getTileItemById({ x = 539, y = 474, z = 7}, 1285)

local escada = getTileItemById({ x = 539, y = 474, z = 7}, 3687)



if pedra.uid > 0 then

return doRemoveItem(pedra.uid)

else

return doCreateItem(1285, 1, { x = 539, y = 474, z = 7})

end



if escada.uid > 0 then

return doRemoveItem(escada.uid)

else

return doCreateItem(3687, 1, {x = 539, y = 474, z = 7})

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

doCreateItem(3687, 1, {x = 539, y = 474, z = 7})

OpenEvent()

CastleWalls()



addEvent(getWinnerCastle, DUR * 60 * 1000)

return true

end

 

 

Up


UP


Up

UP

Editado por julhinhokullitz
Link para o comentário
Compartilhar em outros sites

  • 1 month later...
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...