Ir para conteúdo
  • Cadastre-se

Derivado Poder anda no PROTECTION zone com Pk / Batle vermelho


Posts Recomendados

14 minutos atrás, helix758 disse:

No caso esses script ficaria na pasta MODS e não em suas pasta Globalevents e movements?

 

Não, tem que ficar em suas devidas pastas mesmo, Globalevents e Movements. No caso deste script do erro, Globalevents.

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
  • Respostas 40
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Não tem necessidade de fazer isso, pode ser feito um simples script para remover o pz caso o player esteja em protect zone, acredito que isso deva resolver seu problema. Posso fazer o script pra você,

Não sei ao certo se funciona, tente mudar esta parte no config.lua "allowFightback" pra "false", veja se resolve alguma coisa...

--[[ Capture The Flag System Author: Maxwell Denisson(MaXwEllDeN) Version: 2.0 Contact: [email protected] ]] local CTF = CTF_LIB function onStatsChange(cid, attacker, type, combat,

Posted Images

Cometi 1 erro bobo, tenta agora.

--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) then
			doPlayerSetPzLocked(pid, false)
		end
	end
	return true
end
Editado por Way20 (veja o histórico de edições)

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
3 minutos atrás, Way20 disse:

Cometi 1 erro bobo, tenta agora.


--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) then
			doPlayerSetPzLocked(cid, false)
		end
	end
	return true
end

 

Samos humanos estamos sujeito a cometer erros Rsrsrs, esse erro foi corrigido. Agora apareceu outro (Segue print) 59461c9bc8ef1_Semttulo.thumb.png.b6b394f91c3a38f70de55d0a3b5c9736.png

 

Qualquer player que entre na protection zone (Batle vermelho ou não) ele fica enviando essa msg

[18/6/2017 3:25:15] [Error - GlobalEvent Interface] 
[18/6/2017 3:25:16] data/globalevents/scripts/rmvpz.lua:onThink
[18/6/2017 3:25:16] Description: 
[18/6/2017 3:25:16] (luaDoPlayerSetPzLocked) Player not found

Link para o post
Compartilhar em outros sites
Agora, helix758 disse:

Samos humanos estamos sujeito a cometer erros Rsrsrs, esse erro foi corrigido. Agora apareceu outro (Segue print) 59461c9bc8ef1_Semttulo.thumb.png.b6b394f91c3a38f70de55d0a3b5c9736.png

 

Qualquer player que entre na protection zone (Batle vermelho ou não) ele fica enviando essa msg

Foi outro erro que cometi, editei o post anterior, tenta novamente.

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
3 minutos atrás, Way20 disse:

Foi outro erro que cometi, editei o post anterior, tenta novamente.

Agora foi! , mas uma perguntinha isso irá consumir muito "Cpu" causando Muito lag? 

Link para o post
Compartilhar em outros sites
Agora, helix758 disse:

Agora foi! , mas uma perguntinha isso irá consumir muito "Cpu" causando Muito lag? 

Acredito que não, mas por precaução deixa o tempo de execução do script alto, entre 10~15 segundos. Se preferir também posso fazer ele tirar o pz somente de quem está no evento, da maneira como está ele está removendo de todos os players online. (quem estiver pz em proctect zone ele remove).

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
10 minutos atrás, Way20 disse:

Acredito que não, mas por precaução deixa o tempo de execução do script alto, entre 10~15 segundos. Se preferir também posso fazer ele tirar o pz somente de quem está no evento, da maneira como está ele está removendo de todos os players online. (quem estiver pz em proctect zone ele remove).

Hé pode ser, Seria legal e também poderia por pra remover o Pk ? 

e uma outra duvida o Cpu so conta se o player estiver no protection zone, OU... Somente aqueles que estã com a batle vermelha e estão perdendo Pz ?? 

 

Conta todos no protection zone, Ou todos batle vermelha perdendo dentro do protection ? 

se poder fazer pra remover somente no evento seria legal

Editado por helix758 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
15 minutos atrás, helix758 disse:

Hé pode ser, Seria legal e também poderia por pra remover o Pk ? 

e uma outra duvida o Cpu so conta se o player estiver no protection zone, OU... Somente aqueles que estã com a batle vermelha e estão perdendo Pz ?? 

 

Conta todos no protection zone, Ou todos batle vermelha perdendo dentro do protection ? 

Ele faz 1 verificação em todos players online que estão em protect zone, verifica se está com pz, se tiver remove, se não tiver, nada é feito.

--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) and getPlayerStorageValue(cid, 16700) ~= -1 then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end
--[[
    Capture The Flag System
    Author: Maxwell Denisson(MaXwEllDeN)
    Version: 2.0
    Contact: maxwellmda@gmail.com
]]

local CTF = CTF_LIB
function onStatsChange(cid, attacker, type, combat, value)
    if getPlayerStorageValue(cid, 16700) ~= -1 and type == 1 and getCreatureHealth(cid) - value <= 0 then
        if getPlayerStorageValue(cid, 16702) ~= -1 then
            CTF.returnFlag(cid, 1)
        end
		if isPlayerPzLocked(cid) then
			doPlayerSetPzLocked(cid, false)
			doCreatureSetSkullType(cid, 0)
		end
        doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
        doCreatureAddMana(cid, getCreatureMaxMana(cid))
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
        return false
    end
    return true
end
function onLogout(cid)
    if getPlayerStorageValue(cid, 16700) ~= -1 then
        CTF.removePlayer(cid)
    end
   return true
end
function onCombat(cid, target)
    if getPlayerStorageValue(cid, 16700) ~= -1 then
        if getPlayerStorageValue(cid, 16700) == getPlayerStorageValue(target, 16700) then
            return false
        end
    end
    return true
end
function onAttack(cid, target)
    if getPlayerStorageValue(cid, 16700) ~= -1 then
        if getPlayerStorageValue(cid, 16700) == getPlayerStorageValue(target, 16700) then
            return false
        end
    end
    return true
end

 

Editado por Way20 (veja o histórico de edições)

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
3 minutos atrás, Way20 disse:

Ele faz 1 verificação em todos players online que estão em protect zone, verifica se está com pz, se tiver remove, se não tiver, nada é feito.


--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end

--[[
    Capture The Flag System
    Author: Maxwell Denisson(MaXwEllDeN)
    Version: 2.0
    Contact: maxwellmda@gmail.com
]]

local CTF = CTF_LIB
function onStatsChange(cid, attacker, type, combat, value)
    if getPlayerStorageValue(cid, 16700) ~= -1 and type == 1 and getCreatureHealth(cid) - value <= 0 then
        if getPlayerStorageValue(cid, 16702) ~= -1 then
            CTF.returnFlag(cid, 1)
        end
		if isPlayerPzLocked(cid) then
			doPlayerSetPzLocked(cid, false)
			doCreatureSetSkullType(cid, 0)
		end
        doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
        doCreatureAddMana(cid, getCreatureMaxMana(cid))
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
        return false
    end
    return true
end
function onLogout(cid)
    if getPlayerStorageValue(cid, 16700) ~= -1 then
        CTF.removePlayer(cid)
    end
   return true
end
function onCombat(cid, target)
    if getPlayerStorageValue(cid, 16700) ~= -1 then
        if getPlayerStorageValue(cid, 16700) == getPlayerStorageValue(target, 16700) then
            return false
        end
    end
    return true
end
function onAttack(cid, target)
    if getPlayerStorageValue(cid, 16700) ~= -1 then
        if getPlayerStorageValue(cid, 16700) == getPlayerStorageValue(target, 16700) then
            return false
        end
    end
    return true
end

 

So irá funcionar dentro do evento ?

Link para o post
Compartilhar em outros sites
Agora, helix758 disse:

So irá funcionar dentro do evento ?

Fiz a alteração, agora sim, só vai remover pz de players que estão dentro do evento.

--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) and getPlayerStorageValue(cid, 16700) ~= -1 then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end

 

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
3 minutos atrás, Way20 disse:

Fiz a alteração, agora sim, só vai remover pz de players que estão dentro do evento.


--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) and getPlayerStorageValue(cid, 16700) ~= -1 then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end

 

Assim economiza CPu :D 

4 minutos atrás, Way20 disse:

Fiz a alteração, agora sim, só vai remover pz de players que estão dentro do evento.


--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) and getPlayerStorageValue(cid, 16700) ~= -1 then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end

 

ele tá normando perdendo pz Dentro ou fora do evento :p 

Link para o post
Compartilhar em outros sites
2 minutos atrás, helix758 disse:

Assim economiza CPu :D 

ele tá normando perdendo pz Dentro ou fora do evento :p 

Confirma pra mim se a storage do seu evento é mesmo 16700.

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
3 minutos atrás, Way20 disse:

Confirma pra mim se a storage do seu evento é mesmo 16700.

isso!

Link para o post
Compartilhar em outros sites
Agora, helix758 disse:

isso!

Então era pra funcionar, tenta assim.

--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) and getPlayerStorageValue(cid, 16700) > 0 then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end

