hlmod.hu
https://hlmod.hu/

Miért nem dropol a többi láda
https://hlmod.hu/viewtopic.php?f=9&t=30487
Oldal: 1 / 1

Szerző:  Alekvar [ 2020.06.22. 18:21 ]
Hozzászólás témája:  Miért nem dropol a többi láda

Sziasztok készítitetem egy láda dropot ami %-ra van megcsinálva, de csak az első láda dropol "Lada[0]"
Mi lehet a baja?

  1. public LadaDroppolas(id)
  2. {
  3.     new Players[32], Num, Nev[32];
  4.     get_players(Players, Num, "c");
  5.     get_user_name(id, Nev, 31);
  6.     new Float:RandomSzam = random_float(8.01, 100.00);
  7.  
  8.     if(RandomSzam <= 52.15)
  9.     {
  10.         Lada[0][id] ++;
  11.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[0][0]);
  12.     }
  13.     else if(RandomSzam <= 42.35)
  14.     {
  15.         Lada[1][id] ++;
  16.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[1][0]);
  17.     }
  18.     else if(RandomSzam <= 32.62)
  19.     {
  20.         Lada[2][id] ++;
  21.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[2][0]);
  22.     }
  23.     else if(RandomSzam <= 23.23)
  24.     {
  25.         Lada[3][id] ++;
  26.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[3][0]);
  27.     }
  28.     else if(RandomSzam <= 17.35)
  29.     {
  30.         Lada[4][id] ++;
  31.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[4][0]);
  32.     }
  33.     else if(RandomSzam <= 13.62)
  34.     {
  35.         Lada[5][id] ++;
  36.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[5][0]);
  37.     }
  38.     else if(RandomSzam <= 11.23)
  39.     {
  40.         Lada[6][id] ++;
  41.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[6][0]);
  42.     }
  43.     else if(RandomSzam <= 10.82)
  44.     {
  45.         Lada[7][id] ++;
  46.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[7][0]);
  47.     }
  48.     else if(RandomSzam <= 10.03)
  49.     {
  50.         Lada[8][id] ++;
  51.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[8][0]);
  52.     }
  53.     else if(RandomSzam <= 60.15)
  54.     {
  55.         Kulcs[id] ++;
  56.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4Kulcsot.", PR2);
  57.     }
  58. }

Szerző:  ultraibolya [ 2020.06.23. 08:15 ]
Hozzászólás témája:  Re: Miért nem dropol a többi láda

Egyértelmű hogy csak azt kapod.
Ha a random szám 8.01 és 52.15 között van,akkor csak 0-ás indexű ládát kapsz.
Ha nagyobb és benne van a 60.15ben akkor meg kulcsot.
Felette meg semmi sem történik gondolom így is akarod.
Milyen logika alapján mentél? Xd
Kezdj a kisebb számmal és úgy haladj felfelé. Így ahogy most van csak 2 dolog lehetséges:
-vagy nullás láda
-vagy kulcs
Hiába van a szám benne a 11-ben hogy a hatos ládát kapjad,már lefutott a nullásnál.
Nem rossz,tetszik hogy próbálkozol,de először a kicsivel kezdünk,különben mindig az első feltétel fog lefutni.

Szerző:  Tomii [ 2020.06.23. 18:26 ]
Hozzászólás témája:  Re: Miért nem dropol a többi láda

Helló!

