Ir para conteúdo
  • 0

xCookie

Pergunta

--Bom eu uso esse script ele funciona, mais quero que der level ou 1 item aleatório que ta na tabela do script--

 

Obs. os items já estão dando, só falta o level e claro pode dar level ou 1 item. Não os 2 de uma vez.

 

ERRO:

nao esta dando level.

na mensagem "Você abriu a box e ganhou 1 blablabla."

 

CERTO:

Dar 5 leveis se nao vim os items da tabela

na mensagem "Você abriu a box e ganhou 1 blablabla." - No blablabla aparecer o nome do item que vim ou o level.

 

actions/scripts:

 

 

local items =
{ --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM}
[1]={id=2159, count=1}, --
[2]={id=2695, count=1}, --
[3]={id=2090, count=1}, --
[4]={id=6570, count=1}, --
[5]={id=6571, count=1}, --
[6]={id=7632, count=1}, --
[7]={id=7633, count=1}, --
[8]={id=2153, count=1}, --
[9]={id=5952, count=1}, --
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
a = math.random(1, #items)
doPlayerAddItem(cid, items[a].id, items[a].count)
doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN)
doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou ".. items[a].count .. ".")
doRemoveItem(item.uid, 1)
return true
end

ME AJUDE PESSOAL!!

 

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

12 respostass a esta questão

Posts Recomendados

  • 0

Tenta assim:

 

local items =
 { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM}
	[1]={id=2159, count=1}, -- 
	[2]={id=2695, count=1}, -- 
	[3]={id=2090, count=1}, -- 
	[4]={id=6570, count=1}, -- 
	[5]={id=6571, count=1}, --
	[6]={id=7632, count=1}, -- 
	[7]={id=7633, count=1}, -- 
	[8]={id=2153, count=1}, --
	[9]={id="level", count=1}, -- 
}

function doPlayerAddLevel(cid, amount, round)
	local newExp = 0
	local currentLevel = getPlayerLevel(cid)
	if amount > 0 then
		newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel))
	else
		newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount))
	end

	return doPlayerAddExp(cid, newExp)
end
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local a = math.random(1, #items)
	if type(items[a].id) == "string" then
		doPlayerAddLevel(cid, items[a].count)
	else
		doPlayerAddItem(cid, items[a].id, items[a].count)
	end
	doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN)
	doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou ".. items[a].count .. ".")
	doRemoveItem(item.uid, 1)
	return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

zipter pra que voce moveu o topico mano.. arrumou o erro 1 apenas...

 

falta o erro 2 que nao ta aparecendo a nome do item apenas quantidade!

 

HELP ME!

 

O Tópico só foi movido de área para uma mais adequada a sua duvida amigo. não para Duvidas resolvidas.

espero que tenha entendido,

 

Abraçoss

Link para o comentário
Compartilhar em outros sites

  • 0


local items =

{ --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM}

[1]={id=2159, count=1}, --

[2]={id=2695, count=1}, --

[3]={id=2090, count=1}, --

[4]={id=6570, count=1}, --

[5]={id=6571, count=1}, --

[6]={id=7632, count=1}, --

[7]={id=7633, count=1}, --

[8]={id=2153, count=1}, --

[9]={id="level", count=1}, --

}

 

function doPlayerAddLevel(cid, amount, round)

local newExp = 0

local currentLevel = getPlayerLevel(cid)

if amount > 0 then

newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel))

else

newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount))

end

 

return doPlayerAddExp(cid, newExp)

end

 

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

local a = math.random(1, #items)

if type(items[a].id) == "string" then

doPlayerAddLevel(cid, items[a].count)

else

doPlayerAddItem(cid, items[a].id, items[a].count)

end

doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN)

doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou "..items[a].count.."x "..(tonumber(items[a].id) and getItemNameById(items[a].id) or "level"..(items[a].count > 1 and "s" or ""))..".")

doRemoveItem(item.uid, 1)

return true

end

 

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

  • 0

a mensagem so ta aparecendo o nome do item !! nao esta aparecendo voce ganhou tanto blablabla

local items =
    { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM}
    [1]={id=2159, count=1}, -- 
    [2]={id=2695, count=1}, -- 
    [3]={id=2090, count=1}, -- 
    [4]={id=6570, count=1}, -- 
    [5]={id=6571, count=1}, --
    [6]={id=7632, count=1}, -- 
    [7]={id=7633, count=1}, -- 
    [8]={id=2153, count=1}, --
    [9]={id="level", count=1}, -- 
}

function doPlayerAddLevel(cid, amount, round)
    local newExp = 0
    local currentLevel = getPlayerLevel(cid)
    if amount > 0 then
        newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel))
    else
        newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount))
    end

    return doPlayerAddExp(cid, newExp)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local a = math.random(1, #items)
    if type(items[a].id) == "string" then
        doPlayerAddLevel(cid, items[a].count)
        doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. " leve" .. (items[a].count > 1 and "is" or "l")) .. ".")
    else
        doPlayerAddItem(cid, items[a].id, items[a].count)
        doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. "x " .. getItemNameById(items[a].id) .. ".")
    end
    doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN)
    doRemoveItem(item.uid, 1)
    return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

Funcionou os 2 parabens mais eu tinha me esquecido tipo o id 2090 da tabela e uma key eu coloco count=10 dai so vem 1 porque?

Tenta assim:

local items =
    { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM}
    [1]={id=2159, count=1}, -- 
    [2]={id=2695, count=1}, -- 
    [3]={id=2090, count=1}, -- 
    [4]={id=6570, count=1}, -- 
    [5]={id=6571, count=1}, --
    [6]={id=7632, count=1}, -- 
    [7]={id=7633, count=1}, -- 
    [8]={id=2153, count=1}, --
    [9]={id="level", count=1}, -- 
}

function doPlayerAddLevel(cid, amount, round)
    local newExp = 0
    local currentLevel = getPlayerLevel(cid)
    if amount > 0 then
        newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel))
    else
        newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount))
    end

    return doPlayerAddExp(cid, newExp)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local a = math.random(1, #items)
    if type(items[a].id) == "string" then
        doPlayerAddLevel(cid, items[a].count)
        doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. " leve" .. (items[a].count > 1 and "is" or "l")) .. ".")
    else
        if isItemStackable(items[a].id) then
            doPlayerAddItem(cid, items[a].id, items[a].count)
        else
            for i = 1, items[a].count then
                doPlayerAddItem(cid, items[a].id, 1)
            end
        end
        doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. "x " .. getItemNameById(items[a].id) .. ".")
    end
    doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN)
    doRemoveItem(item.uid, 1)
    return true
end
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...