Помогите понять как это всё вычисляется и происходит Хочу сделать чтоб с монстра падали редко эти боксы, я так понимаю это в rand надо менять там где 87 либо меньше либо больше? ну я ставил и так и так и всё равно небыло ни какого результата, а я бы хотел сделать чтоб бокс выпадал примерно 20% шанс его найти. Второй вопрос как сделать так чтоб в этом же боксе вешь выпадала тоже редко?
Код
[FUNCTION DROPPANDORA] IF (<TAG0.PH>==1) IF (<STR> < 101) && (rand(99)>87) //13% SERV.NEWITEM i_box_pandora NEW.TAG.LEVEL=1 STATSCOUNT PANDORA,1 STATSCOUNT PANDORA<NEW.dTAG0.LEVEL>,1 NEW.COLOR=0488 NEW.BOUNCE
а я бы хотел сделать чтоб бокс выпадал примерно 20% шанс его найти.
Код
[FUNCTION DROPPANDORA] IF (<TAG0.PH>==1) IF (20 > <R100>) //20% SERV.NEWITEM i_box_pandora NEW.TAG.LEVEL=1 STATSCOUNT PANDORA,1 STATSCOUNT PANDORA<NEW.dTAG0.LEVEL>,1 NEW.COLOR=0488 NEW.BOUNCE
Цитата
Второй вопрос как сделать так чтоб в этом же боксе вешь выпадала тоже редко?
Код
[FUNCTION f_generate_arts] IF (RAND(200) < <EVAL <TAG0.box_lvl>*2>)
DORAND 24 NEWITEM i_Serpent_dagger ENDDO
NEW.TAG.LOOT=1 NEW.TAG.IDE=1000 NEW.BOUNCE
ELIF (RAND(125) < <EVAL <TAG0.box_lvl>*2>)
DORAND 48 NEWITEM i_amulet_fire ENDDO
А, конкретнее ? У вас и так не плохо ... Если случайное число от ( 0 - 200 ) меньше чем уровень клада * 2 ... Дальше шанс 1 из 24 что выпадет Serpent_dagger .... Ты сам то как хочешь ?
WHILE (<TAG0.AMOUNT> ) NEWITEM i_gold IF (<TAG.AMOUNT> > 64999) NEW.AMOUNT=65000 TAG.AMOUNT -= 65000 ELSE NEW.AMOUNT=<TAG.AMOUNT> TAG.AMOUNT= ENDIF NEW.BOUNCE ENDWHILE
убрал IF (<TAG.AMOUNT> > 64999) до 20000 он мне вообще пыдает и +65к и 20к а хочу сделать чтоб максимум от 1к до 4к падало.. Извини если туплю, только учусь (IMG:style_emoticons/default/smile.gif)
и здесь почему то так же меняю вроде бы ставлю Rand 100 чтоб редко падало но всё равно падает часто, ставишь наоборот чтоб каждый раз падало все равно падает как и было, тоисть меняй как хочешь а остается как было с самого начало! в чём загвоздка?
1) IF (<TAG.AMOUNT> > 64999) NEW.AMOUNT=65000 TAG.AMOUNT -= 65000 ELSE
это защита "от дурака". Сфера не умеет "делать" кучки больше 16-тиричных FFFF тоесть 65535. Но "считать" умеет. По этому если надо создать кучку в, скажем, 80000 она создаст 2 кучки - 65000 и (80000-65000=) 15000.
Что бы уменьшить количество тебе надо править формулу tag.amount=(((<str>*27)/10)+(<str>/<eval({10 15})>)) это зависимость от силы. Либо уменьшай силу моба либо увеличивай делитель
Вообще мне это напоминает японские рпг с их 9999 левелами, уроном в 20000 и 88888888 жизнями. По дефолту золото весит не 0. По этому все хранится на виртуальном счете в банке в виде цифирок а не кучек. И снимается нужное количество либо чеком либо небольшой кучкой. А с мобов и сокровищ падает максимум пара тысяч золотых. Но фришардникам всего мало по этому и приходится так заплатить. И появились мобы с тысячами единиц лута и сотнями тысячами золотых в карманах. И персонажи наносящие по 10000 урона на крите.
2) IF (rand(20)==1) если случайно взятое число от 0 до 20 равно числу "1" (шанс 1к20) IF (rand(100)==1) если случайно взятое число от 0 до 100 равно числу "1" (шанс 1к100) DORAND 8 выпадает один из 8 нижеперечисленных предметов
1) IF (<TAG.AMOUNT> > 64999) NEW.AMOUNT=65000 TAG.AMOUNT -= 65000 ELSE
это защита "от дурака". Сфера не умеет "делать" кучки больше 16-тиричных FFFF тоесть 65535. Но "считать" умеет. По этому если надо создать кучку в, скажем, 80000 она создаст 2 кучки - 65000 и (80000-65000=) 15000.
Что бы уменьшить количество тебе надо править формулу tag.amount=(((<str>*27)/10)+(<str>/<eval({10 15})>)) это зависимость от силы. Либо уменьшай силу моба либо увеличивай делитель
Вообще мне это напоминает японские рпг с их 9999 левелами, уроном в 20000 и 88888888 жизнями. По дефолту золото весит не 0. По этому все хранится на виртуальном счете в банке в виде цифирок а не кучек. И снимается нужное количество либо чеком либо небольшой кучкой. А с мобов и сокровищ падает максимум пара тысяч золотых. Но фришардникам всего мало по этому и приходится так заплатить. И появились мобы с тысячами единиц лута и сотнями тысячами золотых в карманах. И персонажи наносящие по 10000 урона на крите.
2) IF (rand(20)==1) если случайно взятое число от 0 до 20 равно числу "1" (шанс 1к20) IF (rand(100)==1) если случайно взятое число от 0 до 100 равно числу "1" (шанс 1к100) DORAND 8 выпадает один из 8 нижеперечисленных предметов
теперь доходчиво и чётко! разобрался,Спасибо большое!:)