Witam, oto drugi temat z serii pozbycie się CurWeapon. Czas chyba raz na zawsze pozbyć się eventu CurWeapon. Teraz mam problem nie z błędem/bugiem tylko z 1 sprawą.
A więc tak jak ostatnio, sypne kodem, aby nie było wróżenia z fusów.
Do sprawdzenia czy gracz ma dozwoloną broń, inaczej restrykcji broni użyłem w plugin_init:
new WeaponName[24]; for(new i = CSW_P228; i <= CSW_P90; i++){ if(i == 2) continue; get_weaponname(i, WeaponName, 23); RegisterHam(Ham_Item_Deploy, WeaponName, "Item_Deploy_Post", 1); }
w zmiennych globalnych ustawiłem:
new weaponname[24];
Next:
public Item_Deploy_Post(ent) { static id; id = get_pdata_cbase(ent, 41, 4); if(!is_user_alive(id)) return; static team; team = get_user_team(id); if(team > 2) return; static bron; bron = cs_get_weapon_id(ent); if(!((1<<bron) & (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_druzyny[team] | bronie_dozwolone))) { get_weaponname(bron, weaponname, 23); engclient_cmd(id, "drop", weaponname); } if(cs_get_user_shield(id) && !gracz_ma_tarcze[id]) engclient_cmd(id, "drop", "weapon_shield"); }
Kod ładnie działa jak należy, sprawa polega na tym, jak ustawić, aby jak dołączysz do serwera (a nie wybierzesz klasy/ lub wybierzesz klase) to automatycznie usuwają się bronie podstawowe drużyny glock/usp, jak ustawić aby te bronie się nie usuwały? Mam takie przyzwyczajenie, aby klasa miała 2 pistolety (ten jaki ma być naprawdę oraz ten 1 podstawowy jako dodatkowy). P.S w 1 rundzie zawsze usuwają się te pistolety, ale jak zginę pierwszy raz i się odrodzę to jest już normalnie 2 pistolety.
W zmiennych mam przecież:
new bronie_druzyny[] = {0, 1<<CSW_GLOCK18, 1<<CSW_USP}, bronie_dozwolone = 1<<CSW_KNIFE | 1<<CSW_C4;
Mam nadzieję, że ktoś rozumie to co chciałem przekazać.
Pozdrawiam.