Se não funcionar, quando termina o evento ele não está atualizando o valor da storage.

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
4 minutos atrás, Way20 disse:

Então era pra funcionar, tenta assim.


--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) and getPlayerStorageValue(cid, 16700) > 0 then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end

Se não funcionar, quando termina o evento ele não está atualizando o valor da storage.

[18/6/2017 4:11:47] [Error - GlobalEvent Interface] 
[18/6/2017 4:11:47] data/globalevents/scripts/rmvpz.lua:onThink
[18/6/2017 4:11:47] Description: 
[18/6/2017 4:11:47] data/globalevents/scripts/rmvpz.lua:4: attempt to compare number with boolean
[18/6/2017 4:11:48] stack traceback:
[18/6/2017 4:11:48]     data/globalevents/scripts/rmvpz.lua:4: in function <data/globalevents/scripts/rmvpz.lua:1>
[18/6/2017 4:11:48] [Error - GlobalEvents::think] Couldn't execute event: rmvpz

Tive uma ideia, Poderia ser da seguinte forma dentro do evento Players não pegarem pz saco? :D

ou dessa forma de perder pz anteriormente, Sendo que dentro ou fora do evento, ele perde da mesma forma 

Link para o post
Compartilhar em outros sites
14 minutos atrás, helix758 disse:

[18/6/2017 4:11:47] [Error - GlobalEvent Interface] 
[18/6/2017 4:11:47] data/globalevents/scripts/rmvpz.lua:onThink
[18/6/2017 4:11:47] Description: 
[18/6/2017 4:11:47] data/globalevents/scripts/rmvpz.lua:4: attempt to compare number with boolean
[18/6/2017 4:11:48] stack traceback:
[18/6/2017 4:11:48]     data/globalevents/scripts/rmvpz.lua:4: in function <data/globalevents/scripts/rmvpz.lua:1>
[18/6/2017 4:11:48] [Error - GlobalEvents::think] Couldn't execute event: rmvpz

Tive uma ideia, Poderia ser da seguinte forma dentro do evento Players não pegarem pz saco? :D

ou dessa forma de perder pz anteriormente, Sendo que dentro ou fora do evento, ele perde da mesma forma 

Foi o que falei de inicio, mas você preferiu o caminho mais curto, agora não vou voltar atrás. Para remover em todos os casos basta usar o script anterior sem a verificação da storage.

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites

@helix758, tente usar esse script:

Data/creaturescripts/scripts/removefight.lua:

function onThink(cid, interval)
     -- if (getTilePzInfo(getCreaturePosition(cid))) and getPlayerStorageValue(cid, 16700) ~= -1 then
     -- caso queira que funcione apenas com jogadores no evento, remova a linha abaixo \/ e tire os hifens(--) da linha acima /\
     if(getTilePzInfo(getCreaturePosition(cid))) then 
        doRemoveCondition(cid, CONDITION_INFIGHT)
     end
end

Data/creaturescripts/scripts/login.lua:

registerCreatureEvent(cid, "RemoveFight")

Data/creaturescripts/creaturescripts.xml:

<event type="think" name="RemoveFight" event="script" value="removefight.lua"/>

 

Link para o post
Compartilhar em outros sites

@Wakon Olá amigo, infelizmente não funcionou, Poderia ser do jeito da script do way que possa perder batle vermelho dentro do pz, Mas somente dentro do evento. 

 

 

 

 

 

 

 

@Way20 Quer isso cara, obrigado pelo seu esforço. :) Caso não tenha nenhuma solução para dentro do evento, Acredito que não venha dá muito lag e da para usar-la :D 

Link para o post
Compartilhar em outros sites
1 hora atrás, helix758 disse:

@Wakon Olá amigo, infelizmente não funcionou, Poderia ser do jeito da script do way que possa perder batle vermelho dentro do pz, Mas somente dentro do evento. 

 

 

 

 

 

 

 

@Way20 Quer isso cara, obrigado pelo seu esforço. :) Caso não tenha nenhuma solução para dentro do evento, Acredito que não venha dá muito lag e da para usar-la :D 

 

Agora que fui perceber, eu cometi 1 erro no script anterior, tenta agora.

--<globalevent name="rmvpz" interval="3000" event="script" value="rmvpz.lua"/>-- XML

function onThink(interval, lastExecution, thinkInterval)
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
		if getTilePzInfo(getThingPos(pid)) and isPlayerPzLocked(pid) and getPlayerStorageValue(pid, 16700) ~= -1 then
			doPlayerSetPzLocked(pid, false)
			doCreatureSetSkullType(pid, 0)
		end
	end
	return true
end

 

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

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.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo