hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 07:37



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Easter Eggs
HozzászólásElküldve: 2020.10.10. 23:36 
Offline
Jómunkásember
Avatar

Csatlakozott: 2016.03.03. 15:51
Hozzászólások: 453
Megköszönt másnak: 106 alkalommal
Megköszönték neki: 7 alkalommal
Sziasztok hogyan tudnám megoldani,hogy ne minden ölésnél hannem xy ölésnél droppoljon tököt?
köszönöm a segítséget

  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <hamsandwich>
  4. #include <engine>
  5. #include <cstrike>
  6. #include <fun>
  7.  
  8. new const PLUGIN[] = "Easter Eggs";
  9. new const VERSION[] = "1.0";
  10. new const AUTHOR[] = "mforce";      // With lot of helps from tuty's plugin.
  11.  
  12.  
  13.  
  14. #define IS_PLAYER(%1)           (1 <= %1 <= gMaxPlayers)
  15.  
  16. enum _: iGifts {
  17.     GIFT_ARMOR_KEVLAR,
  18.     GIFT_AMMO,
  19.     GIFT_BONUS_HEALTH,
  20.     GIFT_RANDOM_GRENADE,
  21.     GIFT_FRAG,
  22.     GIFT_DEFUSER,
  23.     GIFT_MONEY,
  24.     GIFT_DRINK
  25. };
  26.  
  27. new const szGiftNames[iGifts][] = {
  28.     "Kevlár",
  29.     "Töltény",
  30.     "Bónusz Élet",
  31.     "Random Gránát",
  32.     "Bónusz Frag",
  33.     "Hatástalanító készlet",
  34.     "Pénz",
  35.     "Pálinka"
  36. };
  37.  
  38. new const gGiftModels[][] = {
  39.     "models/eventtok/eventtok.mdl"
  40. };
  41.  
  42. new const szPluginTag[] = "[ProHunter~Tök]";
  43.  
  44. new const szGiftClassname[] = "Present_Entity";
  45.  
  46. new const szPickupArmorSound[] = "items/ammopickup2.wav";
  47. new const szHealthPickUpSound[] = "items/medshot4.wav";
  48. new const szBonusFragsPickupSound[] = "bullchicken/bc_bite1.wav";
  49. new const szDefuserPickupSound[] = "items/gunpickup3.wav";
  50. new const szDrinkSound[] = "barney/whatisthat.wav";
  51.  
  52. new gMaxPlayers;
  53. new gHudSync;
  54. new gMessageScoreInfo;
  55. new gInfoTarget;
  56. new g_iMsgSetFOV;
  57.  
  58.  
  59. public plugin_init()
  60. {
  61.     register_plugin(PLUGIN, VERSION, AUTHOR);
  62.  
  63.     register_event("DeathMsg", "EVENT_DeathMsg", "a");
  64.  
  65.     register_event("HLTV", "EVENT_RoundStart", "a", "1=0", "2=0")  
  66.     register_think(szGiftClassname, "forward_GiftThink");
  67.    
  68.     register_touch(szGiftClassname, "player", "forward_TouchGift");
  69.    
  70.     gHudSync = CreateHudSyncObj();
  71.     gMaxPlayers = get_maxplayers();
  72.  
  73.     gMessageScoreInfo = get_user_msgid("ScoreInfo");
  74.     g_iMsgSetFOV = get_user_msgid("SetFOV");
  75.  
  76.     gInfoTarget = engfunc(EngFunc_AllocString, "info_target");
  77. }
  78.  
  79. public plugin_precache()
  80. {
  81.     for(new i = 0; i < sizeof gGiftModels; i++) {
  82.         precache_model(gGiftModels[i]);
  83.     }
  84.    
  85.     precache_sound(szPickupArmorSound);
  86.     precache_sound(szHealthPickUpSound);
  87.     precache_sound(szBonusFragsPickupSound);
  88.     precache_sound(szDefuserPickupSound);
  89.     precache_sound(szDrinkSound);
  90. }
  91.  
  92. public EVENT_RoundStart()
  93. {
  94.     new players[32], num, tempid;
  95.     get_players(players, num, "c");
  96.    
  97.     for(new i = 0; i < num; i++) {
  98.         tempid = players[i]
  99.         remove_task(tempid);
  100.         removedrug(tempid);
  101.     }
  102.    
  103.     RemoveEntities(szGiftClassname);
  104. }
  105.  
  106. public EVENT_DeathMsg()
  107. {
  108.     new iKiller = read_data(1);
  109.     new iVictim = read_data(2);
  110.  
  111.     if(!IS_PLAYER(iVictim)) return;
  112.    
  113.     remove_task(iVictim);
  114.     removedrug(iVictim);
  115.  
  116.     if(iVictim == iKiller) return;
  117.  
  118.     new Float:flOrigin[3];
  119.     pev(iVictim, pev_origin, flOrigin);
  120.    
  121.     flOrigin[2] += -34.0;
  122.  
  123.     new Float:flAngles[3];
  124.     pev(iVictim, pev_angles, flAngles);
  125.        
  126.     new iEntity = engfunc(EngFunc_CreateNamedEntity, gInfoTarget);
  127.  
  128.     if(!pev_valid(iEntity)) return;
  129.  
  130.     set_pev(iEntity, pev_classname, szGiftClassname);
  131.     set_pev(iEntity, pev_angles, flAngles);
  132.  
  133.     engfunc(EngFunc_SetOrigin, iEntity, flOrigin);
  134.     engfunc(EngFunc_SetModel, iEntity, gGiftModels[random_num(0, charsmax(gGiftModels))]);
  135.    
  136.     ExecuteHam(Ham_Spawn, iEntity);
  137.  
  138.     set_pev(iEntity, pev_solid, SOLID_BBOX);
  139.     set_pev(iEntity, pev_movetype, MOVETYPE_NONE);
  140.     set_pev(iEntity, pev_nextthink, get_gametime() + 2.0);
  141.  
  142.     engfunc(EngFunc_SetSize, iEntity, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 });
  143.     engfunc(EngFunc_DropToFloor, iEntity);
  144.    
  145.     set_rendering(iEntity, kRenderFxGlowShell, random(256), random(256), random(256), kRenderFxNone, 23);
  146.  
  147.     return;
  148. }
  149.  
  150. public forward_GiftThink(iEntity) {
  151.     if(pev_valid(iEntity)) {
  152.         set_rendering(iEntity, kRenderFxGlowShell, random(256), random(256), random(256), kRenderFxNone, random_num(5, 20));
  153.         set_pev(iEntity, pev_nextthink, get_gametime() + 2.0);
  154.     }
  155. }
  156.    
  157. public forward_TouchGift(iEntity, id) {
  158.     if(!pev_valid(iEntity) || !is_user_alive(id)) return PLUGIN_HANDLED;
  159.  
  160.     set_hudmessage(random(256), random(256), random(256), -1.0, 0.72, 1, 6.0, 6.0);
  161.  
  162.     switch(random(iGifts)) {
  163.         case GIFT_ARMOR_KEVLAR: {
  164.             new iArmor = 100;
  165.             cs_set_user_armor(id, iArmor, CS_ARMOR_VESTHELM);
  166.  
  167.             ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s (%d)", szPluginTag, szGiftNames[GIFT_ARMOR_KEVLAR], iArmor);
  168.             emit_sound(id, CHAN_ITEM, szPickupArmorSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM);
  169.         }
  170.        
  171.         case GIFT_AMMO: {
  172.             GiveWeaponAmmo(id);
  173.             ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s", szPluginTag, szGiftNames[GIFT_AMMO]);
  174.         }
  175.        
  176.         case GIFT_BONUS_HEALTH: {
  177.             new iBonusHealth = 15;
  178.             set_user_health(id, get_user_health(id) + iBonusHealth);
  179.            
  180.             ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s + (%d HP)", szPluginTag, szGiftNames[GIFT_BONUS_HEALTH], iBonusHealth);
  181.             emit_sound(id, CHAN_ITEM, szHealthPickUpSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM);
  182.         }
  183.        
  184.         case GIFT_RANDOM_GRENADE: {
  185.             switch(random_num(1, 3)) {
  186.                 case 1: {              
  187.                     give_item(id, "weapon_hegrenade");
  188.                     ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s (HE Gránát)", szPluginTag, szGiftNames[GIFT_RANDOM_GRENADE]);
  189.                 }
  190.  
  191.                 case 2: {
  192.                     give_item(id, "weapon_flashbang");
  193.                     ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s (Flash Gránát)", szPluginTag, szGiftNames[GIFT_RANDOM_GRENADE]);
  194.                 }
  195.  
  196.                 case 3: {  
  197.                     give_item(id, "weapon_smokegrenade");
  198.                     ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s (Smoke Gránát)", szPluginTag, szGiftNames[GIFT_RANDOM_GRENADE]);
  199.                 }
  200.             }
  201.            
  202.             emit_sound(id, CHAN_ITEM, szPickupArmorSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM);
  203.         }
  204.        
  205.         case GIFT_FRAG: {
  206.             new iBonusFrags = 2;
  207.  
  208.             set_user_frags(id, get_user_frags(id) + iBonusFrags);
  209.             UpdateScoreboard(id);
  210.  
  211.             ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s (%d Frag)", szPluginTag, szGiftNames[GIFT_FRAG], iBonusFrags);
  212.             emit_sound(id, CHAN_ITEM, szBonusFragsPickupSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM);
  213.         }
  214.    
  215.         case GIFT_DEFUSER: {
  216.             if(get_user_team(id) == 2) {
  217.                 cs_set_user_defuse(id, 1);
  218.                 ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s", szPluginTag, szGiftNames[GIFT_DEFUSER]);
  219.                
  220.                 emit_sound(id, CHAN_ITEM, szDefuserPickupSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM);
  221.             }
  222.            
  223.             else {
  224.                 ShowSyncHudMsg(id, gHudSync, "%s^nDefuser volt a tojásban, de te Terrorista vagy!", szPluginTag);
  225.                
  226.                 emit_sound(id, CHAN_ITEM, szDefuserPickupSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM);
  227.             }
  228.         }
  229.        
  230.         case GIFT_MONEY: {
  231.             new iMoney = cs_get_user_money(id);
  232.             new iMoneyGift = 1000;
  233.  
  234.             cs_set_user_money(id, (iMoney >= 16000) ? 16000 : iMoney + iMoneyGift, 1);
  235.             ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s + (%d$)", szPluginTag, szGiftNames[GIFT_MONEY], iMoneyGift);
  236.  
  237.         }
  238.        
  239.         case GIFT_DRINK: {
  240.             new iDrinkMinus = 5;
  241.             set_user_health(id, get_user_health(id) - iDrinkMinus);
  242.             makedrug(id);
  243.            
  244.             ShowSyncHudMsg(id, gHudSync, "%s^nFelvetted:^n%s (-%d HP)", szPluginTag, szGiftNames[GIFT_DRINK], iDrinkMinus);
  245.             emit_sound(id, CHAN_ITEM, szDrinkSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM);
  246.         }
  247.     }
  248.  
  249.         engfunc(EngFunc_RemoveEntity, iEntity);
  250.  
  251.         return PLUGIN_CONTINUE;
  252. }  
  253.  
  254. RemoveEntities(const szClassname[]) {
  255.     new iEntity = FM_NULLENT;
  256.    
  257.     while((iEntity = engfunc(EngFunc_FindEntityByString, FM_NULLENT, "classname", szClassname))) {
  258.         engfunc(EngFunc_RemoveEntity, iEntity);
  259.     }
  260. }
  261.  
  262. UpdateScoreboard(id) {
  263.     message_begin(MSG_ALL, gMessageScoreInfo);
  264.     write_byte(id);
  265.     write_short(get_user_frags(id));
  266.     write_short(get_user_deaths(id));
  267.     write_short(0);
  268.     write_short(get_user_team(id));
  269.     message_end();
  270. }
  271.  
  272. GiveWeaponAmmo(index) {
  273.     new szCopyAmmoData[40];
  274.    
  275.     switch(get_user_weapon(index))
  276.     {
  277.         case CSW_P228: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_357sig");
  278.         case CSW_SCOUT, CSW_G3SG1, CSW_AK47: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_762nato");
  279.         case CSW_XM1014, CSW_M3: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_buckshot");
  280.         case CSW_MAC10, CSW_UMP45, CSW_USP: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_45acp");
  281.         case CSW_SG550, CSW_GALIL, CSW_FAMAS, CSW_M4A1, CSW_SG552, CSW_AUG: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_556nato");
  282.         case CSW_ELITE, CSW_GLOCK18, CSW_MP5NAVY, CSW_TMP: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_9mm");
  283.         case CSW_AWP: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_338magnum");
  284.         case CSW_M249: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_556natobox");
  285.         case CSW_FIVESEVEN, CSW_P90: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_57mm");
  286.         case CSW_DEAGLE: copy(szCopyAmmoData, charsmax(szCopyAmmoData), "ammo_50ae");
  287.     }
  288.    
  289.     give_item(index, szCopyAmmoData);
  290.     give_item(index, szCopyAmmoData);
  291.     give_item(index, szCopyAmmoData);
  292. }
  293.  
  294. public makedrug(id) {
  295.     message_begin(MSG_ONE, g_iMsgSetFOV, {0, 0, 0}, id);
  296.     write_byte(135);
  297.     message_end();
  298.    
  299.     set_task(3.0, "removedrug", id);
  300. }
  301.  
  302. public removedrug(id) {
  303.     message_begin(MSG_ONE, g_iMsgSetFOV, { 0, 0, 0 }, id);
  304.     write_byte(90);
  305.     message_end();
  306. }
  307.  
  308. public client_disconnect(id) {
  309.     remove_task(id);
  310.     removedrug(id);
  311. }

_________________
Kép


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  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 51 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