MU

Criminal System

Por Mulizeu, 09 de abr. de 2012 em Mods, funções e outros

script
otserv
10
2.2k
MulizeuM
09 de abril de 2012 às 22:46

CREDITOS 100% AO :Kimoszin DE UM OUTRO FORUM

 

Bom pessoal, mais um script para vocês.

 

- Qual o motivo desse nome?

Não sei, estou meio sem ideias.

 

- Oque tem nesse sistema?

Bom, ele da o direito dos players do seu OTServer, serem ladrôes ou policiais,

Tambem tem uma cadeia, para aonde os criminosos vão para.

 

- Nossa, para oque ele serve?

Para seu servidor ficar com mais diversão,

Creio que ele seja meio inutil.

 

Vamos começar. !

 

Crie um arquivo .lua chamado Policial em \data\actions\scripts

function onUse(cid, item, fromPosition, itemEx, toPosition)

local config = {
minreward = 500, -- Minimo que o policial ira ganhar.
maxreward = 2000, -- Maximo que o policial ira ganhar
storage = 5569, -- Uma storage qualquer
color = math.random(1, 255),
prisonPos = {x=1014, y=1034, z=7}, -- Para aonde sera teleportado o ladrão.
storagePreso = 5570, -- Uma storage qualquer
time = 60, -- Tempo que o ladrão vai ficar preso
}
	local player = getSpectators(getCreaturePosition(cid), 7, 5)
			local money = math.random(config.minreward, config.maxreward)

	if player and #player > 0 then
			for t, pid in pairs(player) do
					if isPlayer(pid) and pid ~= cid then
							if getPlayerStorageValue(pid, config.storage) == 1 then
																	setPlayerStorageValue(pid, storagePreso, os.time()+config.time)
																	doTeleportThing(pid, config.prisonPos)
																	doPlayerAddMoney(cid, money)
																	doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você acaba de ser preso, por cometer delitos.")
																	doSendAnimatedText(getCreaturePosition(cid), "+"..money.."", config.color)

															else
																	doPlayerSendCancel(cid, "Esse player nao cometeu delitos.")
															 end
					 end
			end
	end
	return TRUE
end

 

Crie um arquivo .lua chamado Ladrao em \data\actions\scripts

function onUse(cid, item, itemEx)

local config = {
minMoneyRemove = 30, -- Minimo que o ladrão ira ganhar
maxMoneyRemove = 1400, -- Maximo que o ladrão ira ganhar
storage = 5569, -- Uma storage qualquer
color = math.random(1, 255),
}
	local player = getSpectators(getCreaturePosition(cid), 7, 5)
			local money = math.random(config.minMoneyRemove, config.maxMoneyRemove)

	if player and #player > 0 then
			for t, pid in pairs(player) do
					if isPlayer(pid) and pid ~= cid then
							if doPlayerRemoveMoney(pid, money) then
																	setPlayerStorageValue(cid, config.storage, 1)
																	doPlayerAddMoney(cid, money)
																	doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você acaba de ser roubado e perdeu "..money.." gps.")
																	doSendAnimatedText(getCreaturePosition(cid), "+"..money.."", config.color)
															else
																	doPlayerSendCancel(cid, "O player nao possui "..money.." gps.")
															 end
					 end
			end
	end
	return TRUE
end

 

Crie um arquivo .lua chamado Cadeia em \data\actions\scripts

function onUse(cid,item)

local config = {
storagePreso = 5570, -- Uma storage qualquer
toPos = {x=1016, y=1022, z=7}, -- Para aonde o player irá quando o tempo acabar
}

timePreso = getPlayerStorageValue(cid, config.storage) - os.time()

  if getPlayerStorageValue(cid, config.storagePreso) == -1 then
	 doPlayerSendCancel(cid, "Você nao está preso.")
  else
			if timePreso <= 0 then
			  setPlayerStorageValue(cid, config.storagePreso, -1)
			  doTeleportThing(cid, config.toPos)
			  doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Espero que você pense bem agora, antes de cometer algum delito")
			else
			  doPlayerSendCancel(cid, "Você ainda tem que esperar "..timePreso.." segundos, para ser solto.")
	   end
  return TRUE
end

end

 

Agora adicione os seguinte codigos em \data\actions\actions.xml

<action actionid="1256" event="script" value="Cadeia.lua"/>
<action itemid="2556" event="script" value="Policial.lua"/>
<action itemid="10153" event="script" value="Ladrao.lua"/>

 

 

Adicione a ACTION ID na porta da cadeia, Depois edite os nomes dos items.

Para editar basta ir em \data\items\items.xml use a imaginação.

 

Até mais.

 

 

Informação: O Ladrão rouba ai é adicionado uma storage, quando o Policial usar o item no Ladrão mandara para cadeia.

Se o player nao estiver com a storage do roubo, uma mensagem de erro é mandada para o Policial.

 

 

OBS: achei legal e nao o vi aki entao resolvi trazer! (Me desculpem se ja tiver algo parecido ou igual ao msm)

Editado Abril 9 por mulizeu

kriller12K
09 de abril de 2012 às 22:56

Testando,já já edit!

3 semanas depois...
JeanCristianJ
29 de abril de 2012 às 22:25

é tipo de uma runa quando o policial for usar no ladrao? tem que ter um item certo sei la para isso poder funcionar? da algum bug no distro quando o policial tenta usar esse item nele mesmo?

3 meses depois...
08 de julho de 2012 às 13:17

Removido

Editado Novembro 9 por Beeki

4 meses depois...
09 de novembro de 2012 às 05:10

explica melhor ai ou coloca screenshot, o ladrão rouba o que house player explica ai como ele faz pra ser ladrão e como faz pra ser policia ? explica REP +

LummosL
09 de novembro de 2012 às 12:40

CARA TOPICO MEIO INUTIL NAO TEM POR QUE FAZER ISSO EM ALGUM OT........

ATE PQ MTS OTS QUE VC VE POR AI ESTAO PERDENDO COMPLETAMENTE O "RPG" DO TIBIA

 

 

MAIS ESQUEÇA A PARTE ACIMA

OBRIGADO POR TRAZER MAIS COISAS AO XTIBIA

 

 

SHADOWNZINHO

 

Reportado por flood. Não tem nada haver este assunto com o tópico. Cada um tem o direito de postar o que quiser no Xtibia. (Seguindo as regras)

 

@Topic

Obrigado pela contribuição, com o script. Não me será útil mas será a outros.

 

Abraços.

BeekiB
09 de novembro de 2012 às 13:43

Shadownzinho negativado e comentário removido.

09 de novembro de 2012 às 18:46

alguem pode responder o que perguntei =/

3 semanas depois...
IGORFSI
26 de novembro de 2012 às 17:13

Eu acharia melhor,se tive-se que matar o Ladrao e ele ja iria pra Cadeia seria mais divertido :)

28 de novembro de 2012 às 02:23

gostei da idea a cima