5 horas atrás, AdilsonHacker disse:
Clica na alavanca que já é outro script.
Esse aqui:
-----------------------------------
---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS
-----------------------------------
function onUse(cid, item, frompos, item2, topos)
------------------ Inicio das Config ------------
local castle_one_name = "castelo" -- 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 = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa.
local premio_vezes = 1 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
local premio = 5956 -- ID do Premio
local premio_cont = 1 -- Quantidade do Premio
local premio_reset = 1 -- 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 hora = tonumber(os.date("%H"))
if hora < 04 or hora > 05 then
doPlayerSendTextMessage(cid,18,"A Guild House só pode ser invadida entre as 22 e 23 horas.")
return true
end
local sto_ativ = getGlobalStorageValue(storages[2])
position = getCreaturePosition(cid)
if item.itemid == 9826 then
doTransformItem(item.uid,item.itemid-1)
doPlayerSendCancel(cid,"A Guild House ja foi invadida hoje.")
return false
end
if item.itemid == 9825 then
for posx = 1254,1256 do -- checar posição X, começo e final da sala
for posy = 690,690 do -- checar posicao Y, começo e final da sala
local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
local creature = getThingfromPos(pos) -- pega informações da creature da posição
if isMonster(creature.uid) then -- verifica se é um monster
doTransformItem(item.uid,item.itemid+1)
doPlayerSendTextMessage(cid,18,"Para dominar a guild house é necessario matar os guardas.")
return false
end
end
end
end
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("A guild "..getPlayerGuildName(cid).." acaba de dominar o Castelo")
if premio_por_vezes == 1 then
if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
doPlayerAddItem(cid, premio,premio_cont)
----------------------------------------------- --
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,"Sua guild já está dominando a guild house.")
doTransformItem(item.uid,item.itemid+1)
end
else
doPlayerSendCancel(cid,"O sistema está desativado")
end
else
doPlayerSendCancel(cid,"É nescessario ter guild para dominar a guild house.")
doTransformItem(item.uid,item.itemid+1)
end
end
------------------------- por pc98
------------------------- por pc98
function isPlayerGuild(cid)
if getPlayerGuildName(cid) ~= "" then
return TRUE
else
return FALSE
end
end
Sem erro na distro, porém nao funcionou parceiro! msm assim obrigado por tentar ajudar!
Substitui o action da sua alavanca que você postou ai em cima por esse :
-----------------------------------
---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS
-----------------------------------
function onUse(cid, item, frompos, item2, topos)
------------------ Inicio das Config ------------
local castle_one_name = "castelo" -- 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 = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa.
local premio_vezes = 1 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
local premio = 5956 -- ID do Premio
local premio_cont = 1 -- Quantidade do Premio
local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO
local expe = 2
-------FIM PREMIOs I N D I V I D U A L ---------
----------------- FIM DAS CONFIG -----------------
local hora = tonumber(os.date("%H"))
if hora < 04 or hora > 05 then
doPlayerSendTextMessage(cid,18,"A Guild House só pode ser invadida entre as 22 e 23 horas.")
return true
end
local sto_ativ = getGlobalStorageValue(storages[2])
position = getCreaturePosition(cid)
if item.itemid == 9826 then
doTransformItem(item.uid,item.itemid-1)
doPlayerSendCancel(cid,"A Guild House ja foi invadida hoje.")
return false
end
if item.itemid == 9825 then
for posx = 1254,1256 do -- checar posição X, começo e final da sala
for posy = 690,690 do -- checar posicao Y, começo e final da sala
local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
local creature = getThingfromPos(pos) -- pega informações da creature da posição
if isMonster(creature.uid) then -- verifica se é um monster
doTransformItem(item.uid,item.itemid+1)
doPlayerSendTextMessage(cid,18,"Para dominar a guild house é necessario matar os guardas.")
return false
end
end
end
end
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("A guild "..getPlayerGuildName(cid).." acaba de dominar o Castelo")
doPlayerSetExperienceRate(cid, expe)
doSendMagicEffect(getThingPos(cid), 12)
for _, player in pairs(getPlayersOnline()) do
if getPlayerStorageValue(player, guild_sto) < 1 then
doPlayerSetExperienceRate(player, 1)
doSendMagicEffect(getPlayerPosition(cid), 2)
break
end
end
if premio_por_vezes == 1 then
if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
doPlayerAddItem(cid, premio,premio_cont)
----------------------------------------------- --
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,"Sua guild já está dominando a guild house.")
doTransformItem(item.uid,item.itemid+1)
end
else
doPlayerSendCancel(cid,"O sistema está desativado")
end
else
doPlayerSendCancel(cid,"É nescessario ter guild para dominar a guild house.")
doTransformItem(item.uid,item.itemid+1)
end
end
------------------------- por pc98
------------------------- por pc98
function isPlayerGuild(cid)
if getPlayerGuildName(cid) ~= "" then
return TRUE
else
return FALSE
end
end
ATENÇÃO :
Domina o castle com um char e veja se ele ganhou double exp, se estiver tudo OK e ele ganhar a exp, você domina o castle com outro char de guild diferente e veja se o novo char ganhou double e se o primeiro dominante perdeu a double