hlmod.hu
https://hlmod.hu/

Mindenkitől fegyver elvétel
https://hlmod.hu/viewtopic.php?f=9&t=23959
Oldal: 1 / 1

Szerző:  Patrik3 [2016.02.11. 09:24 ]
Hozzászólás témája:  Mindenkitől fegyver elvétel

Sziasztok!
Hogy lehet megoldani, hogy pl. rányomok egy előugró menüben arra, hogy Kés Kör(dr), és akkor mindenkitől elvegye a fegyvereket, csak a kés maradjon.

  1. strip_user_weapons(0)
Ezzel, igaz?

Szerző:  SZILARD [2016.02.11. 10:00 ]
Hozzászólás témája:  Re: Mindenkitől fegyver elvétel

  1. strip_user_weapons()
  2. give_item(id, "weapon_knife")

Szerző:  Akosch:. [2016.02.11. 17:00 ]
Hozzászólás témája:  Re: Mindenkitől fegyver elvétel

  1. static cell AMX_NATIVE_CALL strip_user_weapons(AMX *amx, cell *params) // index
  2. {
  3.     CHECK_PLAYER(params[1]);
  4.  
  5.     edict_t* pPlayer = TypeConversion.id_to_edict(params[1]);
  6.  
  7.     string_t item = MAKE_STRING("player_weaponstrip");
  8.     edict_t *pent = CREATE_NAMED_ENTITY(item);
  9.  
  10.     if (FNullEnt(pent))
  11.     {
  12.         return 0;
  13.     }
  14.  
  15.     MDLL_Spawn(pent);
  16.     MDLL_Use(pent, pPlayer);
  17.     REMOVE_ENTITY(pent);
  18.  
  19.     *reinterpret_cast<int *>(MF_PlayerPropAddr(params[1], Player_CurrentWeapon)) = 0;
  20.  
  21.     return 1;
  22. }


  1. #define CHECK_PLAYER(x) \
  2.     if (x < 1 || x > gpGlobals->maxClients) { \
  3.         MF_LogError(amx, AMX_ERR_NATIVE, "Player out of range (%d)", x); \
  4.         return 0; \
  5.     } else { \
  6.         if (!MF_IsPlayerIngame(x) || FNullEnt(TypeConversion.id_to_edict(x))) { \
  7.             MF_LogError(amx, AMX_ERR_NATIVE, "Invalid player %d", x); \
  8.             return 0; \
  9.         } \
  10.     }


Egyesével kell mindenkinek törölnöd.

Szerző:  Patrik3 [2016.02.11. 19:13 ]
Hozzászólás témája:  Re: Mindenkitől fegyver elvétel

Akosch:. írta:
  1. static cell AMX_NATIVE_CALL strip_user_weapons(AMX *amx, cell *params) // index
  2. {
  3.     CHECK_PLAYER(params[1]);
  4.  
  5.     edict_t* pPlayer = TypeConversion.id_to_edict(params[1]);
  6.  
  7.     string_t item = MAKE_STRING("player_weaponstrip");
  8.     edict_t *pent = CREATE_NAMED_ENTITY(item);
  9.  
  10.     if (FNullEnt(pent))
  11.     {
  12.         return 0;
  13.     }
  14.  
  15.     MDLL_Spawn(pent);
  16.     MDLL_Use(pent, pPlayer);
  17.     REMOVE_ENTITY(pent);
  18.  
  19.     *reinterpret_cast<int *>(MF_PlayerPropAddr(params[1], Player_CurrentWeapon)) = 0;
  20.  
  21.     return 1;
  22. }


  1. #define CHECK_PLAYER(x) \
  2.     if (x < 1 || x > gpGlobals->maxClients) { \
  3.         MF_LogError(amx, AMX_ERR_NATIVE, "Player out of range (%d)", x); \
  4.         return 0; \
  5.     } else { \
  6.         if (!MF_IsPlayerIngame(x) || FNullEnt(TypeConversion.id_to_edict(x))) { \
  7.             MF_LogError(amx, AMX_ERR_NATIVE, "Invalid player %d", x); \
  8.             return 0; \
  9.         } \
  10.     }


Egyesével kell mindenkinek törölnöd.


Ennyi nem elég?
  1. strip_user_weapons(0)

Mert elméletileg igen

Szerző:  Akosch:. [2016.02.11. 19:21 ]
Hozzászólás témája:  Re: Mindenkitől fegyver elvétel

Viccből kerestem ki neked a funkció forrását........
Próbáld ki gyakorlatban ( bár ugye próbával kezdünk, aztán ha nem megy kérdezünk, szóval már tudod is ;) ).

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