Página 1 de 1

Sistema de loot por raridade

Enviado: Ter Out 11, 2016 5:49 pm
por Eduardo Macedo
eu fiz um sistema de loot a um tempo e fui da uma olhada nele e percebi que o sistema de raridades não tava legal
eu queria um sistema que colocasse a porcentagem de chance para  dropar um item mas não consegui e fiz da seguinte maneira:

Código: Selecionar todos

///scr_drop(loot,quantidade,raridade)

item = argument0
quant = argument1
raridade = argument2

switch raridade
{
    case 1 : a = irandom(quant) ; break;
    case 2 : a = choose(irandom(quant),0) ; break;
    case 3 : a = choose(irandom(quant),0,0) ; break;
    case 4 : a = choose(irandom(quant),0,0,0) ; break;
    case 5 : a = choose(irandom(quant),0,0,0,0) ; break;
    case 6 : a = choose(irandom(quant),0,0,0,0,0) ; break;
    case 7 : a = choose(irandom(quant),0,0,0,0,0,0) ; break;
    case 8 : a = choose(irandom(quant),0,0,0,0,0,0,0) ; break;
    case 9 : a = choose(irandom(quant),0,0,0,0,0,0,0,0) ; break;
    case 10: a = choose(irandom(quant),0,0,0,0,0,0,0,0,0) ; break;    
}

se alguém souber uma forma de deixar um sistema de loot mais preciso com a % de chances agradeço.

Re: Sistema de loot por raridade

Enviado: Ter Out 11, 2016 7:13 pm
por Superbomber
É simples, só usar irandom(100) e verificar se o valor é igual ou inferior a porcentagem de chance desejada.

Desta forma, seguindo o formato de seu código:

Código: Selecionar todos

item     = argument0;
quant    = argument1;
raridade = argument2; // recomendo sempre utilizar ;

if( irandom(100) <= raridade ){
   return irandom(quant);
} else {
   return 0;
}
Bye. :flw:

Re: Sistema de loot por raridade

Enviado: Qua Out 12, 2016 12:31 am
por Eduardo Macedo
muito bom, obrigado!