NB
pedido

Ajuda Com O Meu Script

Por nbb147, 09 de dez. de 2012 em Scripts

creatureevent
ganha
exp
storage
script
6
1.1k
nbb147N
09 de dezembro de 2012 às 20:04

galera faz dois dias que estou tentando fazer um script que ao o player ganhar uma certa storage, ele ganha tanto e experiencia, mais da um erro com a função onThink eu não conheço outra funçao que de certo, erro:

 

 

 

[09/12/2012 19:54:53] [Error - CreatureScript Interface]

[09/12/2012 19:54:53] data/creaturescripts/scripts/storage exp.lua:onThink

[09/12/2012 19:54:53] Description:

[09/12/2012 19:54:53] (luaGetCreatureStorage) Creature not found

 

eu quero saber como eu poderia fazer ele funcionar, script:

 

local itens = {

["11110"] = {exp = 1000}, -- a storage que tem que possuir, e o exp que vai receber

["11111"] = {exp = 1000},

["11112"] = {exp = 2000}

 

}

function onThink(cid)

if not itens[getPlayerStorageValue(cid)] then

return true

end

 

local gain = itens[getPlayerStorageValue(cid)].exp

getPlayerExperience(cid, getPlayerStorageValue(cid)+gain)

return true

end

SlicerS
09 de dezembro de 2012 às 20:59

1* getPlayerStorageValue(cid), eh obrigado a declarar qual eh o numero da storage q queres checar.. por exemplo... getPlayerStorageValue(cid, 11110)

2* pq q tu n coloca para ganhar a exp, no ms script q seta essas storages o.O usar onThink soh para adicionar exp.. eh meio q insano ;/ vai causar muito lag atoa..

 

 

edit: post 2000 o.O

Editado Dezembro 9 por Slicer

nbb147N
09 de dezembro de 2012 às 21:17

lol, pq eu não pensei nisso antes, ¬¬'

eu não sei como poderia colocar a função de adicionar exp nesse script:

 

 

function onDeath(cid, corpse, deathList)

local Storage,monstName,players = 11111, "Mizuki", {}

if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then

doCreatureSay(cid, "Você venceu o mizuki.", TALKTYPE_ORANGE_1)

for _, check in pairs(deathList) do

if isPlayer(check) then

table.insert(players, check)

end

end

for _, var in pairs(players) do

setPlayerStorageValue(var, Storage, 1)

end

end

return true

end

 

ensina ae como eu poderia fazer isso..

SlicerS
09 de dezembro de 2012 às 21:26
for _, var in pairs(players) do
setPlayerStorageValue(var, Storage, 1)
doPlayerAddExp(var, 11111) --soh alterar aki qnt exp vai ganhar..
end

nbb147N
09 de dezembro de 2012 às 21:55

putz eu tentei usar essa função, e nao tinha dado certo pois tinha colocado no local errado, deu certo dessa forte, brigadao cara

hj nao tenho rep mais amanhã te dou novamente muito obrigado.

Yan OliveiraY
09 de dezembro de 2012 às 21:59

Duvida Resolvida!

 

Tópico Movido.