Így próbáld:


  1. public LadaDroppolas(id)
  2. {
  3.     new Players[32], Num, Nev[32];
  4.     get_players(Players, Num, "c");
  5.     get_user_name(id, Nev, 31);
  6.     new Float:RandomSzam = random_float(8.01, 100.00);
  7.  
  8.     if(RandomSzam <= 10.15)
  9.     {
  10.         Lada[0][id] ++;
  11.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[0][0]);
  12.     }
  13.     else if(RandomSzam <= 25.35)
  14.     {
  15.         Lada[1][id] ++;
  16.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[1][0]);
  17.     }
  18.     else if(RandomSzam <= 35.62)
  19.     {
  20.         Lada[2][id] ++;
  21.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[2][0]);
  22.     }
  23.     else if(RandomSzam <= 45.23)
  24.     {
  25.         Lada[3][id] ++;
  26.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[3][0]);
  27.     }
  28.     else if(RandomSzam <= 55.35)
  29.     {
  30.         Lada[4][id] ++;
  31.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[4][0]);
  32.     }
  33.     else if(RandomSzam <= 65.62)
  34.     {
  35.         Lada[5][id] ++;
  36.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[5][0]);
  37.     }
  38.     else if(RandomSzam <= 75.23)
  39.     {
  40.         Lada[6][id] ++;
  41.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[6][0]);
  42.     }
  43.     else if(RandomSzam <= 85.82)
  44.     {
  45.         Lada[7][id] ++;
  46.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[7][0]);
  47.     }
  48.     else if(RandomSzam <= 95.03)
  49.     {
  50.         Lada[8][id] ++;
  51.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[8][0]);
  52.     }
  53.     else if(RandomSzam <= 99.00)
  54.     {
  55.         Kulcs[id] ++;
  56.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4Kulcsot.", PR2);
  57.     }
  58. }

Szerző:  ultraibolya [ 2020.06.23. 21:29 ]
Hozzászólás témája:  Re: Miért nem dropol a többi láda

húúú tényleg,én nem is ezt írtam le :o milyen buta vagyok

Tomii írta:
Helló!

Így próbáld:


  1. public LadaDroppolas(id)
  2. {
  3.     new Players[32], Num, Nev[32];
  4.     get_players(Players, Num, "c");
  5.     get_user_name(id, Nev, 31);
  6.     new Float:RandomSzam = random_float(8.01, 100.00);
  7.  
  8.     if(RandomSzam <= 10.15)
  9.     {
  10.         Lada[0][id] ++;
  11.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[0][0]);
  12.     }
  13.     else if(RandomSzam <= 25.35)
  14.     {
  15.         Lada[1][id] ++;
  16.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[1][0]);
  17.     }
  18.     else if(RandomSzam <= 35.62)
  19.     {
  20.         Lada[2][id] ++;
  21.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[2][0]);
  22.     }
  23.     else if(RandomSzam <= 45.23)
  24.     {
  25.         Lada[3][id] ++;
  26.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[3][0]);
  27.     }
  28.     else if(RandomSzam <= 55.35)
  29.     {
  30.         Lada[4][id] ++;
  31.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[4][0]);
  32.     }
  33.     else if(RandomSzam <= 65.62)
  34.     {
  35.         Lada[5][id] ++;
  36.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[5][0]);
  37.     }
  38.     else if(RandomSzam <= 75.23)
  39.     {
  40.         Lada[6][id] ++;
  41.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[6][0]);
  42.     }
  43.     else if(RandomSzam <= 85.82)
  44.     {
  45.         Lada[7][id] ++;
  46.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[7][0]);
  47.     }
  48.     else if(RandomSzam <= 95.03)
  49.     {
  50.         Lada[8][id] ++;
  51.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4%s-t.", PR2, LadaNevek[8][0]);
  52.     }
  53.     else if(RandomSzam <= 99.00)
  54.     {
  55.         Kulcs[id] ++;
  56.         ColorChat(id, GREEN, "%s ^3Találtál egy: ^4Kulcsot.", PR2);
  57.     }
  58. }

Szerző:  Alekvar [ 2020.06.23. 22:22 ]
Hozzászólás témája:  Re: Miért nem dropol a többi láda

Köszönöm, tényleg ez volt a probléma.

Ha azt szeretném, hogy ne legyen olyan magas a drop egyes ládának, akkor csak simán vegyem le 1.0-ra? (Mert jelenleg a lada[8] is dropol, akkor is ha 1 embert ölök meg, s nem a nagyobb dropút adja.)

Szerző:  ultraibolya [ 2020.06.24. 05:19 ]
Hozzászólás témája:  Re: Miért nem dropol a többi láda

Igazából be is zárhatod megadott értékekbe switch-el,talán az még szebb és könnyebb megadni a droppot:

new randszam=random_num(1,100) //100%

switch(randszam){

case 1..10:{
//10%os drop
}
case 11:{
//1%
}
case 12..50:{
//maradek amibol kap
}
case 51..100:{
//maradek ahonnan semmit nem kap
}
}


Ajánlanám inkább az egész számok használatát,felesleges ide float

Oldal: 1 / 1 Minden időpont UTC+01:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/