Postado Outubro 1, 2017 7 anos 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.1º Colocar os efeitos dele para sair no basin e o outro na table (3 e 30 o numero dos efeitos, respectivamente).2º 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". 3º 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 Outubro 1, 2017 7 anos por dimmebag (veja o histórico de edições)
Postado Outubro 1, 2017 7 anos 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 Outubro 1, 2017 7 anos 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 Outubro 1, 2017 7 anos por dimmebag (veja o histórico de edições)
Postado Outubro 1, 2017 7 anos @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 Outubro 1, 2017 7 anos 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.