hlmod.hu

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



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot]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: ZP:Extra Item Golden AK-47
HozzászólásElküldve:2012.05.31. 19:30 
Offline
Tud valamit

Csatlakozott:2011.08.28. 08:19
Hozzászólások:103
Sziasztok. Valaki megtudná csinálni hogy a Golden AK-47 több körig is megmaradjon?
Itt a SMA:
Kód:
  1. /*

  2. [ZP] Extra Item: Golden Ak 47

  3. Team: Humans

  4.  

  5. Description: This plugin adds a new weapon for Human Teams.

  6. Weapon Cost: 30

  7.  

  8. Features:

  9. - This weapon do more damage

  10. - This weapon has zoom

  11. - Launch Lasers

  12. - This weapon has unlimited bullets

  13.  

  14. Credits:

  15.  

  16. KaOs - For his Dual MP5 mod

  17.  

  18. Cvars:

  19.  

  20.  

  21. - zp_goldenak_dmg_multiplier <5> - Damage Multiplier for Golden Ak 47

  22. - zp_goldenak_gold_bullets <1|0> - Golden bullets effect ?

  23. - zp_goldenak_custom_model <1|0> - Golden ak Custom Model

  24. - zp_goldenak_unlimited_clip <1|0> - Golden ak Unlimited Clip

  25.  

  26. */

  27.  

  28.  

  29.  

  30. #include <amxmodx>

  31. #include <engine>       // Added by Shidla

  32. #include <fakemeta>

  33. #include <fun>

  34. #include <hamsandwich>

  35. #include <cstrike>

  36. #include <zombieplague>

  37.  

  38. #define is_valid_player(%1) (1 <= %1 <= 32)

  39. #define ENG_NULLENT             -1      // Added by Shidla

  40. #define EV_INT_WEAPONKEY        EV_INT_impulse  // Added by Shidla

  41. #define GAK_WEAPONKEY   666     // Added by Shidla

  42. new const g_GAKEnt[] = "weapon_ak47"

  43.  

  44. new AK_V_MODEL[64] = "models/zombie_plague/v_golden_ak47.mdl"

  45. new AK_P_MODEL[64] = "models/zombie_plague/p_golden_ak47.mdl"

  46. new AK_W_MODEL[64] = "models/zombie_plague/w_golden_ak47.mdl"   // Added by Shidla

  47.  

  48. /* Pcvars */

  49. new cvar_dmgmultiplier, cvar_goldbullets,  cvar_custommodel, cvar_uclip

  50.  

  51. // Item ID

  52. new g_itemid

  53.  

  54. new bool:g_HasAk[33]

  55.  

  56. new g_hasZoom[ 33 ]

  57. new bullets[ 33 ]

  58.  

  59. // Sprite

  60. new m_spriteTexture

  61. new SayText

  62.  

  63. const Wep_ak47 = ((1<<CSW_AK47))

  64.  

  65. public plugin_init()

  66. {

  67.        

  68.         /* CVARS */

  69.         cvar_dmgmultiplier = register_cvar("zp_goldenak_dmg_multiplier", "5")

  70.         cvar_custommodel = register_cvar("zp_goldenak_custom_model", "1")

  71.         cvar_goldbullets = register_cvar("zp_goldenak_gold_bullets", "1")

  72.         cvar_uclip = register_cvar("zp_goldenak_unlimited_clip", "1")

  73.        

  74.         // Register The Plugin

  75.         register_plugin("[ZP] Extra: Golden Ak 47", "1.1", "AlejandroSk / Shidla")

  76.         register_cvar("Shidla", "[ZP] Golden AK [w_ model added]", FCVAR_SERVER|FCVAR_SPONLY)

  77.         // Register Zombie Plague extra item

  78.         g_itemid = zp_register_extra_item("Golden Ak 47", 30, ZP_TEAM_HUMAN)

  79.         // Death Msg

  80.         register_event("DeathMsg", "Death", "a")

  81.         // Weapon Pick Up

  82.         register_event("WeapPickup","checkModel","b","1=19")

  83.         // Current Weapon Event

  84.         register_event("CurWeapon","checkWeapon","be","1=1")

  85.         register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")

  86.         // Ham TakeDamage

  87.         RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

  88.         register_forward( FM_CmdStart, "fw_CmdStart" )

  89.         RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)

  90.         RegisterHam(Ham_Item_AddToPlayer, g_GAKEnt, "fw_GAK47AddToPlayer")      // Added by Shidla

  91.         SayText = get_user_msgid("SayText")

  92.         register_dictionary("zp_ak47_w_model.txt")

  93.        

  94.         register_forward(FM_SetModel, "fw_SetModel")    // Added by Shidla

  95.        

  96. }

  97.  

  98. public client_connect(id)

  99. {

  100.         g_HasAk[id] = false

  101. }

  102.  

  103. public client_disconnect(id)

  104. {

  105.         g_HasAk[id] = false

  106. }

  107.  

  108. public Death()

  109. {

  110.         g_HasAk[read_data(2)] = false

  111. }

  112.  

  113. public fwHamPlayerSpawnPost(id)

  114. {

  115.         g_HasAk[id] = false

  116. }

  117.  

  118. public plugin_precache()

  119. {

  120.         precache_model(AK_V_MODEL)

  121.         precache_model(AK_P_MODEL)

  122.         precache_model(AK_W_MODEL)      // Added by Shidla

  123.         m_spriteTexture = precache_model("sprites/dot.spr")

  124.         precache_sound("weapons/zoom.wav")

  125. }

  126.  

  127. public zp_user_infected_post(id)

  128. {

  129.         if (zp_get_user_zombie(id))

  130.         {

  131.                 g_HasAk[id] = false

  132.         }

  133. }

  134.  

  135. public checkModel(id)

  136. {

  137.         if ( zp_get_user_zombie(id) )

  138.                 return PLUGIN_HANDLED

  139.        

  140.         new szWeapID = read_data(2)

  141.        

  142.         if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )

  143.         {

  144.                 set_pev(id, pev_viewmodel2, AK_V_MODEL)

  145.                 set_pev(id, pev_weaponmodel2, AK_P_MODEL)

  146.         }

  147.         return PLUGIN_HANDLED

  148. }

  149.  

  150. public checkWeapon(id)

  151. {

  152.         new plrClip, plrAmmo, plrWeap[32]

  153.         new plrWeapId

  154.        

  155.         plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

  156.        

  157.         if (plrWeapId == CSW_AK47 && g_HasAk[id])

  158.         {

  159.                 checkModel(id)

  160.         }

  161.         else

  162.         {

  163.                 return PLUGIN_CONTINUE

  164.         }

  165.        

  166.         if (plrClip == 0 && get_pcvar_num(cvar_uclip))

  167.         {

  168.                 // If the user is out of ammo..

  169.                 get_weaponname(plrWeapId, plrWeap, 31)

  170.                 // Get the name of their weapon

  171.                 give_item(id, plrWeap)

  172.                 engclient_cmd(id, plrWeap)

  173.                 engclient_cmd(id, plrWeap)

  174.                 engclient_cmd(id, plrWeap)

  175.         }

  176.         return PLUGIN_HANDLED

  177. }

  178.  

  179.  

  180.  

  181. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)

  182. {

  183.     if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker] )

  184.     {

  185.         SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) )

  186.     }

  187. }

  188.  

  189. public fw_CmdStart( id, uc_handle, seed )

  190. {

  191.         if( !is_user_alive( id ) )

  192.                 return PLUGIN_HANDLED

  193.        

  194.         if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )

  195.         {

  196.                 new szClip, szAmmo

  197.                 new szWeapID = get_user_weapon( id, szClip, szAmmo )

  198.                

  199.                 if( szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true)

  200.                 {

  201.                         g_hasZoom[id] = true

  202.                         cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )

  203.                         emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )

  204.                 }

  205.                

  206.                 else if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id])

  207.                 {

  208.                         g_hasZoom[ id ] = false

  209.                         cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )

  210.                        

  211.                 }

  212.                

  213.         }

  214.         return PLUGIN_HANDLED

  215. }

  216.  

  217.  

  218. public make_tracer(id)

  219. {

  220.         if (get_pcvar_num(cvar_goldbullets))

  221.         {

  222.                 new clip,ammo

  223.                 new wpnid = get_user_weapon(id,clip,ammo)

  224.                 new pteam[16]

  225.                

  226.                 get_user_team(id, pteam, 15)

  227.                

  228.                 if ((bullets[id] > clip) && (wpnid == CSW_AK47) && g_HasAk[id])

  229.                 {

  230.                         new vec1[3], vec2[3]

  231.                         get_user_origin(id, vec1, 1) // origin; your camera point.

  232.                         get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)

  233.                        

  234.                        

  235.                         //BEAMENTPOINTS

  236.                         message_begin( MSG_BROADCAST,SVC_TEMPENTITY)

  237.                         write_byte (0)     //TE_BEAMENTPOINTS 0

  238.                         write_coord(vec1[0])

  239.                         write_coord(vec1[1])

  240.                         write_coord(vec1[2])

  241.                         write_coord(vec2[0])

  242.                         write_coord(vec2[1])

  243.                         write_coord(vec2[2])

  244.                         write_short( m_spriteTexture )

  245.                         write_byte(1) // framestart

  246.                         write_byte(5) // framerate

  247.                         write_byte(2) // life

  248.                         write_byte(10) // width

  249.                         write_byte(0) // noise

  250.                         write_byte( 255 )     // r, g, b

  251.                         write_byte( 215 )       // r, g, b

  252.                         write_byte( 0 )       // r, g, b

  253.                         write_byte(200) // brightness

  254.                         write_byte(150) // speed

  255.                         message_end()

  256.                 }

  257.        

  258.                 bullets[id] = clip

  259.         }

  260.        

  261. }

  262.  

  263. public zp_extra_item_selected(player, itemid)

  264. {

  265.         if ( itemid == g_itemid )

  266.         {

  267.                 if ( user_has_weapon(player, CSW_AK47) )

  268.                 {

  269.                         drop_prim(player)

  270.                 }

  271.                 give_item(player, "weapon_ak47")

  272.         print_col_chat( player, "^4[ZP] ^1%L ^3[%L]", LANG_PLAYER, "BUY_AK", LANG_PLAYER, "GAK-47")

  273.                 g_HasAk[player] = true;

  274.         }

  275. }

  276.  

  277. // Added by Shidla

  278. public fw_SetModel(entity, model[])

  279. {

  280.         // Entity is not valid

  281.         if(!is_valid_ent(entity))

  282.                 return FMRES_IGNORED;

  283.                

  284.         // Entity model is not w_ak47

  285.         if(!equal(model, "models/w_ak47.mdl"))

  286.                 return FMRES_IGNORED;

  287.                

  288.         // Get classname

  289.         static szClassName[33]

  290.         entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))

  291.                

  292.         // Not a Weapon box

  293.         if(!equal(szClassName, "weaponbox"))

  294.                 return FMRES_IGNORED

  295.        

  296.         // Some vars

  297.         static iOwner, iStoredGalilID

  298.        

  299.         // Get owner

  300.         iOwner = entity_get_edict(entity, EV_ENT_owner)

  301.        

  302.         // Get drop weapon index (galil) to use in fw_Galil_AddToPlayer forward

  303.         iStoredGalilID = find_ent_by_owner(ENG_NULLENT, "weapon_ak47", entity)

  304.        

  305.         // Entity classname is weaponbox, and galil has founded

  306.         if(g_HasAk[iOwner] && is_valid_ent(iStoredGalilID))

  307.         {

  308.                 // Setting weapon options

  309.                 entity_set_int(iStoredGalilID, EV_INT_WEAPONKEY, GAK_WEAPONKEY)

  310.  

  311.                 // Reset user vars

  312.                 g_HasAk[iOwner] = false

  313.                

  314.                 // Set weaponbox new model

  315.                 entity_set_model(entity, AK_W_MODEL)

  316.                

  317.                 return FMRES_SUPERCEDE

  318.         }

  319.  

  320.         return FMRES_IGNORED

  321. }

  322.  

  323. // Added by Shidla

  324. public fw_GAK47AddToPlayer (GAK47, id)

  325. {

  326.         // Make sure that this is M79

  327.         if( is_valid_ent(GAK47) && is_user_connected(id) && entity_get_int(GAK47, EV_INT_WEAPONKEY) == GAK_WEAPONKEY)

  328.         {

  329.                 // Update

  330.                 g_HasAk[id] = true

  331.  

  332.                 // Reset weapon options

  333.                 entity_set_int(GAK47, EV_INT_WEAPONKEY, 0)

  334.  

  335.                 return HAM_HANDLED

  336.         }

  337.  

  338.         return HAM_IGNORED

  339. }

  340.  

  341. stock drop_prim(id)

  342. {

  343.         new weapons[32], num

  344.         get_user_weapons(id, weapons, num)

  345.         for (new i = 0; i < num; i++) {

  346.                 if (Wep_ak47 & (1<<weapons[i]))

  347.                 {

  348.                         static wname[32]

  349.                         get_weaponname(weapons[i], wname, sizeof wname - 1)

  350.                         engclient_cmd(id, "drop", wname)

  351.                 }

  352.         }

  353. }

  354.  

  355. stock print_col_chat(const id, const input[], any:...)

  356. {

  357.     new count = 1, players[32];

  358.     static msg[191];

  359.     vformat(msg, 190, input, 3);

  360.     replace_all(msg, 190, "!g", "^4"); // Green Color

  361.     replace_all(msg, 190, "!y", "^1"); // Default Color

  362.     replace_all(msg, 190, "!t", "^3"); // Team Color

  363.     if (id) players[0] = id; else get_players(players, count, "ch");

  364.     {

  365.         for ( new i = 0; i < count; i++ )

  366.         {

  367.             if ( is_user_connected(players[i]) )

  368.             {

  369.                 message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]);

  370.                 write_byte(players[i]);

  371.                 write_string(msg);

  372.                 message_end();

  373.             }

  374.         }

  375.     }

  376. }

_________________
Magyar Biohazard szervert keresek, ha kell segítek is.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ZP:Extra Item Golden AK-47
HozzászólásElküldve:2012.05.31. 19:39 
Offline
Veterán
Avatar

Csatlakozott:2011.06.07. 15:29
Hozzászólások:1728
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 63 alkalommal
Cvarok: amx_meddiglegyenak 5 : Hány körön át legyen AK-ja.
Ha megfertőződik, akkor elveszíti az AK-t. Minden körben levon egyet számlálóból, ha ez eléri a 0-t, akkor a következő körben már nem lesz AK-ja.
Kód:
  1. /*

  2.  

  3. [ZP] Extra Item: Golden Ak 47

  4.  

  5. Team: Humans

  6.  

  7.  

  8.  

  9. Description: This plugin adds a new weapon for Human Teams.

  10.  

  11. Weapon Cost: 30

  12.  

  13.  

  14.  

  15. Features:

  16.  

  17. - This weapon do more damage

  18.  

  19. - This weapon has zoom

  20.  

  21. - Launch Lasers

  22.  

  23. - This weapon has unlimited bullets

  24.  

  25.  

  26.  

  27. Credits:

  28.  

  29.  

  30.  

  31. KaOs - For his Dual MP5 mod

  32.  

  33.  

  34.  

  35. Cvars:

  36.  

  37.  

  38.  

  39.  

  40.  

  41. - zp_goldenak_dmg_multiplier <5> - Damage Multiplier for Golden Ak 47

  42.  

  43. - zp_goldenak_gold_bullets <1|0> - Golden bullets effect ?

  44.  

  45. - zp_goldenak_custom_model <1|0> - Golden ak Custom Model

  46.  

  47. - zp_goldenak_unlimited_clip <1|0> - Golden ak Unlimited Clip

  48.  

  49.  

  50.  

  51. */

  52.  

  53.  

  54.  

  55.  

  56.  

  57.  

  58.  

  59. #include <amxmodx>

  60.  

  61. #include <engine>       // Added by Shidla

  62.  

  63. #include <fakemeta>

  64.  

  65. #include <fun>

  66.  

  67. #include <hamsandwich>

  68.  

  69. #include <cstrike>

  70.  

  71. #include <zombieplague>

  72.  

  73.  

  74.  

  75. #define is_valid_player(%1) (1 <= %1 <= 32)

  76.  

  77. #define ENG_NULLENT             -1      // Added by Shidla

  78.  

  79. #define EV_INT_WEAPONKEY        EV_INT_impulse  // Added by Shidla

  80.  

  81. #define GAK_WEAPONKEY   666     // Added by Shidla

  82.  

  83. new const g_GAKEnt[] = "weapon_ak47"

  84.  

  85.  

  86.  

  87. new AK_V_MODEL[64] = "models/zombie_plague/v_golden_ak47.mdl"

  88.  

  89. new AK_P_MODEL[64] = "models/zombie_plague/p_golden_ak47.mdl"

  90.  

  91. new AK_W_MODEL[64] = "models/zombie_plague/w_golden_ak47.mdl"   // Added by Shidla

  92.  

  93.  

  94.  

  95. /* Pcvars */

  96.  

  97. new cvar_dmgmultiplier, cvar_goldbullets,  cvar_custommodel, cvar_uclip

  98. new meddigak

  99. new gSzamol[33]

  100.  

  101.  

  102.  

  103. // Item ID

  104.  

  105. new g_itemid

  106.  

  107.  

  108.  

  109. new bool:g_HasAk[33]

  110.  

  111.  

  112.  

  113. new g_hasZoom[ 33 ]

  114.  

  115. new bullets[ 33 ]

  116.  

  117.  

  118.  

  119. // Sprite

  120.  

  121. new m_spriteTexture

  122.  

  123. new SayText

  124.  

  125.  

  126.  

  127. const Wep_ak47 = ((1<<CSW_AK47))

  128.  

  129.  

  130.  

  131. public plugin_init()

  132.  

  133. {

  134.  

  135.        

  136.  

  137.         /* CVARS */

  138.  

  139.         cvar_dmgmultiplier = register_cvar("zp_goldenak_dmg_multiplier", "5")

  140.  

  141.         cvar_custommodel = register_cvar("zp_goldenak_custom_model", "1")

  142.  

  143.         cvar_goldbullets = register_cvar("zp_goldenak_gold_bullets", "1")

  144.  

  145.         cvar_uclip = register_cvar("zp_goldenak_unlimited_clip", "1")

  146.  

  147.        

  148.  

  149.         // Register The Plugin

  150.  

  151.         register_plugin("[ZP] Extra: Golden Ak 47", "1.1", "AlejandroSk / Shidla")

  152.  

  153.         register_cvar("Shidla", "[ZP] Golden AK [w_ model added]", FCVAR_SERVER|FCVAR_SPONLY)

  154.         meddigak = register_cvar("amx_hanykorigak", "3")

  155.  

  156.         // Register Zombie Plague extra item

  157.  

  158.         g_itemid = zp_register_extra_item("Golden Ak 47", 30, ZP_TEAM_HUMAN)

  159.  

  160.         // Weapon Pick Up

  161.  

  162.         register_event("WeapPickup","checkModel","b","1=19")

  163.  

  164.         // Current Weapon Event

  165.  

  166.         register_event("CurWeapon","checkWeapon","be","1=1")

  167.  

  168.         register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")

  169.  

  170.         // Ham TakeDamage

  171.  

  172.         RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

  173.  

  174.         register_forward( FM_CmdStart, "fw_CmdStart" )

  175.  

  176.         RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)

  177.  

  178.         RegisterHam(Ham_Item_AddToPlayer, g_GAKEnt, "fw_GAK47AddToPlayer")      // Added by Shidla

  179.  

  180.         SayText = get_user_msgid("SayText")

  181.  

  182.         register_dictionary("zp_ak47_w_model.txt")

  183.  

  184.        

  185.  

  186.         register_forward(FM_SetModel, "fw_SetModel")    // Added by Shidla

  187.  

  188.        

  189.  

  190. }

  191.  

  192.  

  193.  

  194. public client_connect(id)

  195.  

  196. {

  197.  

  198.         g_HasAk[id] = false

  199.         gSzamol[id] = get_pcvar_num(meddigak)

  200.  

  201. }

  202.  

  203.  

  204.  

  205. public client_disconnect(id)

  206.  

  207. {

  208.  

  209.         g_HasAk[id] = false

  210.  

  211. }

  212.  

  213. public fwHamPlayerSpawnPost(id)

  214.  

  215. {

  216.  

  217.          gSzamol[id]--

  218.         if(gSzamol[id] == 0)

  219.         {

  220.                 g_HasAk[id] = false;

  221.         }

  222.  

  223. }

  224.  

  225.  

  226.  

  227. public plugin_precache()

  228.  

  229. {

  230.  

  231.         precache_model(AK_V_MODEL)

  232.  

  233.         precache_model(AK_P_MODEL)

  234.  

  235.         precache_model(AK_W_MODEL)      // Added by Shidla

  236.  

  237.         m_spriteTexture = precache_model("sprites/dot.spr")

  238.  

  239.         precache_sound("weapons/zoom.wav")

  240.  

  241. }

  242.  

  243.  

  244.  

  245. public zp_user_infected_post(id)

  246.  

  247. {

  248.  

  249.         if (zp_get_user_zombie(id))

  250.  

  251.         {

  252.  

  253.                 g_HasAk[id] = false

  254.                 gSzamol[id] = 0

  255.  

  256.         }

  257.  

  258. }

  259.  

  260.  

  261.  

  262. public checkModel(id)

  263.  

  264. {

  265.  

  266.         if ( zp_get_user_zombie(id) )

  267.  

  268.                 return PLUGIN_HANDLED

  269.  

  270.        

  271.  

  272.         new szWeapID = read_data(2)

  273.  

  274.        

  275.  

  276.         if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )

  277.  

  278.         {

  279.  

  280.                 set_pev(id, pev_viewmodel2, AK_V_MODEL)

  281.  

  282.                 set_pev(id, pev_weaponmodel2, AK_P_MODEL)

  283.  

  284.         }

  285.  

  286.         return PLUGIN_HANDLED

  287.  

  288. }

  289.  

  290.  

  291.  

  292. public checkWeapon(id)

  293.  

  294. {

  295.  

  296.         new plrClip, plrAmmo, plrWeap[32]

  297.  

  298.         new plrWeapId

  299.  

  300.        

  301.  

  302.         plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

  303.  

  304.        

  305.  

  306.         if (plrWeapId == CSW_AK47 && g_HasAk[id])

  307.  

  308.         {

  309.  

  310.                 checkModel(id)

  311.  

  312.         }

  313.  

  314.         else

  315.  

  316.         {

  317.  

  318.                 return PLUGIN_CONTINUE

  319.  

  320.         }

  321.  

  322.        

  323.  

  324.         if (plrClip == 0 && get_pcvar_num(cvar_uclip))

  325.  

  326.         {

  327.  

  328.                 // If the user is out of ammo..

  329.  

  330.                 get_weaponname(plrWeapId, plrWeap, 31)

  331.  

  332.                 // Get the name of their weapon

  333.  

  334.                 give_item(id, plrWeap)

  335.  

  336.                 engclient_cmd(id, plrWeap)

  337.  

  338.                 engclient_cmd(id, plrWeap)

  339.  

  340.                 engclient_cmd(id, plrWeap)

  341.  

  342.         }

  343.  

  344.         return PLUGIN_HANDLED

  345.  

  346. }

  347.  

  348.  

  349.  

  350.  

  351.  

  352.  

  353.  

  354. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)

  355.  

  356. {

  357.  

  358.     if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker] )

  359.  

  360.     {

  361.  

  362.         SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) )

  363.  

  364.     }

  365.  

  366. }

  367.  

  368.  

  369.  

  370. public fw_CmdStart( id, uc_handle, seed )

  371.  

  372. {

  373.  

  374.         if( !is_user_alive( id ) )

  375.  

  376.                 return PLUGIN_HANDLED

  377.  

  378.        

  379.  

  380.         if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )

  381.  

  382.         {

  383.  

  384.                 new szClip, szAmmo

  385.  

  386.                 new szWeapID = get_user_weapon( id, szClip, szAmmo )

  387.  

  388.                

  389.  

  390.                 if( szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true)

  391.  

  392.                 {

  393.  

  394.                         g_hasZoom[id] = true

  395.  

  396.                         cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )

  397.  

  398.                         emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )

  399.  

  400.                 }

  401.  

  402.                

  403.  

  404.                 else if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id])

  405.  

  406.                 {

  407.  

  408.                         g_hasZoom[ id ] = false

  409.  

  410.                         cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )

  411.  

  412.                        

  413.  

  414.                 }

  415.  

  416.                

  417.  

  418.         }

  419.  

  420.         return PLUGIN_HANDLED

  421.  

  422. }

  423.  

  424.  

  425.  

  426.  

  427.  

  428. public make_tracer(id)

  429.  

  430. {

  431.  

  432.         if (get_pcvar_num(cvar_goldbullets))

  433.  

  434.         {

  435.  

  436.                 new clip,ammo

  437.  

  438.                 new wpnid = get_user_weapon(id,clip,ammo)

  439.  

  440.                 new pteam[16]

  441.  

  442.                

  443.  

  444.                 get_user_team(id, pteam, 15)

  445.  

  446.                

  447.  

  448.                 if ((bullets[id] > clip) && (wpnid == CSW_AK47) && g_HasAk[id])

  449.  

  450.                 {

  451.  

  452.                         new vec1[3], vec2[3]

  453.  

  454.                         get_user_origin(id, vec1, 1) // origin; your camera point.

  455.  

  456.                         get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)

  457.  

  458.                        

  459.  

  460.                        

  461.  

  462.                         //BEAMENTPOINTS

  463.  

  464.                         message_begin( MSG_BROADCAST,SVC_TEMPENTITY)

  465.  

  466.                         write_byte (0)     //TE_BEAMENTPOINTS 0

  467.  

  468.                         write_coord(vec1[0])

  469.  

  470.                         write_coord(vec1[1])

  471.  

  472.                         write_coord(vec1[2])

  473.  

  474.                         write_coord(vec2[0])

  475.  

  476.                         write_coord(vec2[1])

  477.  

  478.                         write_coord(vec2[2])

  479.  

  480.                         write_short( m_spriteTexture )

  481.  

  482.                         write_byte(1) // framestart

  483.  

  484.                         write_byte(5) // framerate

  485.  

  486.                         write_byte(2) // life

  487.  

  488.                         write_byte(10) // width

  489.  

  490.                         write_byte(0) // noise

  491.  

  492.                         write_byte( 255 )     // r, g, b

  493.  

  494.                         write_byte( 215 )       // r, g, b

  495.  

  496.                         write_byte( 0 )       // r, g, b

  497.  

  498.                         write_byte(200) // brightness

  499.  

  500.                         write_byte(150) // speed

  501.  

  502.                         message_end()

  503.  

  504.                 }

  505.  

  506.        

  507.  

  508.                 bullets[id] = clip

  509.  

  510.         }

  511.  

  512.        

  513.  

  514. }

  515.  

  516.  

  517.  

  518. public zp_extra_item_selected(player, itemid)

  519.  

  520. {

  521.  

  522.         if ( itemid == g_itemid )

  523.  

  524.         {

  525.  

  526.                 if ( user_has_weapon(player, CSW_AK47) )

  527.  

  528.                 {

  529.  

  530.                         drop_prim(player)

  531.  

  532.                 }

  533.  

  534.                 give_item(player, "weapon_ak47")

  535.  

  536.         print_col_chat( player, "^4[ZP] ^1%L ^3[%L]", LANG_PLAYER, "BUY_AK", LANG_PLAYER, "GAK-47")

  537.  

  538.                 g_HasAk[player] = true;

  539.                 gSzamol[player] = get_pcvar_num(meddigak)

  540.  

  541.         }

  542.  

  543. }

  544.  

  545.  

  546.  

  547. // Added by Shidla

  548.  

  549. public fw_SetModel(entity, model[])

  550.  

  551. {

  552.  

  553.         // Entity is not valid

  554.  

  555.         if(!is_valid_ent(entity))

  556.  

  557.                 return FMRES_IGNORED;

  558.  

  559.                

  560.  

  561.         // Entity model is not w_ak47

  562.  

  563.         if(!equal(model, "models/w_ak47.mdl"))

  564.  

  565.                 return FMRES_IGNORED;

  566.  

  567.                

  568.  

  569.         // Get classname

  570.  

  571.         static szClassName[33]

  572.  

  573.         entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))

  574.  

  575.                

  576.  

  577.         // Not a Weapon box

  578.  

  579.         if(!equal(szClassName, "weaponbox"))

  580.  

  581.                 return FMRES_IGNORED

  582.  

  583.        

  584.  

  585.         // Some vars

  586.  

  587.         static iOwner, iStoredGalilID

  588.  

  589.        

  590.  

  591.         // Get owner

  592.  

  593.         iOwner = entity_get_edict(entity, EV_ENT_owner)

  594.  

  595.        

  596.  

  597.         // Get drop weapon index (galil) to use in fw_Galil_AddToPlayer forward

  598.  

  599.         iStoredGalilID = find_ent_by_owner(ENG_NULLENT, "weapon_ak47", entity)

  600.  

  601.        

  602.  

  603.         // Entity classname is weaponbox, and galil has founded

  604.  

  605.         if(g_HasAk[iOwner] && is_valid_ent(iStoredGalilID))

  606.  

  607.         {

  608.  

  609.                 // Setting weapon options

  610.  

  611.                 entity_set_int(iStoredGalilID, EV_INT_WEAPONKEY, GAK_WEAPONKEY)

  612.  

  613.  

  614.  

  615.                 // Reset user vars

  616.  

  617.                 g_HasAk[iOwner] = false

  618.  

  619.                

  620.  

  621.                 // Set weaponbox new model

  622.  

  623.                 entity_set_model(entity, AK_W_MODEL)

  624.  

  625.                

  626.  

  627.                 return FMRES_SUPERCEDE

  628.  

  629.         }

  630.  

  631.  

  632.  

  633.         return FMRES_IGNORED

  634.  

  635. }

  636.  

  637.  

  638.  

  639. // Added by Shidla

  640.  

  641. public fw_GAK47AddToPlayer (GAK47, id)

  642.  

  643. {

  644.  

  645.         // Make sure that this is M79

  646.  

  647.         if( is_valid_ent(GAK47) && is_user_connected(id) && entity_get_int(GAK47, EV_INT_WEAPONKEY) == GAK_WEAPONKEY)

  648.  

  649.         {

  650.  

  651.                 // Update

  652.  

  653.                 g_HasAk[id] = true

  654.  

  655.  

  656.  

  657.                 // Reset weapon options

  658.  

  659.                 entity_set_int(GAK47, EV_INT_WEAPONKEY, 0)

  660.  

  661.  

  662.  

  663.                 return HAM_HANDLED

  664.  

  665.         }

  666.  

  667.  

  668.  

  669.         return HAM_IGNORED

  670.  

  671. }

  672.  

  673.  

  674.  

  675. stock drop_prim(id)

  676.  

  677. {

  678.  

  679.         new weapons[32], num

  680.  

  681.         get_user_weapons(id, weapons, num)

  682.  

  683.         for (new i = 0; i < num; i++) {

  684.  

  685.                 if (Wep_ak47 & (1<<weapons[i]))

  686.  

  687.                 {

  688.  

  689.                         static wname[32]

  690.  

  691.                         get_weaponname(weapons[i], wname, sizeof wname - 1)

  692.  

  693.                         engclient_cmd(id, "drop", wname)

  694.  

  695.                 }

  696.  

  697.         }

  698.  

  699. }

  700.  

  701.  

  702.  

  703. stock print_col_chat(const id, const input[], any:...)

  704.  

  705. {

  706.  

  707.     new count = 1, players[32];

  708.  

  709.     static msg[191];

  710.  

  711.     vformat(msg, 190, input, 3);

  712.  

  713.     replace_all(msg, 190, "!g", "^4"); // Green Color

  714.  

  715.     replace_all(msg, 190, "!y", "^1"); // Default Color

  716.  

  717.     replace_all(msg, 190, "!t", "^3"); // Team Color

  718.  

  719.     if (id) players[0] = id; else get_players(players, count, "ch");

  720.  

  721.     {

  722.  

  723.         for ( new i = 0; i < count; i++ )

  724.  

  725.         {

  726.  

  727.             if ( is_user_connected(players[i]) )

  728.  

  729.             {

  730.  

  731.                 message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]);

  732.  

  733.                 write_byte(players[i]);

  734.  

  735.                 write_string(msg);

  736.  

  737.                 message_end();

  738.  

  739.             }

  740.  

  741.         }

  742.  

  743.     }

  744.  

  745. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ZP:Extra Item Golden AK-47
HozzászólásElküldve:2012.06.01. 13:33 
Offline
Tud valamit

Csatlakozott:2011.08.28. 08:19
Hozzászólások:103
Köszönöm szépen.

_________________
Magyar Biohazard szervert keresek, ha kell segítek is.


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 15 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