hlmod.hu
https://hlmod.hu/

Játékos modellek nyitása ládából
https://hlmod.hu/viewtopic.php?f=9&t=31593
Oldal: 1 / 1

Szerző:  ASDD [2024.09.02. 13:37 ]
Hozzászólás témája:  Játékos modellek nyitása ládából

Sziasztok.

Olyan kérdésem lenne hogyan tudnám megvalósítani, hogy játékos modelleket lehessen nyitni ládából?
Csatolok egy forráskód (részletet) amit jelenleg képvisel a módom.

Csatolmányok:
részlet.sma [3.54KiB]
Letöltve 108 alkalommal.

Szerző:  exodus [2025.01.17. 18:37 ]
Hozzászólás témája: 

Úgy, hogy egy változót használsz a modellek megjelenítésére.

Szerző:  Csabika20034 [2025.01.17. 19:36 ]
Hozzászólás témája: 

Utoljára aktív: 2024.10.09. 20:04
Bár nem hiszem hogy érdekli már a dolog

Szerző:  ✪ BeNiCh' [2025.12.24. 22:10 ]
Hozzászólás témája:  Re: Játékos modellek nyitása ládából

Először is létre kell hoznod egy listát az elérhető karakter modellekről.

  1. new g_PlayerModels[5][] = {
  2.     "models/player/custom_model_1.mdl",   // Model 1
  3.     "models/player/custom_model_2.mdl",   // Model 2
  4.     "models/player/custom_model_3.mdl",   // Model 3
  5.     "models/player/custom_model_4.mdl",   // Model 4
  6.     "models/player/custom_model_5.mdl"    // Model 5
  7. };

Modell Kiválasztása a Ládából

A láda nyitásakor véletlenszerűen kiválasztasz egy modellt a fenti listából, majd hozzárendeled a játékoshoz.

Például az alábbi módon módosíthatod a Droppolas függvényt:
  1. public Droppolas(id)
  2. {
  3.     new Float:RandomSzam = random_float(0.01, 100.00);
  4.     new Nev[32]; get_user_name(id, Nev, 31);
  5.  
  6.     if (RandomSzam <= 1.00) {
  7.         Lada[5][id]++;
  8.         client_printcolor(0, "!g%s !t%s !nTalálta ezt: !gKés Láda.", C_Prefix, Nev);
  9.         // Véletlenszerű játékos modell hozzárendelése a ládához
  10.         new random_model = random(sizeof(g_PlayerModels));  // Véletlenszerű modell kiválasztása
  11.         set_user_model(id, g_PlayerModels[random_model]);  // Játékos modelljének beállítása
  12.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy új karaktermodellt: ^4%s.", g_PlayerModels[random_model]);
  13.     }
  14.     else if (RandomSzam <= 1.50) {
  15.         Lada[4][id]++;
  16.         client_printcolor(0, "!g%s !t%s !nTalálta ezt: !gStatTrak Láda.", C_Prefix, Nev);
  17.         // További láda típusok itt
  18.     }
  19.     else if (RandomSzam <= 9.95) {
  20.         Lada[3][id]++;
  21.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Skin Pack Ládát.");
  22.     }
  23.     else if (RandomSzam <= 11.00) {
  24.         Lada[2][id]++;
  25.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Egyedi Ládát.");
  26.     }
  27.     else if (RandomSzam <= 15.25) {
  28.         Lada[1][id]++;
  29.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Kiválaszott Ládát.");
  30.     }
  31.     else if (RandomSzam <= 17.10) {
  32.         Lada[0][id]++;
  33.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Szerencse Ládát.");
  34.     }
  35.     else if (RandomSzam <= 21.05) {
  36.         Kulcs[id]++;
  37.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Kulcsot.");
  38.     }
  39. }

Modell Beállítása Játékosnál

Miután véletlenszerűen kiválasztottad a modellt, a set_user_model() függvénnyel beállíthatod a játékos modelljét:
  1. set_user_model(id, g_PlayerModels[random_model]);  // Játékos modelljének beállítása


  1. public Droppolas(id)
  2. {
  3.     new Float:RandomSzam = random_float(0.01, 100.00);
  4.     new Nev[32]; get_user_name(id, Nev, 31);
  5.  
  6.     // Véletlenszerű szám generálás
  7.     if (RandomSzam <= 1.00) {
  8.         Lada[5][id]++;
  9.         client_printcolor(0, "!g%s !t%s !nTalálta ezt: !gKés Láda.", C_Prefix, Nev);
  10.  
  11.         // Véletlenszerű játékos modell hozzárendelése a ládához
  12.         new random_model = random(sizeof(g_PlayerModels));  // Véletlenszerű modell kiválasztása
  13.         set_user_model(id, g_PlayerModels[random_model]);  // Játékos modelljének beállítása
  14.  
  15.         // Üzenet, hogy a játékos megtalálta az új modellt
  16.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy új karaktermodellt: ^4%s.", g_PlayerModels[random_model]);
  17.     }
  18.     else if (RandomSzam <= 1.50) {
  19.         Lada[4][id]++;
  20.         client_printcolor(0, "!g%s !t%s !nTalálta ezt: !gStatTrak Láda.", C_Prefix, Nev);
  21.         // Itt is véletlenszerűen kiválaszthatsz modelleket
  22.     }
  23.     else if (RandomSzam <= 9.95) {
  24.         Lada[3][id]++;
  25.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Skin Pack Ládát.");
  26.     }
  27.     else if (RandomSzam <= 11.00) {
  28.         Lada[2][id]++;
  29.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Egyedi Ládát.");
  30.     }
  31.     else if (RandomSzam <= 15.25) {
  32.         Lada[1][id]++;
  33.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Kiválaszott Ládát.");
  34.     }
  35.     else if (RandomSzam <= 17.10) {
  36.         Lada[0][id]++;
  37.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Szerencse Ládát.");
  38.     }
  39.     else if (RandomSzam <= 21.05) {
  40.         Kulcs[id]++;
  41.         ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Kulcsot.");
  42.     }
  43. }

próba

Szerző:  ✪ BeNiCh' [2025.12.24. 22:26 ]
Hozzászólás témája: 

Ez engem is érdekelne.

UI - próbálok majd valami ilyesmit

Szerző:  Csabika20034 [2025.12.24. 23:56 ]
Hozzászólás témája: 

Off Topic
Ebből ki tudsz indulni, ha értesz hozza.

  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <hamsandwich>
  4.  
  5. #define MAX_MODELS 5
  6.  
  7. new const g_PlayerModels[MAX_MODELS][] = {
  8.     "player/terror/male_01.mdl",
  9.     "player/terror/male_02.mdl",
  10.     "player/terror/male_03.mdl",
  11.     "player/ctm/urban.mdl",
  12.     "player/ctm/gign.mdl"
  13. };
  14.  
  15. public plugin_init()
  16. {
  17.     register_plugin("Láda Model Teszt", "1.0", "Csabika20034");
  18.     register_clcmd("say /nyitas", "Cmd_OpenBox");
  19. }
  20.  
  21. public Cmd_OpenBox(id)
  22. {
  23.     if (!is_user_alive(id))
  24.     {
  25.         client_print(id, print_chat, "Nem tudsz ládát nyitni, mert halott vagy!");
  26.         return PLUGIN_HANDLED;
  27.     }
  28.    
  29.     new modelIndex = get_rand(0, MAX_MODELS - 1);
  30.     set_user_model(id, g_PlayerModels[modelIndex]);
  31.    
  32.     client_print(id, print_chat, "Gratulálunk! Kinyitottad a ládát és a következő modelt kaptad: %s", g_PlayerModels[modelIndex]);
  33.     return PLUGIN_HANDLED;
  34. }
  35.  
  36. // Egyszerű random függvény
  37. stock get_rand(min, max)
  38. {
  39.     return min + random_int(0, max - min);
  40. }

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