Здравствуйте, вот скрипт, ну хочу сделать так чтоб он по группам был и выдавал только с одной группы по ранду. А то он выдает итем с одной группы и с другой сразу тоже, а нужно чтоб давал только с одной и один итем. Он например нажимаю дает i_aqua с 8 группы и с 6 группы tm_dm сразу, а надо чтоб с одной группы только давал. и одну вещь.
IF (rand(2)==1) // 9 grupa
DORAND 2
NEWITEM i_1000exp
NEWITEM I_100k
ENDDO
NEW.BOUNCE
ENDIF
IF (rand(2)==1) // 8 grupa
DORAND 26
NEWITEM rand_random_oldparadise
NEWITEM rand_random_aqua
NEWITEM rand_random_glory
NEWITEM rand_random_acid
NEWITEM i_aqua
NEWITEM i_glory
NEWITEM i_aqua_ringmail
NEWITEM i_glory_ringmail
NEWITEM i_aqua_chainmail
NEWITEM i_glory_chainmail
NEWITEM i_OldParadise_shield_round_metal
NEWITEM i_aqua_shield_round_metal
NEWITEM i_glory_shield_round_metal
NEWITEM i_cargo_shield_round_metal
NEWITEM i_OldParadise_shield_kite_metal
NEWITEM i_aqua_shield_kite_metal
NEWITEM i_glory_shield_kite_metal
NEWITEM i_cargo_shield_kite_metal
NEWITEM i_OldParadise_shield_heater
NEWITEM i_aqua_shield_heater
NEWITEM i_cargo_shield_heater
NEWITEM i_arian_bow
NEWITEM i_frozen_bow
NEWITEM i_club_arian
NEWITEM i_club_frozen
NEWITEM i_blackdragon_Studded
ENDDO
NEW.BOUNCE
ENDIF
IF (rand(2)==1) // 7 grupa
DORAND 34
NEWITEM i_full_spellbook
NEWITEM i_oldparadise
NEWITEM i_oldparadise_ringmail
NEWITEM i_oldparadise_chainmail
NEWITEM i_club_terium
NEWITEM i_terium_bow
NEWITEM i_shield_terium
NEWITEM i_sash_Stamina5
NEWITEM i_barbarian_helm
NEWITEM i_barbarian_chest
NEWITEM i_barbarian_gloves
NEWITEM i_barbarian_arms
NEWITEM i_barbarian_leggings
NEWITEM i_barbarian_gorget
NEWITEM i_barbarian_shield
NEWITEM i_barbarian_hope
NEWITEM i_barbarian_mace
NEWITEM i_necro_shield
NEWITEM i_necro_helmet
NEWITEM i_necro_gloves
NEWITEM i_necro_leggings
NEWITEM i_necro_chest
NEWITEM i_necro_arms
NEWITEM i_necro_destroyer
NEWITEM i_necro_cape
NEWITEM i_necro_wand
NEWITEM i_Elfian_ringmail_tunic
NEWITEM i_Elfian_ringmail_gloves
NEWITEM i_Elfian_ringmail_sleeves
NEWITEM i_Elfian_ringmail_leggings
NEWITEM i_Elfian_Cloak
NEWITEM i_Elfian_Sandals
NEWITEM i_Elfian_Bow
NEWITEM i_Elfian_Mustang
ENDDO
NEW.BOUNCE
ENDIF
IF (rand(2)==1) // 6 grupa
DORAND 18
NEWITEM i_sash_mana20
NEWITEM i_sash_health10
NEWITEM i_light_mage
NEWITEM tm_fire
NEWITEM tm_air
NEWITEM tm_dm
NEWITEM tm_earth
NEWITEM i_luxor_leggings
NEWITEM i_luxor_female
NEWITEM i_luxor_shroud
NEWITEM i_luxor_symbol
NEWITEM i_luxor_llama
NEWITEM i_skill_bracelet
NEWITEM i_skill_mask
NEWITEM i_skill_robe
NEWITEM i_skill_cloak
NEWITEM i_spell_cloak
NEWITEM i_spell_robe
ENDDO
NEW.BOUNCE
ENDIF
IF (rand(2)==1) // 5 grupa
DORAND 30
NEWITEM i_fury_staff
NEWITEM i_club_cargo
NEWITEM i_shield_blessed
NEWITEM i_cargon_bow
NEWITEM i_bottle_repair50
NEWITEM i_cargo
NEWITEM i_cargo_ringmail
NEWITEM i_cargo_chainmail
NEWITEM i_luxor_female
NEWITEM i_luxor_shroud
NEWITEM i_luxor_symbol
NEWITEM i_luxor_llama
NEWITEM i_skill_bracelet
NEWITEM i_skill_mask
NEWITEM i_skill_robe
NEWITEM i_skill_cloak
NEWITEM i_spell_cloak
NEWITEM i_spell_robe
NEWITEM i_bracelet_hp3
NEWITEM i_bracelet_stam3
NEWITEM i_bracelet_mana3
NEWITEM i_earrings_hp3
NEWITEM i_earrings_mana3
NEWITEM i_earrings_stam3
NEWITEM i_ring_hp3
NEWITEM i_ring_mana3
NEWITEM i_ring_stam3
NEWITEM i_necklace_hp3
NEWITEM i_necklace_mana3
NEWITEM i_necklace_stam3
ENDDO
NEW.BOUNCE
ENDIF
IF (rand(2)==1) // 4 grupa
DORAND 6
NEWITEM i_cloth_dye
NEWITEM i_hair_dye
NEWITEM i_bottle_repair200
NEWITEM i_cargo_Studded
NEWITEM i_club_newbie_frozen
NEWITEM i_frozen_newbie_bow
ENDDO
NEW.BOUNCE
ENDIF
вместо if - elseif начиная со 2й по порядку группы
хотя я себе с трудом представляю как он доберется до последней группы с таким rand.
Да хорошо все падает с таким рандом. Ну вопрос теперь такой, как поставить мне правильнее процент выпада?
(rand(99)>28) //72%
Или
IF (rand(2)==1)
Группа 1 - шанс 2%
Группа 2 - шанс 4%
Группа 3 - шанс 4%
Группа 4 - шанс 4%
Группа 5 - шанс 4%
Группа 6 - шанс 5%
Группа 7 - шанс 7%
Группа 8 - шанс 7%
Группа 9 - шанс 63%
facepalm.jpg
if rand(100) < 4
что тебе еще надо человече?
rollResult = rand(100)
if(rollResult < 2)
// группа 1
else if(rollResult < 6)
// группа 2
else if(rollResult < 10)
// группа 3
Тогда у него в любом случае что-то выпадет...
а ведь есть шанс что не выпадет ничего.
нужно именно каждый раз новое число генерировать. иначе не получится одинаковый шанс в 4%.
Можно вообще сделать вот так {1 2 2 4 3 4 4 4 5 4 5 5 9 63 0 37}
а потом использоваться doswitch
Jakut здорово ты еще жив все с олдп капаешся 5 лет прошло а нефига не поменялось пора работать детей иметь :-):-) а ты все с олдп ...копируешь
Можно сделать так:
[DEFNAME LOTTO_GROUPS]
LOTTO_GROUP_4 {i_frozen_newbie_bow 1 i_club_newbie_frozen 1 i_cargo_Studded 1 i_bottle_repair200 1 i_hair_dye 1 i_cloth_dye 1}
LOTTO_GROUP_5 {i_ring_hp3 1 i_ring_mana3 1 i_ring_stam3 1 i_necklace_hp3 1 i_necklace_mana3 1 i_necklace_stam3 1}
LOTTO_GROUP_6 {i_luxor_llama 1 i_skill_bracelet 1 i_skill_mask 1 i_skill_robe 1 i_skill_cloak 1 i_spell_cloak 1 i_spell_robe 1}
LOTTO_GROUP_7 {i_Elfian_ringmail_leggings 1 i_Elfian_Cloak 1 i_Elfian_Sandals 1 i_Elfian_Bow 1 i_Elfian_Mustang 1}
LOTTO_GROUP_8 {i_cargo_shield_heater 1 i_arian_bow 1 i_frozen_bow 1 i_club_arian 1 i_club_frozen 1 i_blackdragon_Studded 1}
LOTTO_GROUP_9 {i_1000exp 1 I_100k 1}
[TEMPLATE LOTTO_REWARD]
ITEM={LOTTO_GROUP_4 1 LOTTO_GROUP_5 1 LOTTO_GROUP_6 1 LOTTO_GROUP_7 1 LOTTO_GROUP_8 1 LOTTO_GROUP_9 1}
// ...
NEWITEM LOTTO_REWARD
NEW.BOUNCE
[TEMPLATE LOTTO_REWARD]
ITEM={LOTTO_GROUP_1 2 LOTTO_GROUP_2 4 LOTTO_GROUP_3 4 LOTTO_GROUP_4 4 LOTTO_GROUP_5 4 LOTTO_GROUP_6 5 LOTTO_GROUP_7 7 LOTTO_GROUP_8 7 LOTTO_GROUP_9 63}
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)