Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Помогите разобратся, дроп с монтсров
Новичёк
сообщение 20.12.2017, 21:52
Сообщение #1


**

Neophyte
Сообщений: 21
Регистрация: 20.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.751
Возраст: 20



Помогите понять как это всё вычисляется и происходит
Хочу сделать чтоб с монстра падали редко эти боксы, я так понимаю это в 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


Это уже вещи из бокса
Код

[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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
$yst3m_3rr0r
сообщение 21.12.2017, 0:25
Сообщение #2


****

Apprentice
Сообщений: 262
Регистрация: 16.11.2010
Группа: Пользователи
Наличность: 7115
Из: United Kingdom
Пользователь №: 13.193



Цитата(Новичёк @ 20.12.2017, 22:52) *

а я бы хотел сделать чтоб бокс выпадал примерно 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 .... Ты сам то как хочешь ?


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Pickaxe
сообщение 21.12.2017, 20:36
Сообщение #3


**

Группа: Пользователи
Наличность: 0
Пользователь №: 18.721
Возраст: 26



там походу надо не только в одном месте корректировать шансы... видеть бы более скрипт чтоб окончательно понять.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Новичёк
сообщение 23.12.2017, 13:33
Сообщение #4


**

Neophyte
Сообщений: 21
Регистрация: 20.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.751
Возраст: 20



ребят,я бы хотел чтоб шанс был минимум... где-то 3%
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Новичёк
сообщение 24.12.2017, 13:21
Сообщение #5


**

Neophyte
Сообщений: 21
Регистрация: 20.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.751
Возраст: 20



поможет кто нибудь?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Atheist
сообщение 24.12.2017, 15:11
Сообщение #6


********

Master
Сообщений: 1.272
Регистрация: 1.3.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 5.330



вникай в математику, меняй формулу
тут ничего особенного нет и за тебя это делать вряд ли кто станет


--------------------
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
$yst3m_3rr0r
сообщение 25.12.2017, 0:32
Сообщение #7


****

Apprentice
Сообщений: 262
Регистрация: 16.11.2010
Группа: Пользователи
Наличность: 7115
Из: United Kingdom
Пользователь №: 13.193



Цитата(Новичёк @ 23.12.2017, 14:33) *

ребят,я бы хотел чтоб шанс был минимум... где-то 3%


Ты просил
Цитата
я бы хотел сделать чтоб бокс выпадал примерно 20% шанс его найти.

Я тебе написал ответ:
Код
IF (20 > <R100>) //20%
Ну, так поменяй число на то, которое тебе угодно ...


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Новичёк
сообщение 4.1.2018, 16:34
Сообщение #8


**

Neophyte
Сообщений: 21
Регистрация: 20.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.751
Возраст: 20



Цитата($yst3m_3rr0r @ 24.12.2017, 23:32) *

Ты просил
Я тебе написал ответ:
Код
IF (20 > <R100>) //20%
Ну, так поменяй число на то, которое тебе угодно ...

спасибо,понял, получилось!
Еще вопрос а как здесь уменьшить дроп золота?

Код
[function loot_gold]
IF (<tag0.ph>==1)
    tag.amount=(((<str>*27)/10)+(<str>/<eval({10 15})>))
ELIF (<TAG0.LOST>==1)
    tag.amount=(((<str>*60)/10)+(<str>/<eval({10 15})>))
ELSE
    tag.amount=(((<str>*18)/10)+(<str>/<eval({10 15})>))
ENDIF

STATSCOUNT GOLD,<tag.amount>

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 чтоб редко падало но всё равно падает часто, ставишь наоборот чтоб каждый раз падало все равно падает как и было, тоисть меняй как хочешь а остается как было с самого начало! в чём загвоздка?
Код
IF (rand(20)==1)
        DORAND 8
            NEWITEM i_elfian_cloak
            NEWITEM i_elfian_sandals
            NEWITEM i_elfian_ringmail_tunic
            NEWITEM i_elfian_ringmail_gloves
            NEWITEM i_elfian_ringmail_sleeves
            NEWITEM i_elfian_ringmail_leggings
            NEWITEM i_elfian_bow
            NEWITEM i_elfian_mustang
        ENDDO
        NEW.TAG.LOOT=1
        NEW.TAG.IDE=1000
        NEW.BOUNCE
        STATSCOUNT ELFITEM,1
    ENDIF
    RETURN 0
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 5.1.2018, 6:55
Сообщение #9


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



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 нижеперечисленных предметов


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Новичёк
сообщение 5.1.2018, 12:10
Сообщение #10


**

Neophyte
Сообщений: 21
Регистрация: 20.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.751
Возраст: 20



Цитата(Mirage @ 5.1.2018, 5:55) *

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 нижеперечисленных предметов


теперь доходчиво и чётко! разобрался,Спасибо большое!:)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 20:32
Designed by Nickostyle