Ir para conteúdo
  • Cadastre-se

(Resolvido)Area que não pega frag como fazer?


Ir para solução Resolvido por lordzetros,

Posts Recomendados

Alguem sabe alguma forma de não pegar pk/frag em uma determinada area?

ex: nao quero utilizar o pvp(tile) do remeres pq quando alguem morre nao perder nada.

quero que nao pegue pk, mas ainda sim perca itens caso morra. alguém sabe ou pode me dar uma luz para pesquisa?


8.60

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

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Link para o post
Compartilhar em outros sites

@lordzetros 

o pk tanto faz :hum:
mas o que eu precisava realmente fosse que não pegasse frag, como se fosse uma zona livre pra morrer e perder os itens e sem ser penalizado por matar alguém sabe?

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Link para o post
Compartilhar em outros sites

Então, cara, acho meio difícil isso funcionar apenas com scripts, desenvolvi um que em uma determinada área, ele tira a condição de batalha e tira a skull do player (skull_none) ao player atacar o outro nesta área (function onAttack), por algum motivo, não funciona sempre, pelo menos no servidor que tenho como teste.
Caso saiba desenvolver e queira alguma ideia é essa mesmo, não consegui desenvolver um que fosse tanto preciso. 

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Link para o post
Compartilhar em outros sites

@lordzetros pois então... meu interesse era só com os frags mesmo, preocupado de pegar red hahahsha
pensei em fazer um globalevent ou algo do tipo para que a cada x segundos ele limpasse os frags de quem ta dentro de uma determinada area... mas pensa no lag que pode dar fazer isso toda hora kkkkk

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Link para o post
Compartilhar em outros sites

@Celulose  pois então... sabemos como tirar pz e skull, mas o mais importante seria como nao pegar frag.. mas mesmo assim perder itens quando morrer :/ se nao me falha a memoria script de war guilds x guilds faz isso... nao conta frag EU ACHO

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

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Link para o post
Compartilhar em outros sites
  • Solução

@pablobion Graças a você refrescar minha memória, consegui terminar o script que tinha feito e não estava 100%...
Nesse que fiz você configura os tipos de skulls que você quer que não conte a frag do player, caso queira que um player de black skull conte frag para ele, basta apenas remover da tabela, fiz isso porque você disse que era para evitar o player pegar black ou red, certo? Então se o player já estiver com a skull, não vejo problema contar como frag, mas tá tudo configurado aê. 

 

data/creaturescripts/scripts/ crie e adicione no arquivo semPK.lua

local config = {
supEsquerdo = {x = 1020, y = 1036, z = 7},
infDireito = {x = 1025, y = 1041, z = 7},
skulls = {SKULL_YELLOW, SKULL_GREEN, SKULL_BLACK, SKULL_WHITE, SKULL_RED}
}

function remove_frag_players(dl)
	for _, pid in pairs(dl) do
		if (isInArray(config.skulls, getCreatureSkullType(pid))) then
			doRemoveCondition(pid, CONDITION_INFIGHT)
			doCreatureSay(pid, "Esta frag nao foi registrada", TALKTYPE_ORANGE_1)
		end
	end
	return true
end

function calcula_posicoes(sup,inf)
  pos_t = {}
  for l = sup.y, inf.y do
    for j = sup.x, inf.x do
      table.insert(pos_t, {x = j, y = l, z = sup.z})
    end
  end
  return pos_t
end

function onPrepareDeath(cid, deathlist)
	if (not isPlayer(deathlist[1]) and not isPlayer(cid)) then return true end
	local area = calcula_posicoes(config.supEsquerdo, config.infDireito)
	if (isInArray(area, getCreaturePosition(cid)) and isInArray(area, getCreaturePosition(deathlist[1]))) then 
		remove_frag_players(deathlist)
	end
	return true
end

 

Em data/creaturescripts/creaturescripts.xml adicione este código abaixo de outra semelhante: 

<event type="preparedeath" name="semPk" event="script" value="semPK.lua"/>

 

E para finalizar, no data/creaturescripts/scripts/login.lua  abaixo de um semelhante também, adicione:

registerCreatureEvent(cid, "semPk")

 

Cara, aqui no servidor que fiz o teste, não contou como frag e parece está tudo 100%, caso dê bronca aê, a gente quebra a cabeça para resolver, :].

Aguardo o resultado.

 




 

Editado por lordzetros
Edit 1: Lembrei que o player pode ser morto por outros, então todos que atacaram ele na zona, não contará como frag. (veja o histórico de edições)

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Link para o post
Compartilhar em outros sites

@lordzetros Muito obrigado, vou testar logo mais vai ser util ^^

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

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Link para o post
Compartilhar em outros sites

@pablobion Por nada, estou no aguardo. Fiz uma alteração no código, o semPK.lua, depois do teste substitui, e testa novamente, por gentileza. 

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo