Ir para conteúdo

Spellwand


lawlier

Posts Recomendados

Preciso de ajuda para consertar este script, não consigo identificar o erro, esta aqui o code:

 

local config = {
outfits = {"rat", "green frog", "chicken"}, -- possible outfits
duration = 45, -- duration of the outfit in seconds
breakChance = 1 -- a chance of losing the wand
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(math.random(1, 100) <= config.breakChance) then
	doSummonCreature("Mad Sheep", toPosition)
	doRemoveItem(item.uid, 1)
	return true
end

if(isPlayer(itemEx.uid)) then
	doSetMonsterOutfit(itemEx.uid, config.outfits[math.random(1,table.maxn[outfits])], config.duration * 1000)
	doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
end

return true
end

 

O erro deve estar ali no table.maxn ou coisa do tipo, porém não sei como corrigir.

Por favor corrijam, grato desde já.

Link para o comentário
Compartilhar em outros sites

Não testei o scripit mas voce diz que o erro esta na maxtable...

e mesmo vendo acho que na parte que o player tem de ficar com o oufit tem de estar diferente... testa este

 


local config = {
       outfits = {"rat", "green frog", "chicken"}, -- possible outfits
       duration = 45, -- duration of the outfit in seconds
       breakChance = 1 -- a chance of losing the wand
}

local random_of = config.outfits[math.random(1, #config.outfits)]

function onUse(cid, item, fromPosition, itemEx, toPosition)
       if(math.random(1, 100) <= config.breakChance) then
               doSummonCreature("Mad Sheep", toPosition)
               doRemoveItem(item.uid, 1)
               return true
       end

       if(isPlayer(itemEx.uid)) then
               doSetMonsterOutfit(itemEx.uid, random_of, config.duration * 1000)
               doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
       end

       return true
end

 

Testa e fala o resultado

Link para o comentário
Compartilhar em outros sites

EDIT: Desculpe-me, ouve um equivoco de minha parte perante o script.

ele esta funcionando sim, porém de um jeito errado, resolveria se você jogasse o

local random_of = config.outfits[math.random(1, #config.outfits)] para dentro da function.

Porém um erro ainda persiste.

Randomicamente, ela não transforma em nada, e não faço ideia do porque.

 

o código esta assim no presente momento:

local config = {
outfits = {"rat", "green frog", "chicken"},
duration = 45,
breakChance = 1
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) then
	if math.random(100) <= config.breakChance then
		doRemoveItem(item.uid)
		doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)
		doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"You broke it.")
		doSummonCreature("mad sheep", toPosition)
	else
		doSetMonsterOutfit(itemEx.uid, config.outfits[math.random(#config.outfits)], config.duration * 1000)
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
	end
	return TRUE
end
return TRUE
end

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

×
×
  • Criar Novo...