MU

Procurado

Por Mulizeu, 20 de mai. de 2012 em Mods, funções e outros

otserv
tibia
script
5.0 (1)
11
2.9k
MulizeuM
20 de maio de 2012 às 16:00

Primeiramente Irei falar um pouco sobre o systema, ele e bem simples mais e legal!

é um sistema de recompensa pela cabeça do jogador, a medida que o jogador mata outro ele acumula kills, e quando chega a uma determinada quantia de kill, sua cabeça vale uma recompensa, e quem matar esse jogador recebe o premio

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

Para ver quantos kills o jogador tem basta falar !kill ou /kill

{maxKill = 2 -- quantia de player que vai matar

 

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

 

Vá ate a pasta mods crie um arquivo chamado, Procurado.xml e coloque

 

V 1.0

 

<?xml version="1.0" encoding="UTF-8"?>  
   <mod name="Procurado" version="1.0" author="Mulizeu" contact="xtibia.com" enabled="yes">  
   <config name="pcr_func"><![CDATA[
   config = {maxKill = 2, storage = 913874, reward = {2160,100}}
   function getKills(cid)
   return getPlayerStorageValue(cid,config.storage) < 0 and 0 or getPlayerStorageValue(cid,config.storage)
   end
   ]]></config>
   <event type="login" name="ProcuradoRegister" event="script"><![CDATA[
   domodlib('pcr_func')
			    function onLogin(cid)
							    registerCreatureEvent(cid, "ProcuradoRegister")
							    registerCreatureEvent(cid, "ProcuradoKill")
							    registerCreatureEvent(cid, "ProcuradoDeath")
			    if getPlayerStorageValue(cid,config.storage) == -1 then
			    setPlayerStorageValue(cid,config.storage,0)
			    end
	    return true
	    end]]></event>
   <talkaction words="/kill;!kill" event="buffer"><![CDATA[
   domodlib('pcr_func')
   return doPlayerSendTextMessage(cid,27,"You have "..getKills(cid).." Killer of the peoples")
   ]]></talkaction>	  
   <event type="kill" name="ProcuradoKill" event="script"><![CDATA[
   domodlib('pcr_func')
   function onKill(cid, target, lastHit)
   if isPlayer(cid) and isPlayer(target) == TRUE then
   setPlayerStorageValue(cid, config.storage, getKills(cid)+1)
   doSendAnimatedText(getCreaturePosition(cid),"+Kill",math.random(1,5))
   if getKills(cid) == config.maxKill then
   doBroadcastMessage("The Player "..getCreatureName(cid).." was Killer "..config.maxKill.." people and now his head is worth "..config.reward[2].." "..getItemNameById(config.reward[1]) , 22)
   end
   end
   return true
   end]]></event>
   <event type="death" name="ProcuradoDeath" event="script"><![CDATA[
   domodlib('pcr_func')
   function onDeath(cid, corpse, deathList)
   if isPlayer(deathList[1]) and getKills(cid) >= config.maxKill then
   doPlayerAddItem(deathList[1],config.reward[1],config.reward[2])
   setPlayerStorageValue(cid, config.storage, 0)
   doBroadcastMessage("The Player "..getCreatureName(deathList[1]).." was Killed "..getCreatureName(cid).." and earned his reward" , 20)
   end
   return true
   end
   ]]></event>
   </mod>

 

Aceito Sujestões e ideias para melhorar o systema

 

Agradeço ao VODKART, por ter passado para mods,e deixar o script melhor configuravel

Editado Maio 20 por mulizeu

fagundes14F
20 de maio de 2012 às 16:03

Tem Como Vc Adaptar Esse Systema Para 8.0 ?

 

ABRASS

MulizeuM
20 de maio de 2012 às 16:08

Tem como fazer para 8.0, porem teria que ser feito 2 arquivos em creaturescript e um em talkactions!

fagundes14F
20 de maio de 2012 às 16:22

Tem como fazer para 8.0, porem teria que ser feito 2 arquivos em creaturescript e um em talkactions!

 

Vc Nao Poderia Fazer Essa Adaptaçao Nao?

SkyDangerousS
21 de maio de 2012 às 08:38

seria bom você indentar o script,

 

 

estou tentando ler e está muito confuso.

VodkartV
21 de maio de 2012 às 10:57

seria bom você indentar o script,

 

 

estou tentando ler e está muito confuso.

mas está indentado lol

SkyDangerousS
21 de maio de 2012 às 11:03

ta não.

 

eu pelo menos faço assim

 

if (comando) then
  (...)
end

 

e não

if (comando) then
(...)
end

 

 

 

Eu deixo visível dou espaços sempre ..

Bom, cada um tem seu jeito de programar.

Editado Maio 21 por SkyDangerous

VodkartV
21 de maio de 2012 às 11:13

é porque quando vai passar para code ele dá alguns espaços a mais, e para mim identação é só as linhas separadas:

 

if level > 10 then ... end

 

identado

 

if level > 10 then
...
end

 

já fica fácil de intender '-'

jhon992J
21 de maio de 2012 às 11:27

@mulizeu,

Ótimo script, parabéns e continue contribuindo com a comunidade.

Rep+

 

E agora me metendo na conversa dos meus amigos, o código do jeito que esta ali, não esta indentado.

E indentado com certeza melhora o entendimento de quem esta lendo e quer aprender.

Mais esse erro de indentação ocorre mesmo se você fizer um código indentado e for postar, pois ao usar a ferramenta Código disponível na aba de postagem e indentação se perde.

Um meio de resolver esse problema é usar manualmente as tags [.CODE] [./CODE] e colar o código indentado dentro.

 

Agora parem de comentar sobre indentação aqui!

Esse tópico é destinado ao script do @mulizeu. happy.png

5 meses depois...
HeMp_BoYH
09 de outubro de 2012 às 06:22

Galera so novo nisso queria sabe como coloco a frase em português

tipo... O HeMp_BoY mato 20 jogadores e ta procurando reconpensa pela morte dele 100 crystal coins

RHCPR
09 de outubro de 2012 às 23:12

Uma simples pergunta:

E caso esse jogador que seja 'caçado' morra em arena PVP, quem matou irá ganhar o prêmio ainda?