Ir para conteúdo

Jail Sistem


markindoot

Posts Recomendados

boa noite galera,

 

eu queria pedir ajuda de voces com um script,

 

um sistema de prisao, para o player que matar o outro player da mesma vocaçao, que no caso sao Justiceiro e Renegado,

se um renegado matar outro renegado ele vai preso, se um justiceiro matar outro justiceiro ele ira preso tambem, e quando fosse preso anuncia-se, o jogador EDUARDO foi preso por matar um jogador da mesma gangue.

 

esperando a resposta de voces, obrigado.


up

Editado por MarceloV
Link para o comentário
Compartilhar em outros sites

Tente assim:


Vá em data/creaturescripts/creaturescripts.xml e adicione a seguinte TAG:

<event type="kill" name="PrisonKill" script="prisonkill.lua"/>

Agora em data/creaturescripts/scripts crie o arquivo prisonkill.lua com o seguinte conteúdo:

local jailpos = { -- Posições das cadeias
    [1] = {x = 59, y = 52, z =6},
    [2] = {x = 59, y = 52, z =5},
    [3] = {x = 55, y = 47, z =6},
    [4] = {x = 55, y = 47, z =5},
    [5] = {x = 55, y = 52, z =6},
    [6] = {x = 55, y = 52, z =5},
    [7] = {x = 59, y = 47, z =5},
    [8] = {x = 63, y = 52, z =5}
}

function onKill(cid, target, lastHit)
	if isPlayer(target) and getPlayerVocation(cid) == getPlayerVocation(target) then
		doTeleportThing(cid, jailpos[math.random(#jailpos)])
		doBroadcastMessage("O jogador " .. getPlayerNameById(cid) .. " foi preso por matar um jogador da mesma gangue.")
		return true
	end
	return true
end

E em data/creaturescripts/scripts/login.lua antes do return true, adicione o seguinte conteúdo:

registerCreatureEvent(cid, "PrisonKill")
Link para o comentário
Compartilhar em outros sites

mano nao deu erro no script, mais tambem quando mata o jogador da mesma vocation, nao eh preso, nem nada, n acontece nada..


nao precisa ser um script muito complexo, tipo se um renegado matar um renegado eu quero que ele va para cadeia, pq o piso da cadeia nao eh pz, ele soh vai ser preso e pode ser morto la, o piso da porta da cadeia eh pz, entao ele soh vai sair da cadeia quando o pk sair, ai eu queria soh que anunciasse que ele foi preso por matar um jogador da mesma gangue e que mova ele pra cordenada, eh 1 posiçao soh,

Link para o comentário
Compartilhar em outros sites

Tente assim:

 

Vá em data/creaturescripts/creaturescripts.xml e adicione a seguinte TAG:

<event type="kill" name="PrisonKill" script="prisonkill.lua"/>
local jailpos = { -- Posições das cadeias
    [1] = {x = 59, y = 52, z =6},
    [2] = {x = 59, y = 52, z =5},
    [3] = {x = 55, y = 47, z =6},
    [4] = {x = 55, y = 47, z =5},
    [5] = {x = 55, y = 52, z =6},
    [6] = {x = 55, y = 52, z =5},
    [7] = {x = 59, y = 47, z =5},
    [8] = {x = 63, y = 52, z =5}
}
 
function onKill(cid, target, lastHit)
    if isPlayer(target) and getPlayerVocation(cid) == getPlayerVocation(target) then
        return true
    end
 
    doBroadcastMessage("O jogador " .. getPlayerNameById(cid) .. " foi preso por matar um jogador da mesma gangue.")
    return true
end

E em data/creaturescripts/scripts/login.lua antes do return true, adicione o seguinte conteúdo:

registerCreatureEvent(cid, "PrisonKill")
Editado por MaXwEllDeN
Link para o comentário
Compartilhar em outros sites

mano nao deu erro no script, mais tambem quando mata o jogador da mesma vocation, nao eh preso, nem nada, n acontece nada..

 

nao precisa ser um script muito complexo, tipo se um renegado matar um renegado eu quero que ele va para cadeia, pq o piso da cadeia nao eh pz, ele soh vai ser preso e pode ser morto la, o piso da porta da cadeia eh pz, entao ele soh vai sair da cadeia quando o pk sair, ai eu queria soh que anunciasse que ele foi preso por matar um jogador da mesma gangue e que mova ele pra cordenada, eh 1 posiçao soh,

Editei o code, testa lá.

Link para o comentário
Compartilhar em outros sites

agr ele move, mais o char quando morre, continua logado con sangue zerado, n consegue se mecher e o char que foi preso fica movendo direto pra posiçao.. e ele tambem ta impedindo os bixos de morrerem, os bixos ficam com a health zerada mais n morrem.

Editado por MarceloV
Link para o comentário
Compartilhar em outros sites


local jailpos = { -- Posições das cadeias

[1] = {x = 59, y = 52, z =6},

[2] = {x = 59, y = 52, z =5},

[3] = {x = 55, y = 47, z =6},

[4] = {x = 55, y = 47, z =5},

[5] = {x = 55, y = 52, z =6},

[6] = {x = 55, y = 52, z =5},

[7] = {x = 59, y = 47, z =5},

[8] = {x = 63, y = 52, z =5}

}

 

function onKill(cid, target, lastHit)

if isPlayer(target) and getPlayerVocation(cid) == getPlayerVocation(target) then

local jail = jailpos[math.random(#jailpos)]

 

doSendMagicEffect(getThingPos(cid), 2)

doTeleportThing(cid, jail)

doSendMagicEffect(jail, 10)

 

doBroadcastMessage("O jogador " .. getPlayerNameById(cid) .. " foi preso por matar um jogador da mesma gangue.")

end

 

 

return true

end

Link para o comentário
Compartilhar em outros sites

agr ele move, mais o char quando morre, continua logado con sangue zerado, n consegue se mecher e o char que foi preso fica movendo direto pra posiçao.. e ele tambem ta impedindo os bixos de morrerem, os bixos ficam com a health zerada mais n morrem.

Tenta denovo, atualizei lá.

Link para o comentário
Compartilhar em outros sites

nenhum dos 2 funcionou =/

 

mano esse agr que vc editou nem move, nem da erro nem nada, n acontece nada =/

 

eu tenho esse script aqui, vc pode tentar arrumar ele pra mim?

 

local prisaoPos, storage = 13584
{x = 1009, y = 1032, z = 6}, 1384, 10
function onDeath(cid, corpse, deathList)
for i = 1, #deathList do
local kid = deathList
if isPlayer(cid) and getPlayerVocation(cid) == getPlayerVocation(kid) then
doTeleportThing(kid, prisaoPos, true)
doSendAnimatedText(getThingPos(kid), "Jailed")
doPlayerSendTextMessage(kid, 25, "Voce foi preso por matar um jogador da mesma gangue.")
setPlayerStorageValue(kid, 1383, 1)
addEvent(doTeleportThing, tempo*1000, kid, getTownTemplePosition(getPlayerTown(cid)), true)
end
end
end
Editado por MarceloV
Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...