Назад

шанс срабатывания переменной

Автор: xDi2x: Дата: 05.03.2009

вот есть переменная
set @rand, rand(1,9);
if(@rand == 1) goto FiFail;
if(@rand == 2) goto FiFail;
if(@rand == 3) goto FiSucc;
if(@rand == 4) goto FiSucc2;
if(@rand == 5) goto FiSucc3;
if(@rand == 6) goto FiFail;
if(@rand == 7) goto FiSucc;
if(@rand == 8) goto Wow;
Как 8 значению поставить шанс срабатывания 2%???:confused:

Автор: xDi2x: Дата: 05.03.2009

спасибо, так и думал..... а попроще никак?

Автор: Sanasol: Дата: 05.03.2009

Думаю нет =) Только учти 50 переменных и каждая будет 2 проц )

Автор: xDi2x: Дата: 05.03.2009

*obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku* *obstenku* *obstenku*Эх, спасибо, обрадовал*obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku**obstenku*

Автор: nomn: Дата: 05.09.2009

мне лень считать, но вот смысл смотри:



set @rand, rand(1,50);

if(@rand == 1) goto FiFail;

if(@rand == 2) goto FiFail;

if(@rand == 3) goto FiSucc;

if(@rand == 4) goto FiSucc2;

if(@rand == 5) goto FiSucc3;

if(@rand == 6) goto FiFail;

if(@rand == 7) goto FiSucc;

if(@rand > 7) goto Wow;

Автор: xDi2x: Дата: 05.11.2009

пнятно(

Автор: aN00B1s: Дата: 05.29.2009

[color=Red]Попробуйте хорошенько подумать.
Логика - полезная вещь.[/color]

set @procent, rand(100);
if (@procent < 2) {
...
}

Автор: Fallen angel: Дата: 05.29.2009

жжоте...

if(@rand == 8) {set @procent, rand(100); if (@procent < 2) {
goto Wow;

Автор: FenixSSA: Дата: 06.08.2009

Попробуй вот, такой вариант.

prontera,163,163,4    script    rund    115,{
set .@random_num, rand(1,100);
    if (.@random_num >= 90 ) dispbottom "Выпало 90%"; else
    if (.@random_num >= 80 ) dispbottom "Выпало 80%"; else
    if (.@random_num >= 75 ) dispbottom "Выпало 75%"; else
    if (.@random_num >= 50 ) dispbottom "Выпало 50%"; else
    if (.@random_num >= 20 ) dispbottom "Выпало 20%"; else
    if (.@random_num >= 10 ) dispbottom "Выпало 10%"; else
    if (.@random_num >= 5 ) dispbottom "Выпало 5%"; else
    if (.@random_num >= 2 ) dispbottom "Выпал 2% (Условный приз)"; else
    dispbottom "Выпал 2% (Условный приз)";
}

Автор: aN00B1s: Дата: 06.08.2009

Что пробывать-то?
Это мой вариант, только "ухудшенный".:)

Автор: hajikov: Дата: 06.08.2009

Тогда уж, если ты считаешь что твоя переделка лучше, то:
if (.@random_num > 2 ) dispbottom "Выполо > 2% "; else
dispbottom "Выпал 2% (Условный приз)";
А во вторых хватит некрофилить, если тема не была закрыта, то незачем ее просто так ворошить.