Ir para conteúdo

Featured Replies

Postado

Então queria algum script que checasse se tal player tivesse a storage ele continuaria no local se não tivesse ele seria teleportado para o templo, poderia ser ao player logar ou então em movements quando ele pisasse em tal tile se ele não tivesse a storage ele iria para o templo.

Pois no Castle quando alguém conquista e tem acesso a ele e outra guild conquista o players que conquistou anteriormente ainda irá continuar dentro a não ser que morra.

IMAGEM DA ÁREA DO CASTLE:

N7NKLUC.jpg

 

Ou se alguém souber editar esse script que vou deixar abaixo, quando o cara clicar na porta e não for da guild que conquistou teleportar ele pro templo ou qualquer posição que eu definir:
SCRIPT:

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


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

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

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

door_opened = 1230 -- 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 = 2 -- Caso ativo: a quantidade de guardas a sumonar
guarda_pos = {x=530,y=127,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 bem 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 FALSE
end
end
end

Editado por tiago.bordin1988 (veja o histórico de edições)

Resolvido por tiago.bordin1988

Ir para solução
  • Respostas 21
  • Visualizações 3.2k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Tenta essa aqui amigo ... 

-- <movevent type="StepIn" actionid="20001" script="tile-castelo.lua" desc="Tile que verifica acesso ao castelo" />

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
	local pos_principal = {x=141, y=150, z=7} -- posição quer será teleportado
		
	if item.actionid == 20001 then -- 20001 = VALOR DA ACTIONID
        if getPlayerStorageValue(cid, 30001) == -1 then -- 30001 = VALOR DA STORAGE QUE TEM QUE TER
			doTeleportThing(cid, pos_principal)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Você não tem acesso ao castelo.') -- MSG QUE O PLAYER RECEBERA AO SER TELEPORTADO PARA FORA!
		end
	else
	    return false
	end
    
	return true
end

Espero ter ajudado.

Postado
  • Autor

Tenta essa aqui amigo ... 

-- <movevent type="StepIn" actionid="20001" script="tile-castelo.lua" desc="Tile que verifica acesso ao castelo" />

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
	local pos_principal = {x=141, y=150, z=7} -- posição quer será teleportado
		
	if item.actionid == 20001 then -- 20001 = VALOR DA ACTIONID
        if getPlayerStorageValue(cid, 30001) == -1 then -- 30001 = VALOR DA STORAGE QUE TEM QUE TER
			doTeleportThing(cid, pos_principal)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Você não tem acesso ao castelo.') -- MSG QUE O PLAYER RECEBERA AO SER TELEPORTADO PARA FORA!
		end
	else
	    return false
	end
    
	return true
end

Espero ter ajudado.

Então eu não sei qual storage eu tenho que colocar vou postar o script que uso.

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

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

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

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

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

local castle_one_name = "Ratim Bum" -- 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 = 13 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.

local premio = 2472 -- 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 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(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22)

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

Outro:

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

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

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

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

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

door_opened = 1230 -- 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 = 2 -- Caso ativo: a quantidade de guardas a sumonar

guarda_pos = {x=530,y=127,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 bem 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 FALSE

end

end

end

Postado
  • Autor

cara eu tenho esse msm script a storage usada é a 123123

então coloquei desse jeito em em movements.xml add a tag:

 

<movevent type="StepIn" actionid="20001" event="script" value="tile-castelo.lua"/>

 

e na pasta Script no arquivo tile-castelo.lua coloquei a storage 123123 e add no map editor actionid 20001 no tile, mais quando pisa no tile não acontece nada e não aparece erro no distro.

Max, você poderia me passar o seu que você usa o script e a tag, pra min testar aqui?

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo