JH

[Creaturescript] Simple Reputation System !

Por jhon992, 30 de nov. de 2011 em Globalevents e Spells

otserv
tibia
script
92
19.7k
jhon992J
09 de maio de 2012 às 13:57

descubri meu erro, o script tava tentando acessar um index nulo. pra resolver era sóh trocar a linha do arquivo repsystem.lua:

for i=0, #vetMonster do

 

bastava trocar por:

for i=1, #vetMonster do

 

esse erro acontece só na versão 2.0 do código, e ja arrumei no topico.

nariN
09 de maio de 2012 às 15:26

@John992 agora não da mais o erro, porem não ganha rep

jhon992J
09 de maio de 2012 às 16:31

Claro que esta, testei aqui.

o problema deve ser pq ao envez de você colocar o nome do monstro com a primeira letra maiuscula, vc esta colocando minuscula.

VodkartV
09 de maio de 2012 às 16:34

só usar string.lower '-'

 

nari aqui está novamente...

 

--<Script by jhon992>--
function onKill(cid, target, lastHit)
local pkDeathPoints = 1 -- pontos que vai ganhar por matar pk.
local deathPlayer = 2 -- pontos que vai perder por matar player normal.
local vetMonster = {
{"demon",3},
{"Morgaroth",5},
{"Hydra",2},
{"Dragon",1}
}
  n = getCreatureName(target)
  if isMonster(target) == TRUE then
  for i = 1, #vetMonster do
  if string.lower(n) == string.lower(vetMonster[i][1]) then
  setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)+vetMonster[i][2])
  doSendAnimatedText(getThingPos(cid), 'Rep+', 30)
  doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ganhou "..vetMonster[i][2].." ponto de reputação por matar um ".. n ..".")
  end
  end
  elseif (isPlayer(target) == true) then
  if (getCreatureSkullType(target) > 2) then
  setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)+pkDeathPoints)
  doSendAnimatedText(getThingPos(cid), 'Rep+', 30)
  doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ganhou "..(pkDeathPoints).." ponto de reputação por matar "..n..".")
  return true
  end
  setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)-deathPlayer)  
  doSendAnimatedText(getThingPos(cid), 'Rep-', 144)
  doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você perdeu "..(deathPlayer).." ponto de reputação por matar "..n..".")
end
return TRUE
end

jhon992J
09 de maio de 2012 às 16:44

s, mais sou teimoso e n queria mudar o script pq tava certo. asijda

VodkartV
09 de maio de 2012 às 16:57

s, mais sou teimoso e n queria mudar o script pq tava certo. asijda

s, oq eu passei pra ele tbm tava certo, ai ele veio falar que deu algo de errado de novo rsrs

vai entender os cara

nariN
09 de maio de 2012 às 19:41

@Vodkard o seu deu certo sim mano, porem fui testar o do @john992 e o dele nao funcionou, mas deve ter sido erro meu

 

Sugestão : poderia ter um comando para adicionar rep, para poder dar rep em um evento por exemplo para poderem comprar itens pelo comando !buy

Editado Maio 11 por Nari

nariN
13 de maio de 2012 às 11:14

Sugestão :

-poderia ter um comando para adicionar rep, para poder dar rep em um evento por exemplo para poderem comprar itens pelo comando !buy

- e colocar o !buy para vender itens por -rep tbm, isso seria para quem gosta de ficar matando players.

VodkartV
13 de maio de 2012 às 11:25

Sugestão :

-poderia ter um comando para adicionar rep, para poder dar rep em um evento por exemplo para poderem comprar itens pelo comando !buy

- e colocar o !buy para vender itens por -rep tbm, isso seria para quem gosta de ficar matando players.

 

comando !buy por rep -? ai vai tirar o do que player? mais rep? suhsushsuishsiuhsui

ele fica comprando itens adoidado '-'

nariN
13 de maio de 2012 às 11:30

ah sim, pensei que dava.

VodkartV
13 de maio de 2012 às 11:35

ah sim, pensei que dava.

Mas dá sim, só que no caso quando o jogador comprar com rep-, ele vai receber reputação.. ai eu não concordo com a idéia.

nariN
13 de maio de 2012 às 11:38

hum... é você tem razão, não ficaria bom, mas obrigado pela atenção.

VodkartV
13 de maio de 2012 às 11:40

disponha, qualquer outra idéia não deixe de comentar

4 meses depois...
jhonatanpJ
01 de setembro de 2012 às 14:18

Eu gostaria de colocar no meu servidor 8.0 , testei mas não funcionou ;c

jhon992J
01 de setembro de 2012 às 14:48

É, desconheço de todas as funções que existem em servidores antigos... Tenta você mesmo adaptar as funções incompatíveis para sua versão.