Ir para conteúdo
  • Cadastre-se

[Resolvido] Castle War - AJUDEM


Posts Recomendados

Galera, tô com um sistema de castelo que tá funcionando sem problema.. Funciona da seguinte maneira: o player puxa uma alavanca e conquista o castelo, quando conquistado, o player pode entrar no castelo por uma porta.. Ele e a guild dele podem entrar no castelo através dessa porta.. O único errinho é que tipo, toda vida que o servidor cai, o player tem que conquistar o castelo novamente para poder entrar na porta.. O que eu quero é: que o sistema ficasse salvado.. toda vida que o servidor cai, a storage é resetada "eu acho".. Alguém pode ajudar? VALENDO REP+!

Script da alavanca:


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

---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS

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



function onUse(cid, item, frompos, item2, topos)


------------------ Inicio das Config ------------


local castle_one_name = "Rhyves" -- Nome do castelo 1

local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está...)




-------PREMIOs I N D I V I D U A L ---------


local premio_por_vezes = 0 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa.

local premio_vezes = 0 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.

local premio = 0 -- ID do Premio

local premio_cont = 0 -- Quantidade do Premio

local premio_reset = 0 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO


-------FIM PREMIOs I N D I V I D U A L ---------





----------------- FIM DAS CONFIG -----------------


local sto_ativ = getGlobalStorageValue(storages[2])

position = getCreaturePosition(cid)



if isPlayerGuild(cid) == TRUE then

if sto_ativ == 1 or sto_ativ == -1 then


guildname = getPlayerGuildName(cid)

guild = getPlayerGuildId(cid)

guild_sto = getGlobalStorageValue(storages[3])


if guild ~= guild_sto then

setPlayerStorageValue(cid,guild_sto,guild)

if getPlayerStorageValue(cid,storages[1]) == -1 then

setPlayerStorageValue(cid,storages[1],0)

end


sto_vezes = getPlayerStorageValue(cid,storages[1])


setGlobalStorageValue(storages[3],getPlayerGuildId(cid))

setPlayerStorageValue(cid,storages[1], sto_vezes + 1)


sto_vezes_total = getPlayerStorageValue(cid,storages[1])


doBroadcastMessage("O player \""..getCreatureName(cid).."\" conquistou o castelo de "..castle_one_name.." para a guild \""..guildname.."\".", 18)

doSendMagicEffect(position, 39)


if premio_por_vezes == 1 then

if getPlayerStorageValue(cid,storages[1]) == premio_vezes then

if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then

doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21)

doPlayerAddItem(cid, premio,premio_cont)

doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!")

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

if premio_reset == 1 then --

setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem

end --

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


else

doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")

addEvent(additem,10000,cid,premio,premio_cont,premio_reset)

end

end

end

else

doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!")

doSendMagicEffect(position, 2)

end

else

doPlayerSendCancel(cid,"O sistema está desativado")

end

else

doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!")

doSendMagicEffect(position, 2)

end

end


------------------------- por pc98


function additem(cid,premio,premio_cont,premio_reset)


if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then

doPlayerAddItem(cid, premio,premio_cont)

doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!")

if premio_reset == 1 then

setPlayerStorageValue(cid,storages[1],0)

end

stopEvent(additem)

else

doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!")

addEvent(additem,10000,cid)

end

end


------------------------- por pc98

function isPlayerGuild(cid)

if getPlayerGuildName(cid) ~= "" then

return TRUE

else

return FALSE

end

end
Script da porta:

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

-----BY PC98-------

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


function onUse(cid, item, frompos, item2, topos)


-------------------------Config-----------------------------------------------------------------


door_opened = 6266 -- ID da porta aberta

storage_guild = getGlobalStorageValue(123123) -- A 3ª storage configurada em Castle.lua


guarda_ativ = 0 -- Caso um invasor tente abrir a porta, sumonar o Monstro Guarda (1) = SIM (0) = NAO

guarda_cont = 0 -- Caso ativo a quantidade de guardas a sumonar

guarda_pos = {x=123,y=123,y=7} -- Posiçao a ser sumonada os guardas!


-------------------------Fim de Config-----------------------------------------------------------



if getPlayerGuildId(cid) == storage_guild then

doTeleportThing(cid,getThingPos(item.uid))

doTransformItem(item.uid, door_opened)

doPlayerSendTextMessage(cid, 22, "Seja vindo a vosso castelo!")

return TRUE

else

if guarda_ativ == 1 then

doPlayerSendTextMessage(cid, 22, "Guaaaardas, tirem esses invasores daqui!!")

for i=1, guarda_cont do

doSummonCreature(Guarda, guarda_pos)

end

return FALSE

else

doPlayerSendTextMessage(cid, 22, "Este castelo nao pertence a sua guild.")

return TRUE

end

end

end

EDIT: Alguém pode ajudar? :\

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

estou com o mesmo sistema que voce amigo , e tenho 2 perguntas =/

1 - como eu ponho pra funcionar os Guardas ?? eles estao la no castle mais quando algum introso que nao e da guilda entra eles começam a se atacar entre si e da esse problema

[Error - CreatureScript Interface]

[22/12/2012 17:53:22] In a timer event called from:

[22/12/2012 17:53:22] data/creaturescripts/scripts/guard.lua:onCombat

[22/12/2012 17:53:22] Description:

[22/12/2012 17:53:22] [string "config = {..."]:56: attempt to concatenate a boolean value

[22/12/2012 17:53:22] stack traceback:

[22/12/2012 17:53:22] [string "config = {..."]:56: in function <[string "config = {..."]:54>

2 - nao consigo usar o comando /war ( pra ativar e desativa )

eu falo com o GOD , mais ele diz a palavras ( como se nao existisse o comando /war )

pode ajudar ??

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo