Ir para conteúdo

Featured Replies

Postado

Galera, eu to aqui com um script de alavanca do bp event, feito pelo querido @antharaz, só que o script ta um pouco "magrinho" e ta dando todos os itens da config e quase sempre dando no maximo. Então eu gostaria de pedir se alguém não faz algumas alterações nele.

Colocar os efeitos dele para sair no basin e o outro na table (3 e 30 o numero dos efeitos, respectivamente).
Colocar mensagem de erro, tais como "Você precisa colocar uma backpack no basin para jogar" e "Voce nao pode usar a backpack que ganhou para jogar".

Colocar uma função de porcentagem nas recompensas.

Bem, é isso. Agradeço desde já quem ajudar!

Script:

 

local config = {
                pos = {
                        bp_vazia = {x=16786,y=16502,z=7,stackpos = 255}, --POS que o player deixará a bp vazia
                        bp_com_premio = {x=16787,y=16502,z=7} --POS que o player receberá a bp ao puxar a alavanca
                },
                ids = {1988,2001,5926,2002,10519,2000,1999,2004,2003,1998,5801,9774,3940},
                premio = {
                            {id = 2152, minimo = 1, maximo = 70},
                            {id = 2157, minimo = 0, maximo = 4},
                                                        {id = 2148, minimo = 1, maximo = 500}
                }
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local bp = getThingFromPos(config.pos.bp_vazia)
                doSendMagicEffect(getThingPos(cid),3)
    local usada = getItemAttribute(bp.uid, 'usada')
    if usada or not isInArray(config.ids,bp.itemid) then
        doSendMagicEffect(getThingPos(cid),2)
        return false
    end
    doItemSetAttribute(bp.uid, 'usada', 1)
    doTeleportThing(bp.uid,config.pos.bp_com_premio)
           doSendMagicEffect(getThingPos(cid),30)
    for _,t in pairs(config.premio) do
        doAddContainerItem(bp.uid,t.id,math.random(t.minimo,t.maximo))
    end
    return true
end

Editado por dimmebag (veja o histórico de edições)

Resolvido por antharaz

Ir para solução
  • Respostas 8
  • Visualizações 716
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado
  • Solução

@dimmebag 

 

Seria algo tipo isso?

 

Spoiler

local config = {
                pos = {
                        bp_vazia = {x=16786,y=16502,z=7,stackpos = 255}, --POS que o player deixará a bp vazia
                        bp_com_premio = {x=16787,y=16502,z=7} --POS que o player receberá a bp ao puxar a alavanca
                },
                ids = {1988,2001,5926,2002,10519,2000,1999,2004,2003,1998,5801,9774,3940},
                premio = {
                            {id = 2152, minimo = 1, maximo = 70, chance = 30},
                            {id = 2157, minimo = 0, maximo = 4, chance = 70},
                            {id = 2148, minimo = 1, maximo = 500, chance = 80}
                }
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local bp = getThingFromPos(config.pos.bp_vazia)
    doSendMagicEffect(getThingPos(cid),3)
    local usada = getItemAttribute(bp.uid, 'usada')
    if usada or not isInArray(config.ids,bp.itemid) then
		local msg = usada and "Voce nao pode usar a backpack que ganhou para jogar." or "Você precisa colocar uma backpack no basin para jogar"
		doPlayerSendTextMessage(cid, 22, msg)
        doSendMagicEffect(getThingPos(cid),2)
        return false
    end
	doSendMagicEffect(config.pos.bp_vazia,2)
	doSendMagicEffect(config.pos.bp_com_premio,2)
    doItemSetAttribute(bp.uid, 'usada', 1)
    doTeleportThing(bp.uid,config.pos.bp_com_premio)
    doSendMagicEffect(getThingPos(cid),30)
    for _,t in pairs(config.premio) do
		if math.random(1,100) <= t.chance then
			doAddContainerItem(bp.uid,t.id,math.random(t.minimo,t.maximo))
		end
    end
    return true
end

 

 

Postado
  • Autor
19 minutos atrás, antharaz disse:

@dimmebag 

 

Seria algo tipo isso?

 

  Ocultar conteúdo


local config = {
                pos = {
                        bp_vazia = {x=16786,y=16502,z=7,stackpos = 255}, --POS que o player deixará a bp vazia
                        bp_com_premio = {x=16787,y=16502,z=7} --POS que o player receberá a bp ao puxar a alavanca
                },
                ids = {1988,2001,5926,2002,10519,2000,1999,2004,2003,1998,5801,9774,3940},
                premio = {
                            {id = 2152, minimo = 1, maximo = 70, chance = 30},
                            {id = 2157, minimo = 0, maximo = 4, chance = 70},
                            {id = 2148, minimo = 1, maximo = 500, chance = 80}
                }
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local bp = getThingFromPos(config.pos.bp_vazia)
    doSendMagicEffect(getThingPos(cid),3)
    local usada = getItemAttribute(bp.uid, 'usada')
    if usada or not isInArray(config.ids,bp.itemid) then
		local msg = usada and "Voce nao pode usar a backpack que ganhou para jogar." or "Você precisa colocar uma backpack no basin para jogar"
		doPlayerSendTextMessage(cid, 22, msg)
        doSendMagicEffect(getThingPos(cid),2)
        return false
    end
	doSendMagicEffect(config.pos.bp_vazia,2)
	doSendMagicEffect(config.pos.bp_com_premio,2)
    doItemSetAttribute(bp.uid, 'usada', 1)
    doTeleportThing(bp.uid,config.pos.bp_com_premio)
    doSendMagicEffect(getThingPos(cid),30)
    for _,t in pairs(config.premio) do
		if math.random(1,100) <= t.chance then
			doAddContainerItem(bp.uid,t.id,math.random(t.minimo,t.maximo))
		end
    end
    return true
end

 

 


Isso, ai. Certinho
Obs: Desconsidera o edit, o efeito que ta com a linha duplicada ali, é só eu mudar o numero xd

Editado por dimmebag (veja o histórico de edições)

Postado

@dimmebag 

 

Acho0 que não entendi direito, você quer que quando nao der para usar a alavanca dê o efeito 3 no coal e qnd der para usar apareça o 30 na mesa OU que apareça efeito 2 no player quando não der par ausar a alavanca e quando der dar efeito 3 no coal e 30 na table?

Postado
  • Autor
1 minuto atrás, antharaz disse:

@dimmebag 

 

Acho0 que não entendi direito, você quer que quando nao der para usar a alavanca dê o efeito 3 no coal e qnd der para usar apareça o 30 na mesa OU que apareça efeito 2 no player quando não der par ausar a alavanca e quando der dar efeito 3 no coal e 30 na table?

O 3 no coal e o 30 na mesa. Mas voce ja tinha colocado, eu nao reparei pq os efeitos tava o "poff".

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo