←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak zrobić zeby gracz dostawała 2 losowe b...

  • +
  • -
Andrzejek - zdjęcie Andrzejek 01.04.2013

Tak jak w temacie, poniżej wam dam jak losuje 1 broń długą i 1 broń krótką, a jak zrobić żeby losowało 2 bronie długie i 1 broń krótką?

new const podstawowa_weapon[18][]= { "weapon_m4a1", "weapon_ak47", "weapon_galil", "weapon_famas", "weapon_awp", "weapon_scout", "weapon_sg552", "weapon_aug", "weapon_g3sg1", "weapon_sg550", "weapon_mp5navy", "weapon_tmp", "weapon_p90", "weapon_mac10", "weapon_ump45", "weapon_m3", "weapon_xm1014", "weapon_m249"  }
new const podstawowa_csw[] = { CSW_M4A1, CSW_AK47, CSW_GALIL, CSW_FAMAS, CSW_AWP, CSW_SCOUT, CSW_SG552, CSW_AUG, CSW_G3SG1, CSW_SG550, CSW_MP5NAVY, CSW_TMP, CSW_P90, CSW_MAC10, CSW_UMP45, CSW_M3, CSW_XM1014, CSW_M249 }
new const podstawowa_ammo[] = { 90, 90, 90, 90, 30, 90, 90, 90 ,90, 90, 120, 120, 100, 100, 100, 32, 32, 200 }

new const druga_weapon[6][] = { "weapon_deagle", "weapon_usp", "weapon_glock18", "weapon_elite", "weapon_p228", "weapon_fiveseven" }
new const druga_csw[] = { CSW_DEAGLE, CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_P228, CSW_FIVESEVEN }
new const druga_ammo[] = { 35, 100, 120, 120, 52, 100 }


public LosujBRON()
{
new bron_dluga, bron_krotka
bron_dluga = random_num(1, 17)
bron_krotka = random_num(1, 6)

for(new i = 1; i <= 32; i++)
{
player_strip_weapons(i)
cs_set_user_armor(i, 100, CS_ARMOR_VESTHELM)
give_item(i, podstawowa_weapon[bron_dluga-1])
cs_set_user_bpammo(i, podstawowa_csw[bron_dluga-1], podstawowa_ammo[bron_dluga-1])
give_item(i, druga_weapon[bron_krotka-1])
cs_set_user_bpammo(i, druga_csw[bron_krotka-1], druga_ammo[bron_krotka-1])
}
}
Odpowiedz

  • +
  • -
Albertd - zdjęcie Albertd 01.04.2013




public LosujBRON()

{

new bron_dluga, bron_krotka, bron_dluga2

bron_dluga = random_num(1, 17)

bron_dluga2 = random_num(1, 17)

bron_krotka = random_num(1, 6)



for(new i = 1; i <= 32; i++)

{

player_strip_weapons(i)

cs_set_user_armor(i, 100, CS_ARMOR_VESTHELM)

give_item(i, podstawowa_weapon[bron_dluga-1])

cs_set_user_bpammo(i, podstawowa_csw[bron_dluga-1], podstawowa_ammo[bron_dluga-1])

give_item(i, podstawowa_weapon[bron_dluga2-1])

cs_set_user_bpammo(i, podstawowa_csw[bron_dluga2-1], podstawowa_ammo[bron_dluga2-1])

give_item(i, druga_weapon[bron_krotka-1])

cs_set_user_bpammo(i, druga_csw[bron_krotka-1], druga_ammo[bron_krotka-1])

}

}
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 01.04.2013

A jaka jest szansa że wylosuje te same bronie? Fajnie by było żeby się nie bugowalo
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 01.04.2013

Szansa, że wylosuje te same jest 1/17 :)
Tu masz małą przeróbkę z szansą 0 (jak wylosuje te same, losuje jeszcze raz). Mało optymalne, ale w jakich okolicznościach 5x pod rząd wylosowałoby tą samą liczbę? Jak chcesz optymalniejsze, stablicuj sobie numery broni, a po wylosowaniu usuń komórkę, którą wylosowałeś.
new bron_dluga, bron_krotka, bron_dluga2
bron_dluga = random_num(1, 17)
do
bron_dluga2 = random_num(1, 17)
while(bron_dluga==bron_dluga2);
bron_krotka = random_num(1, 6)

Użytkownik GwynBleidD edytował ten post 01.04.2013 01:57
Odpowiedz

  • +
  • -
Albertd - zdjęcie Albertd 01.04.2013




public LosujBRON()

{

new bron_dluga, bron_krotka, bron_dluga2

bron_dluga = random_num(1, 17)

bron_dluga2 = random_num(1, 17)

bron_krotka = random_num(1, 6)

while( bron_dluga == bron_dluga2 ){

bron_dluga2 = random_num( 1. 17 )

}

for(new i = 1; i <= 32; i++)

{

player_strip_weapons(i)

cs_set_user_armor(i, 100, CS_ARMOR_VESTHELM)

give_item(i, podstawowa_weapon[bron_dluga-1])

cs_set_user_bpammo(i, podstawowa_csw[bron_dluga-1], podstawowa_ammo[bron_dluga-1])

give_item(i, podstawowa_weapon[bron_dluga2-1])

cs_set_user_bpammo(i, podstawowa_csw[bron_dluga2-1], podstawowa_ammo[bron_dluga2-1])

give_item(i, druga_weapon[bron_krotka-1])

cs_set_user_bpammo(i, druga_csw[bron_krotka-1], druga_ammo[bron_krotka-1])

}

}
Odpowiedz