hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.04. 21:01



Jelenlévő felhasználók

Jelenleg 258 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 258 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: paradoxon zp-s fegyó
HozzászólásElküldve: 2013.01.04. 22:00 
Offline
Őskövület
Avatar

Csatlakozott: 2011.09.26. 20:33
Hozzászólások: 2105
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 33 alkalommal
hi
azzal a problémával szembesültem hogy beraktam egy zp-s fegyót (úgy mint szoktam) plugin neve a plugins.ini-be, lefut hiba nélkül, modelleket le is szedi, de ha beírom hogy say /stg44master, nem történik semmi, pedig mindent jól csináltam, a szerveren nem fut semmi say parancs gátló plugin mert a régiek működnek csak ez nem, nem értem :P
edit: ezt a hibát írta a konzol: [AMXX] Run time error 10 (plugin "dm_stg44master.amxx") (native "RegisterHam") - debug not enabled!

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #include <amxmodx>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <fun>
  6. #include <hamsandwich>
  7. #include <xs>
  8. #include <cstrike>
  9.  
  10. #define ENG_NULLENT -1
  11. #define EV_INT_WEAPONKEY EV_INT_impulse
  12. #define stg44master_WEAPONKEY 7613749
  13. #define MAX_PLAYERS 32
  14. #define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
  15.  
  16. const USE_STOPPED = 0
  17. const OFFSET_ACTIVE_ITEM = 373
  18. const OFFSET_WEAPONOWNER = 41
  19. const OFFSET_LINUX = 5
  20. const OFFSET_LINUX_WEAPONS = 4
  21.  
  22. #define WEAP_LINUX_XTRA_OFF 4
  23. #define m_fKnown 44
  24. #define m_flNextPrimaryAttack 46
  25. #define m_flTimeWeaponIdle 48
  26. #define m_iClip 51
  27. #define m_fInReload 54
  28. #define PLAYER_LINUX_XTRA_OFF 5
  29. #define m_flNextAttack 83
  30.  
  31. #define stg44master_RELOAD_TIME 3.0
  32. #define stg44master_RELOAD 1
  33. #define stg44master_DRAW 2
  34. #define stg44master_SHOOT1 3
  35. #define stg44master_SHOOT2 4
  36.  
  37. #define write_coord_f(%1) engfunc(EngFunc_WriteCoord,%1)
  38.  
  39. new const Fire_Sounds[][] = { "weapons/stg44_shoot1.wav" }
  40.  
  41. new stg44master_V_MODEL[64] = "models/tattoo2/v_stg44_master.mdl"
  42. new stg44master_P_MODEL[64] = "models/zm/p_stg44_master.mdl"
  43. new stg44master_W_MODEL[64] = "models/zm/w_stg44_master.mdl"
  44.  
  45. new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }
  46.  
  47. new cvar_dmg_stg44master, cvar_recoil_stg44master, g_itemid_stg44master, cvar_clip_stg44master, cvar_spd_stg44master, cvar_stg44master_ammo
  48. new g_MaxPlayers, g_orig_event_stg44master, g_IsInPrimaryAttack
  49. new Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2]
  50. new g_has_stg44master[33], g_clip_ammo[33], g_stg44master_TmpClip[33], oldweap[33]
  51. new gmsgWeaponList
  52.  
  53. const PRIMARY_WEAPONS_BIT_SUM =
  54. (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
  55. CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
  56. new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
  57. "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
  58. "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
  59. "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
  60. "weapon_ak47", "weapon_knife", "weapon_p90" }
  61.  
  62. public plugin_init()
  63. {
  64. register_plugin("[ZP] Extra: stg44master Basic Edition", "1.0", "Crock / =) (Poprogun4ik) / LARS-DAY[BR]EAKER")
  65. register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
  66. register_event("CurWeapon","CurrentWeapon","be","1=1")
  67. RegisterHam(Ham_Item_AddToPlayer, "weapon_galil", "fw_stg44master_AddToPlayer")
  68. RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1)
  69. RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1)
  70. RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1)
  71. RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1)
  72. for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
  73. if (WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1)
  74. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil", "fw_stg44master_PrimaryAttack")
  75. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil", "fw_stg44master_PrimaryAttack_Post", 1)
  76. RegisterHam(Ham_Item_PostFrame, "weapon_galil", "stg44master_ItemPostFrame")
  77. RegisterHam(Ham_Weapon_Reload, "weapon_galil", "stg44master_Reload")
  78. RegisterHam(Ham_Weapon_Reload, "weapon_galil", "stg44master_Reload_Post", 1)
  79. RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
  80. register_forward(FM_SetModel, "fw_SetModel")
  81. register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
  82. register_forward(FM_PlaybackEvent, "fwPlaybackEvent")
  83.  
  84. RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack", 1)
  85. RegisterHam(Ham_TraceAttack, "func_breakable", "fw_TraceAttack", 1)
  86. RegisterHam(Ham_TraceAttack, "func_wall", "fw_TraceAttack", 1)
  87. RegisterHam(Ham_TraceAttack, "func_door", "fw_TraceAttack", 1)
  88. RegisterHam(Ham_TraceAttack, "func_door_rotating", "fw_TraceAttack", 1)
  89. RegisterHam(Ham_TraceAttack, "func_plat", "fw_TraceAttack", 1)
  90. RegisterHam(Ham_TraceAttack, "func_rotating", "fw_TraceAttack", 1)
  91.  
  92. cvar_dmg_stg44master = register_cvar("zp_stg44master_dmg", "1.13")
  93. cvar_recoil_stg44master = register_cvar("zp_stg44master_recoil", "0.9")
  94. cvar_clip_stg44master = register_cvar("zp_stg44master_clip", "33")
  95. cvar_spd_stg44master = register_cvar("zp_stg44master_spd", "0.9")
  96. cvar_stg44master_ammo = register_cvar("zp_stg44master_ammo", "180")
  97.  
  98. register_clcmd("say /stg44master", "stg44masterdm")
  99. g_MaxPlayers = get_maxplayers()
  100. gmsgWeaponList = get_user_msgid("WeaponList")
  101. }
  102.  
  103. public plugin_precache()
  104. {
  105. precache_model(stg44master_V_MODEL)
  106. precache_model(stg44master_P_MODEL)
  107. precache_model(stg44master_W_MODEL)
  108. for(new i = 0; i < sizeof Fire_Sounds; i++)
  109. precache_sound(Fire_Sounds[i])
  110. precache_sound("weapons/stg44_clipin.wav")
  111. precache_sound("weapons/stg44_clipout.wav")
  112. precache_sound("weapons/stg44_draw.wav")
  113. precache_sound("weapons/stg44_foley1.wav")
  114. m_iBlood[0] = precache_model("sprites/blood.spr")
  115. m_iBlood[1] = precache_model("sprites/bloodspray.spr")
  116. precache_generic("sprites/weapon_stg44master.txt")
  117. precache_generic("sprites/640hud63.spr")
  118. precache_generic("sprites/640hud7.spr")
  119.  
  120. register_clcmd("weapon_stg44master", "weapon_hook")
  121.  
  122. register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)
  123. }
  124.  
  125. public weapon_hook(id)
  126. {
  127. engclient_cmd(id, "weapon_galil")
  128. return PLUGIN_HANDLED
  129. }
  130.  
  131. public fw_TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
  132. {
  133. if(!is_user_alive(iAttacker))
  134. return
  135.  
  136. new g_currentweapon = get_user_weapon(iAttacker)
  137.  
  138. if(g_currentweapon != CSW_GALIL) return
  139.  
  140. if(!g_has_stg44master[iAttacker]) return
  141.  
  142. static Float:flEnd[3]
  143. get_tr2(ptr, TR_vecEndPos, flEnd)
  144.  
  145. if(iEnt)
  146. {
  147. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  148. write_byte(TE_DECAL)
  149. write_coord_f(flEnd[0])
  150. write_coord_f(flEnd[1])
  151. write_coord_f(flEnd[2])
  152. write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  153. write_short(iEnt)
  154. message_end()
  155. }
  156. else
  157. {
  158. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  159. write_byte(TE_WORLDDECAL)
  160. write_coord_f(flEnd[0])
  161. write_coord_f(flEnd[1])
  162. write_coord_f(flEnd[2])
  163. write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  164. message_end()
  165. }
  166. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  167. write_byte(TE_GUNSHOTDECAL)
  168. write_coord_f(flEnd[0])
  169. write_coord_f(flEnd[1])
  170. write_coord_f(flEnd[2])
  171. write_short(iAttacker)
  172. write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  173. message_end()
  174. }
  175.  
  176. public plugin_natives ()
  177. {
  178. register_native("give_weapon_stg44master", "native_give_weapon_add", 1)
  179. }
  180. public native_give_weapon_add(id)
  181. {
  182. give_stg44master(id)
  183. }
  184.  
  185. public fwPrecacheEvent_Post(type, const name[])
  186. {
  187. if (equal("events/galil.sc", name))
  188. {
  189. g_orig_event_stg44master = get_orig_retval()
  190. return FMRES_HANDLED
  191. }
  192. return FMRES_IGNORED
  193. }
  194.  
  195. public client_connect(id)
  196. {
  197. g_has_stg44master[id] = false
  198. }
  199.  
  200. public client_disconnect(id)
  201. {
  202. g_has_stg44master[id] = false
  203. }
  204.  
  205. public fw_SetModel(entity, model[])
  206. {
  207. if(!is_valid_ent(entity))
  208. return FMRES_IGNORED
  209.  
  210. static szClassName[33]
  211. entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
  212.  
  213. if(!equal(szClassName, "weaponbox"))
  214. return FMRES_IGNORED
  215.  
  216. static iOwner
  217.  
  218. iOwner = entity_get_edict(entity, EV_ENT_owner)
  219.  
  220. if(equal(model, "models/w_galil.mdl"))
  221. {
  222. static iStoredAugID
  223.  
  224. iStoredAugID = find_ent_by_owner(ENG_NULLENT, "weapon_galil", entity)
  225.  
  226. if(!is_valid_ent(iStoredAugID))
  227. return FMRES_IGNORED
  228.  
  229. if(g_has_stg44master[iOwner])
  230. {
  231. entity_set_int(iStoredAugID, EV_INT_WEAPONKEY, stg44master_WEAPONKEY)
  232.  
  233. g_has_stg44master[iOwner] = false
  234.  
  235. entity_set_model(entity, stg44master_W_MODEL)
  236.  
  237. return FMRES_SUPERCEDE
  238. }
  239. }
  240. return FMRES_IGNORED
  241. }
  242.  
  243. public give_stg44master(id)
  244. {
  245. drop_weapons(id, 1)
  246. new iWep2 = give_item(id,"weapon_galil")
  247. if( iWep2 > 0 )
  248. {
  249. cs_set_weapon_ammo(iWep2, get_pcvar_num(cvar_clip_stg44master))
  250. cs_set_user_bpammo (id, CSW_GALIL, get_pcvar_num(cvar_stg44master_ammo))
  251. UTIL_PlayWeaponAnimation(id, stg44master_DRAW)
  252. set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)
  253.  
  254. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  255. write_string("weapon_stg44master")
  256. write_byte(4)
  257. write_byte(90)
  258. write_byte(-1)
  259. write_byte(-1)
  260. write_byte(0)
  261. write_byte(17)
  262. write_byte(CSW_GALIL)
  263. message_end()
  264. }
  265. g_has_stg44master[id] = true
  266. }
  267.  
  268. public stg44masterdm(id, itemid)
  269. {
  270. if(itemid != g_itemid_stg44master)
  271. return
  272.  
  273. give_stg44master(id)
  274. }
  275.  
  276. public fw_stg44master_AddToPlayer(stg44master, id)
  277. {
  278. if(!is_valid_ent(stg44master) || !is_user_connected(id))
  279. return HAM_IGNORED
  280.  
  281. if(entity_get_int(stg44master, EV_INT_WEAPONKEY) == stg44master_WEAPONKEY)
  282. {
  283. g_has_stg44master[id] = true
  284.  
  285. entity_set_int(stg44master, EV_INT_WEAPONKEY, 0)
  286.  
  287. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  288. write_string("weapon_stg44master")
  289. write_byte(4)
  290. write_byte(90)
  291. write_byte(-1)
  292. write_byte(-1)
  293. write_byte(0)
  294. write_byte(17)
  295. write_byte(CSW_GALIL)
  296. message_end()
  297.  
  298. return HAM_HANDLED
  299. }
  300. else
  301. {
  302. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  303. write_string("weapon_galil")
  304. write_byte(4)
  305. write_byte(90)
  306. write_byte(-1)
  307. write_byte(-1)
  308. write_byte(0)
  309. write_byte(17)
  310. write_byte(CSW_GALIL)
  311. message_end()
  312. }
  313. return HAM_IGNORED
  314. }
  315.  
  316. public fw_UseStationary_Post(entity, caller, activator, use_type)
  317. {
  318. if (use_type == USE_STOPPED && is_user_connected(caller))
  319. replace_weapon_models(caller, get_user_weapon(caller))
  320. }
  321.  
  322. public fw_Item_Deploy_Post(weapon_ent)
  323. {
  324. static owner
  325. owner = fm_cs_get_weapon_ent_owner(weapon_ent)
  326.  
  327. static weaponid
  328. weaponid = cs_get_weapon_id(weapon_ent)
  329.  
  330. replace_weapon_models(owner, weaponid)
  331. }
  332.  
  333. public CurrentWeapon(id)
  334. {
  335. replace_weapon_models(id, read_data(2))
  336.  
  337. if(read_data(2) != CSW_GALIL || !g_has_stg44master[id])
  338. return
  339.  
  340. static Float:iSpeed
  341. if(g_has_stg44master[id])
  342. iSpeed = get_pcvar_float(cvar_spd_stg44master)
  343.  
  344. static weapon[32],Ent
  345. get_weaponname(read_data(2),weapon,31)
  346. Ent = find_ent_by_owner(-1,weapon,id)
  347. if(Ent)
  348. {
  349. static Float:Delay
  350. Delay = get_pdata_float( Ent, 46, 4) * iSpeed
  351. if (Delay > 0.0)
  352. {
  353. set_pdata_float(Ent, 46, Delay, 4)
  354. }
  355. }
  356. }
  357.  
  358. replace_weapon_models(id, weaponid)
  359. {
  360. switch (weaponid)
  361. {
  362. case CSW_GALIL:
  363. {
  364. new CsTeams:userTeam = cs_get_user_team(id)
  365. if (userTeam == CS_TEAM_CT & CS_TEAM_T & CS_TEAM_SPECTATOR)
  366. return
  367.  
  368. if(g_has_stg44master[id])
  369. {
  370. set_pev(id, pev_viewmodel2, stg44master_V_MODEL)
  371. set_pev(id, pev_weaponmodel2, stg44master_P_MODEL)
  372. if(oldweap[id] != CSW_GALIL)
  373. {
  374. UTIL_PlayWeaponAnimation(id, stg44master_DRAW)
  375. set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)
  376.  
  377. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  378. write_string("weapon_stg44master")
  379. write_byte(4)
  380. write_byte(90)
  381. write_byte(-1)
  382. write_byte(-1)
  383. write_byte(0)
  384. write_byte(17)
  385. write_byte(CSW_GALIL)
  386. message_end()
  387. }
  388. }
  389. }
  390. }
  391. oldweap[id] = weaponid
  392. }
  393.  
  394. public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
  395. {
  396. if(!is_user_alive(Player) || (get_user_weapon(Player) != CSW_GALIL || !g_has_stg44master[Player]))
  397. return FMRES_IGNORED
  398.  
  399. set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
  400. return FMRES_HANDLED
  401. }
  402.  
  403. public fw_stg44master_PrimaryAttack(Weapon)
  404. {
  405. new Player = get_pdata_cbase(Weapon, 41, 4)
  406.  
  407. if (!g_has_stg44master[Player])
  408. return
  409.  
  410. g_IsInPrimaryAttack = 1
  411. pev(Player,pev_punchangle,cl_pushangle[Player])
  412.  
  413. g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
  414. }
  415.  
  416. public fwPlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
  417. {
  418. if ((eventid != g_orig_event_stg44master) || !g_IsInPrimaryAttack)
  419. return FMRES_IGNORED
  420. if (!(1 <= invoker <= g_MaxPlayers))
  421. return FMRES_IGNORED
  422.  
  423. playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
  424. return FMRES_SUPERCEDE
  425. }
  426.  
  427. public fw_stg44master_PrimaryAttack_Post(Weapon)
  428. {
  429. g_IsInPrimaryAttack = 0
  430. new Player = get_pdata_cbase(Weapon, 41, 4)
  431.  
  432. new szClip, szAmmo
  433. get_user_weapon(Player, szClip, szAmmo)
  434.  
  435. if(!is_user_alive(Player))
  436. return
  437.  
  438. if(g_has_stg44master[Player])
  439. {
  440. if (!g_clip_ammo[Player])
  441. return
  442.  
  443. new Float:push[3]
  444. pev(Player,pev_punchangle,push)
  445. xs_vec_sub(push,cl_pushangle[Player],push)
  446.  
  447. xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_stg44master),push)
  448. xs_vec_add(push,cl_pushangle[Player],push)
  449. set_pev(Player,pev_punchangle,push)
  450.  
  451. emit_sound(Player, CHAN_WEAPON, Fire_Sounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  452. UTIL_PlayWeaponAnimation(Player, random_num(stg44master_SHOOT1, stg44master_SHOOT2))
  453. }
  454. }
  455.  
  456. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
  457. {
  458. if (victim != attacker && is_user_connected(attacker))
  459. {
  460. if(get_user_weapon(attacker) == CSW_GALIL)
  461. {
  462. if(g_has_stg44master[attacker])
  463. SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg_stg44master))
  464. }
  465. }
  466. }
  467.  
  468. public message_DeathMsg(msg_id, msg_dest, id)
  469. {
  470. static szTruncatedWeapon[33], iAttacker, iVictim
  471.  
  472. get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
  473.  
  474. iAttacker = get_msg_arg_int(1)
  475. iVictim = get_msg_arg_int(2)
  476.  
  477. if(!is_user_connected(iAttacker) || iAttacker == iVictim)
  478. return PLUGIN_CONTINUE
  479.  
  480. if(equal(szTruncatedWeapon, "galil") && get_user_weapon(iAttacker) == CSW_GALIL)
  481. {
  482. if(g_has_stg44master[iAttacker])
  483. set_msg_arg_string(4, "galil")
  484. }
  485. return PLUGIN_CONTINUE
  486. }
  487.  
  488. stock fm_cs_get_current_weapon_ent(id)
  489. {
  490. return get_pdata_cbase(id, OFFSET_ACTIVE_ITEM, OFFSET_LINUX)
  491. }
  492.  
  493. stock fm_cs_get_weapon_ent_owner(ent)
  494. {
  495. return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS)
  496. }
  497.  
  498. stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
  499. {
  500. set_pev(Player, pev_weaponanim, Sequence)
  501.  
  502. message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
  503. write_byte(Sequence)
  504. write_byte(pev(Player, pev_body))
  505. message_end()
  506. }
  507.  
  508. public stg44master_ItemPostFrame(weapon_entity)
  509. {
  510. new id = pev(weapon_entity, pev_owner)
  511. if (!is_user_connected(id))
  512. return HAM_IGNORED
  513.  
  514. if (!g_has_stg44master[id])
  515. return HAM_IGNORED
  516.  
  517. static iClipExtra
  518.  
  519. iClipExtra = get_pcvar_num(cvar_clip_stg44master)
  520. new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)
  521.  
  522. new iBpAmmo = cs_get_user_bpammo(id, CSW_GALIL)
  523. new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  524.  
  525. new fInReload = get_pdata_int(weapon_entity, m_fInReload, WEAP_LINUX_XTRA_OFF)
  526.  
  527. if( fInReload && flNextAttack <= 0.0 )
  528. {
  529. new j = min(iClipExtra - iClip, iBpAmmo)
  530.  
  531. set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
  532. cs_set_user_bpammo(id, CSW_GALIL, iBpAmmo-j)
  533.  
  534. set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
  535. fInReload = 0
  536. }
  537. return HAM_IGNORED
  538. }
  539.  
  540. public stg44master_Reload(weapon_entity)
  541. {
  542. new id = pev(weapon_entity, pev_owner)
  543. if (!is_user_connected(id))
  544. return HAM_IGNORED
  545.  
  546. if (!g_has_stg44master[id])
  547. return HAM_IGNORED
  548.  
  549. static iClipExtra
  550.  
  551. if(g_has_stg44master[id])
  552. iClipExtra = get_pcvar_num(cvar_clip_stg44master)
  553.  
  554. g_stg44master_TmpClip[id] = -1
  555.  
  556. new iBpAmmo = cs_get_user_bpammo(id, CSW_GALIL)
  557. new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  558.  
  559. if (iBpAmmo <= 0)
  560. return HAM_SUPERCEDE
  561.  
  562. if (iClip >= iClipExtra)
  563. return HAM_SUPERCEDE
  564.  
  565. g_stg44master_TmpClip[id] = iClip
  566.  
  567. return HAM_IGNORED
  568. }
  569.  
  570. public stg44master_Reload_Post(weapon_entity)
  571. {
  572. new id = pev(weapon_entity, pev_owner)
  573. if (!is_user_connected(id))
  574. return HAM_IGNORED
  575.  
  576. if (!g_has_stg44master[id])
  577. return HAM_IGNORED
  578.  
  579. if (g_stg44master_TmpClip[id] == -1)
  580. return HAM_IGNORED
  581.  
  582. set_pdata_int(weapon_entity, m_iClip, g_stg44master_TmpClip[id], WEAP_LINUX_XTRA_OFF)
  583.  
  584. set_pdata_float(weapon_entity, m_flTimeWeaponIdle, stg44master_RELOAD_TIME, WEAP_LINUX_XTRA_OFF)
  585.  
  586. set_pdata_float(id, m_flNextAttack, stg44master_RELOAD_TIME, PLAYER_LINUX_XTRA_OFF)
  587.  
  588. set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)
  589.  
  590. UTIL_PlayWeaponAnimation(id, stg44master_RELOAD)
  591.  
  592. return HAM_IGNORED
  593. }
  594.  
  595. stock drop_weapons(id, dropwhat)
  596. {
  597. static weapons[32], num, i, weaponid
  598. num = 0
  599. get_user_weapons(id, weapons, num)
  600.  
  601. for (i = 0; i < num; i++)
  602. {
  603. weaponid = weapons[i]
  604.  
  605. if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
  606. {
  607. static wname[32]
  608. get_weaponname(weaponid, wname, sizeof wname - 1)
  609. engclient_cmd(id, "drop", wname)
  610. }
  611. }
  612. }
  613.  


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: paradoxon zp-s fegyó
HozzászólásElküldve: 2013.01.05. 10:31 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2011.09.18. 13:01
Hozzászólások: 4271
Megköszönt másnak: 55 alkalommal
Megköszönték neki: 514 alkalommal
debugold be:)Es nezd meg a logot mit ir ki.

_________________
Idk. Csak ugy funbooo.
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: paradoxon zp-s fegyó
HozzászólásElküldve: 2013.01.05. 15:55 
Offline
Őskövület
Avatar

Csatlakozott: 2011.09.26. 20:33
Hozzászólások: 2105
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 33 alkalommal
megoldva


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 55 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole