Перейти к содержанию

рандом зеней


Рекомендуемые сообщения

помогите со скриптом под геркулес, имею скрипт написанный под rA помогите реализовать под hA

суть скрипта такова нпц должен давать случайное количество зеней, а всё остальное не нужно.. интересует только момент про зени

 

 

Скрытый текст

 

prontera,154,187,3    script    Раздаватель Бонусов    865,{

if ($DLogin == 0)goto GnId;
if (#DLogin == $DLogin) goto L_RHLbonus;
mes "Я раздаю ежедневные бонусы! Хочешь рискнуть странник?";
    next;
    
    switch(rand(2)){ // 1/rand will be items, rest will be zeny
        case 0: //Items
            //        Card,    Enchant,    Healing,    All items
            setarray .@Plow, 4001,    4700,        401,        501,    619;
            setarray .@Phigh,4610,    4871,        599,        21005,    2701;
                        set .@x, rand(getarraysize(.@Plow));
                        set .@p, rand(.@Plow[.@x],.@Phigh[.@x]);
                        while(getitemname(.@p) == "null"){
                            set .@p, rand(.@Plow[.@x],.@Phigh[.@x]);
                        }
                        if (checkweight(.@p,1) == 0 ){
                            mes "Проваливай, ты уже получил свою норму!";
                            emotion e_bzz;
                            close;
                        }
            getitem .@p,1;
            set #DLogin,$DLogin;
            announce "" + strcharinfo(0) + " получил " + getitemname(.@p) + "",8;    
        break;
        default: //Zeny
            setarray .@x,1,2,3,4,5,6,7,8,9,10;
            set .@p, .@x[rand(getarraysize(.@x))] * rand(1,100);
            set Zeny,Zeny + .@p;
            set #DLogin,$DLogin;
            announce "" + strcharinfo(0) + " получил " + .@p + " зенек",8;
        break;
    }


L_RHLbonus:
    mes "Всё проваливай, ты уже получил свою норму!";
    emotion e_bzz;
    close;

GnId:
    set $DLogin,rand (100000,999999);
    end;

OnInit:

    OnClock0015:
    OnClock0115:
    OnClock0215:
    OnClock0315:
    OnClock0415:
    OnClock0515:
    OnClock0615:
    OnClock0715:
    OnClock0815:
    OnClock0915:
    OnClock1015:
    OnClock1115:
    OnClock1215:
    OnClock1315:
    OnClock1415:
    OnClock1515:
    OnClock1615:
    OnClock1715:
    OnClock1815:
    OnClock1915:
    OnClock2015:
    OnClock2115:
    OnClock2215:
    OnClock2315:
    announce "Раздча ежедневных бонусов! ориентир 'Центр Пронтеры'",8;
    waitingroom "Бонусы ВСЕМ!",0;
set $DLogin,rand (100000,999999);
end;

}

 

Изменено пользователем ucell-uz
Ссылка на комментарий
Поделиться на другие сайты

17 минуту назад, Salfer сказал:

set Zeny, Zeny + rand (1,3);

рандомное кол-во зеней от 1 до 3

а если я поставлю 1,2,3,4 это сработает?

Ссылка на комментарий
Поделиться на другие сайты

Нет.

Цитата


---------------------------------------
*rand(<number>{,<number>});

This function returns a number ...
(if you specify one) ... randomly positioned between 0 and the number you 
                         specify -1.
(if you specify two) ... randomly positioned between the two numbers you 
                         specify.

rand(10)  would result in 0,1,2,3,4,5,6,7,8 or 9
rand(0,9) would result in 0,1,2,3,4,5,6,7,8 or 9
rand(2,5) would result in 2,3,4 or 5
 

Функции rand() задаются параметры. Если задан один параметр - вернет случайное число от 0 до заданного не включительно. Если два параметра - случайное число от первого числа до второго включительно.

 

Соответственно, чтобы получить от 1 до 4 зени - надо вызывать rand(1,4);

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика