hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 542 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 542 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Furien Pont Shop
HozzászólásElküldve: 2014.07.01. 11:56 
Offline
Újonc

Csatlakozott: 2014.07.01. 11:51
Hozzászólások: 7
Sziasztok, valaki át alakitaná nekem ezt a dollar boltot pont boltá?

Kód:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <engine>

#define PLUGIN "Furien Mod"
#define VERSION "64.2.6b"
#define AUTHOR "Kia"

// ===============================================================================
//    Variables
// ===============================================================================

/* Defines */

// Sets maximum of items for Furien Shop
#define FURIEN_SHOP_MAX    8

// Sets maximum of items for CT Shop
#define CT_SHOP_MAX       9

// Sets maximum of items for CT Gun Meun
#define CT_WEAPON_MAX       5

// Delay after spawn to give stuff
#define EQUIP_DELAY       0.1

// Maximum Health
#define MAX_HP          200

#define TASK_ID_SWAPTEAMS 2000
#define XO_WEAPON 4
#define m_pPlayer 41
#define XO_PLAYER   5
#define m_pActiveItem   373
#define DO_NOT_CHANGE   2

/* Enums */

enum _:ShopItems
{
   ItemName[64], ItemCost[ 64 ], ItemPlugin[64],  ItemFunction[ 64 ], ItemMax[64], ItemReset[64]
}

enum _:GunItems
{
   ItemName[64], ItemPri[64], ItemPriConst[64], ItemSec[64], ItemSecConst[64]
}

/* Entitys */

new TaskEnt

/* Hamsandwich */

new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame

/* Booleans */

new bool:g_bHasAcceptedSettings[33]
new bool:g_bHasWeapon[33]
new bool:g_bWantsLowGrav[33]
new bool:g_bHasSuperKnife[33]
new bool:g_bHasNoFlash[33]

/* Integer */

new g_iMaxPlayers

new g_iItemIndex_T[33][FURIEN_SHOP_MAX]
new g_iItemIndex_CT[33][CT_SHOP_MAX]

new g_iHP[33]

/* CVars */

new cvar_gm, cvar_hpsave

/* CVars - Furien */

new cvar_t_starthe, cvar_t_startflash, cvar_t_startsmoke
new cvar_t_grav, cvar_t_speed, cvar_t_fs
new cvar_t_psf

/* CVars - CTs */

new cvar_ct_starthe, cvar_ct_startflash, cvar_ct_startsmoke
new cvar_ct_grav, cvar_ct_fs
new cvar_ct_ammo_pri, cvar_ct_ammo_sec

/* Constants - Shop */

new const g_mFurienItems[FURIEN_SHOP_MAX][ShopItems] = {
   {"Superknife",       16000,    "CORE",       "shop_t_givesk",    1,   DO_NOT_CHANGE}, // "Itemname", COST, "CORE / Pluginname", "Function", "Maximum", "Reset
   {"Deagle (14 Gojoval)", 10000,  "CORE",          "shop_t_givedgl",   1,   2}, // 0 : No Reset ; 1 : Round Reset ; 2 : Death Reset
   {"50 HP",       4000,    "CORE",       "shop_t_givehp",   2,   1},
   {"75 AP",      2000,   "CORE",       "shop_t_giveap",   2,   1},
   {"1 HE Granat",   1000,   "CORE",       "shop_givehe",      2,   1},
   {"1 Vakito Granat",   1000,   "CORE",       "shop_giveflash",   2,   1},
   {"1 Fust Granat",   1000,   "CORE",       "shop_givesmoke",   1,   1},
   {"Nincs vakulas",      500,   "CORE",       "shop_givenf",      1,   DO_NOT_CHANGE}
}

new const g_mCTItems[CT_SHOP_MAX][ShopItems] = {
   {"Defuse Kit",      300,   "CORE",          "shop_ct_givedefkit",      1,   2},
   {"Para (200 Gojoval)",   16000,   "CORE",          "shop_ct_givepara",      1,   1},
   {"50 HP",      4000,   "CORE",          "shop_ct_givehp",      2,   1},
   {"75 AP",      3500,   "CORE",          "shop_ct_giveap",      1,   1},
   {"1 HE Granat",      2000,   "CORE",          "shop_givehe",         1,   1},
   {"1 Vakito Granat",   1000,   "CORE",          "shop_giveflash",      1,   1},
   {"1 Fust Granat",   1000,   "CORE",          "shop_givesmoke",      1,   1},
   {"Nincs vakulas",   4000,   "CORE",          "shop_givenf",         1,   DO_NOT_CHANGE},
   {"Superdeagle",      16000,   "kfm_extra_sdgl.amxx",       "zp_extra_item_selected",   1,   1}
}

/* Constants - Weapons */

new const g_mCTWeapons[CT_WEAPON_MAX][GunItems] = {
   {"AK47 + Deagle",    "weapon_ak47",      CSW_AK47,      "weapon_deagle",   CSW_DEAGLE},
   {"M4A1 + Deagle",    "weapon_m4a1",       CSW_M4A1,      "weapon_deagle",   CSW_DEAGLE},
   {"Famas + Deagle",    "weapon_famas",    CSW_FAMAS,      "weapon_deagle",   CSW_DEAGLE},
   {"MP5 + Deagle",    "weapon_mp5navy",    CSW_MP5NAVY,       "weapon_deagle",   CSW_DEAGLE},
   {"XM1014 + Deagle",    "weapon_xm1014",    CSW_XM1014,      "weapon_deagle",   CSW_DEAGLE}
}
   
   
/* Constants */

const SWAP_PER_INTERVAL = 5
const Float:SWAP_INTERVAL = 0.5

const fPainShock = 108

new const models[][] =
{
   "models/w_backpack.mdl",
   "models/w_flashbang.mdl",
   "models/w_hegrenade.mdl",
   "models/w_smokegrenade.mdl"
}

/* Misc */

new g_msgScreenFade

/* PreCache */

new const sz_SuperKnife_V_Model[] = "models/kfm/v_superknife.mdl"

// ===============================================================================
//    plugin_precache - Files that will be downloaded
// ===============================================================================

public plugin_precache()
{
   precache_model(sz_SuperKnife_V_Model)
}
// ===============================================================================
//    plugin_init - Do not modify this unless you know what you're doing
// ===============================================================================

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   /* CVars */
   
   register_cvar("kias_furien", VERSION, FCVAR_SERVER | FCVAR_SPONLY | FCVAR_EXTDLL)
   cvar_gm         = register_cvar("kfm_godend",      "1")
   cvar_hpsave      = register_cvar("kfm_savehp",      "1")
   
   /* CVars - Furien */
   
   cvar_t_starthe      = register_cvar("kfm_t_starthe",    "1")
   cvar_t_startflash   = register_cvar("kfm_t_startflash",    "2")
   cvar_t_startsmoke    = register_cvar("kfm_t_startsmoke",    "1")
   
   cvar_t_grav      = register_cvar("kfm_t_grav",      "0.39")
   cvar_t_speed      = register_cvar("kfm_t_speed",      "565")
   cvar_t_fs      = register_cvar("kfm_t_fs",      "1")
   
   cvar_t_psf      = register_cvar("kfm_t_psf",      "1")

   /* CVars - CTs */
   
   cvar_ct_starthe      = register_cvar("kfm_ct_starthe",    "0")
   cvar_ct_startflash   = register_cvar("kfm_ct_startflash",    "0")
   cvar_ct_startsmoke    = register_cvar("kfm_ct_startsmoke",    "1")
   
   cvar_ct_grav      = register_cvar("kfm_ct_grav",      "1.0")
   cvar_ct_fs      = register_cvar("kfm_ct_fs",      "0")
   
   cvar_ct_ammo_pri   = register_cvar("kfm_ct_ammo_primary",   "200")
   cvar_ct_ammo_sec   = register_cvar("kfm_ct_ammo_secondary", "150")
   
   /* Commands */
   
   register_clcmd("say /guns",       "cmd_Guns")
   register_clcmd("say_team /guns",    "cmd_Guns")
   register_clcmd("say guns",       "cmd_Guns")
   register_clcmd("say_team guns",    "cmd_Guns")
   register_clcmd("guns",         "cmd_Guns")
   
   register_clcmd("say /gravity",       "cmd_Gravity")
   register_clcmd("say_team /gravity",    "cmd_Gravity")
   register_clcmd("say gravity",       "cmd_Gravity")
   register_clcmd("say_team gravity",    "cmd_Gravity")
   register_clcmd("gravity",      "cmd_Gravity")
   
   register_clcmd("say /shop",       "cmd_Shop")
   register_clcmd("say_team /shop",    "cmd_Shop")
   register_clcmd("say shop",       "cmd_Shop")
   register_clcmd("say_team shop",    "cmd_Shop")
   register_clcmd("shop",         "cmd_Shop")
   
   /* Events */
   
   register_event("SendAudio", "Event_CTWin", "a", "2&%!MRAD_ctwin" )
   register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
   register_event("ScreenFade", "Event_Flashed", "be", "4=255", "5=255", "6=255", "7>199")
   register_event("DeathMsg", "Event_DeathMsg", "a")
   register_event("WeapPickup", "Event_WeaponPickup", "b")
   
   /* Logevents */
   
   register_logevent("LogEvent_RoundEnd", 2, "1=Round_End") 
   
   /* Hamsandwich */
   
   RegisterHam(Ham_Spawn, "player", "func_HamSpawn", 1)
   RegisterHam(Ham_TakeDamage, "player", "func_TakeDamage")
   RegisterHam(Ham_Item_Deploy, "weapon_knife", "func_HamTookKnife", true)
   
   /* Forwards */
   
   register_forward(FM_Think, "fw_Think")
   register_forward(FM_Touch, "fw_Touch")
   
   /* Misc */
   
   TaskEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))   
   set_pev(TaskEnt, pev_classname, "speedometer_think")
   set_pev(TaskEnt, pev_nextthink, get_gametime() + 1.01)
   
   g_msgScreenFade = get_user_msgid("ScreenFade")
   g_iMaxPlayers = get_maxplayers()
}

// ===============================================================================
//    Client Connect
// ===============================================================================

public client_putinserver(id)
{
   g_bHasAcceptedSettings[id] = false
   g_bHasWeapon[id] = false
   g_bHasSuperKnife[id] = false
   g_bHasNoFlash[id] = false
   g_bWantsLowGrav[id] = true
   
   g_iItemIndex_CT[id][0] = false
   g_iItemIndex_T[id][0] = false
   g_iHP[id] = 100
}

// ===============================================================================
//    Client Disconnect
// ===============================================================================

public client_disconnect(id)
{
   g_bHasAcceptedSettings[id] = false
   g_bHasWeapon[id] = false
   g_bHasSuperKnife[id] = false
   g_bHasNoFlash[id] = false
   g_bWantsLowGrav[id] = true
   
   g_iItemIndex_CT[id][0] = false
   g_iItemIndex_T[id][0] = false
   g_iHP[id] = 100
}

// ===============================================================================
//    say /guns
// ===============================================================================

public cmd_Guns(id)
{
   if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && !g_bHasWeapon[id])
      func_OpenGunMenu(id)
}

// ===============================================================================
//    say /gravity
// ===============================================================================

public cmd_Gravity(id)
{
   g_bWantsLowGrav[id] = g_bWantsLowGrav[id] ? false : true
   client_print(id, print_chat, "[%s] Low-Gravity is now %s.", PLUGIN, g_bWantsLowGrav[id] == true ? "enabled" : "disabled")
   
   if(cs_get_user_team(id) == CS_TEAM_T)
      set_user_gravity(id, g_bWantsLowGrav[id] ? get_pcvar_float(cvar_t_grav) : 1.0)
}

// ===============================================================================
//    say /shop
// ===============================================================================

public cmd_Shop(id)
{
   if(!is_user_alive(id))
      return PLUGIN_HANDLED
      
   switch(cs_get_user_team(id))
   {
      case CS_TEAM_T  : func_OpenTShop(id)
      case CS_TEAM_CT : func_OpenCTShop(id)
   }
   
   return PLUGIN_HANDLED
}

// ===============================================================================
//    func_OpenTShop - Shop for Ts
// ===============================================================================

public func_OpenTShop(id)
{
   
   static szMenuTitle[128]
   new szItemTitle[128]
   new iAccess
   
   formatex(szMenuTitle, charsmax(szMenuTitle), "Furien V64 - Furien Bolt")
   
   new menu = menu_create(szMenuTitle, "func_OpenTShop_handler")
   
   for( new i = 0; i < sizeof(g_mFurienItems); i++ )
   {
      formatex(szItemTitle, charsmax(szItemTitle), "%s - \y$%i", g_mFurienItems[i][ItemName], g_mFurienItems[i][ItemCost])
      
      if(cs_get_user_money(id) >= g_mFurienItems[i][ItemCost] && g_iItemIndex_T[id][i] < g_mFurienItems[i][ItemMax] )
         iAccess = 0
      else
         iAccess = 1<<31
            
      menu_additem(menu, szItemTitle, _, iAccess)
   }
      
   menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
   menu_display( id, menu, 0 );
   return PLUGIN_HANDLED;
}

public func_OpenTShop_handler(id, menu, item)
{
   if( item == MENU_EXIT || cs_get_user_team(id) != CS_TEAM_T || !is_user_alive(id))
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   new szPlugin[64]
   
   if(equali(g_mFurienItems[item][ItemPlugin], "CORE"))
      formatex(szPlugin, charsmax(szPlugin), "")
   else
      formatex(szPlugin, charsmax(szPlugin), g_mFurienItems[item][ItemPlugin])
   
   if( callfunc_begin(g_mFurienItems[item][ItemFunction], szPlugin) == 1 )
   {
      callfunc_push_int(id)
      callfunc_end()
         
      Reduce(id, g_mFurienItems[item][ItemCost])         
      g_iItemIndex_T[id][item]++
   }
   
   
   return PLUGIN_HANDLED
}

// ===============================================================================
//    Item Handlers for Furien Shop
// ===============================================================================

public shop_t_givesk(id)
{
   g_bHasSuperKnife[id] = true
   engclient_cmd(id, "weapon_knife")
   ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, m_pActiveItem, XO_PLAYER))
}

public shop_t_givedgl(id)
{
   give_item(id, "weapon_deagle")
   cs_set_user_bpammo(id, CSW_DEAGLE, 7)
   engclient_cmd(id, "weapon_deagle")
}

public shop_t_givehp(id)
{
   set_user_health(id, min(get_user_health(id) + 50, MAX_HP)) 
}

public shop_t_giveap(id)
   set_user_armor(id, get_user_armor(id) + 75)

// ===============================================================================
//    General Item Handlers
// ===============================================================================


public shop_givehe(id)
{
   if(cs_get_user_bpammo(id, CSW_HEGRENADE) < 1)
   {
      give_item(id, "weapon_hegrenade")
      return PLUGIN_HANDLED
   }
   
   cs_set_user_bpammo(id,CSW_HEGRENADE, cs_get_user_bpammo(id, CSW_HEGRENADE) + 1)
   return PLUGIN_HANDLED
}

public shop_giveflash(id)
{
   if(cs_get_user_bpammo(id, CSW_FLASHBANG) < 1)
   {
      give_item(id, "weapon_flashbang")
      return PLUGIN_HANDLED
   }
   
   cs_set_user_bpammo(id,CSW_FLASHBANG, cs_get_user_bpammo(id, CSW_FLASHBANG) + 1)   
   return PLUGIN_HANDLED
}

public shop_givesmoke(id)
{
   if(cs_get_user_bpammo(id, CSW_SMOKEGRENADE) < 1)
   {
      give_item(id, "weapon_smokegrenade")
      return PLUGIN_HANDLED
   }
   
   cs_set_user_bpammo(id,CSW_SMOKEGRENADE, cs_get_user_bpammo(id, CSW_SMOKEGRENADE) + 1)   
   return PLUGIN_HANDLED
}
   
public shop_givenf(id)
   g_bHasNoFlash[id] = true

// ===============================================================================
//    func_OpenCTShop - Shop for CTs
// ===============================================================================

public func_OpenCTShop(id)
{
   if(!is_user_alive(id))
      return PLUGIN_HANDLED
   
   static szMenuTitle[64]
   new szItemTitle[64]
   new iAccess
   
   formatex(szMenuTitle, charsmax(szMenuTitle), "Furien V64 - Anti-Furien Bolt")
   
   new menu = menu_create(szMenuTitle, "func_OpenCTShop_handler")
   
   for( new i = 0; i < sizeof(g_mCTItems); i++ )
   {
      formatex(szItemTitle, charsmax(szItemTitle), "%s - \y$%i", g_mCTItems[i][ItemName], g_mCTItems[i][ItemCost])
      
      if(cs_get_user_money(id) >= g_mCTItems[i][ItemCost] && g_iItemIndex_CT[id][i] < g_mCTItems[i][ItemMax] )
         iAccess = 0
      else
         iAccess = 1<<31

      menu_additem(menu, szItemTitle, _, iAccess)
   }
      
   menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
   menu_display( id, menu, 0 );
   return PLUGIN_HANDLED;
}

public func_OpenCTShop_handler(id, menu, item)
{
   if( item == MENU_EXIT ||  cs_get_user_team(id) != CS_TEAM_CT || !is_user_alive(id) )
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   new szPlugin[64]
   
   if(equali(g_mCTItems[item][ItemPlugin], "CORE"))
      formatex(szPlugin, charsmax(szPlugin), "")
   else
      formatex(szPlugin, charsmax(szPlugin), g_mCTItems[item][ItemPlugin])
   
   if( callfunc_begin(g_mCTItems[item][ItemFunction], szPlugin) == 1 )
   {
      callfunc_push_int(id)
      callfunc_end()
      
      Reduce(id, g_mCTItems[item][ItemCost])
      g_iItemIndex_CT[id][item]++
   }
   
   return PLUGIN_HANDLED
}

// ===============================================================================
//    Item Handlers for CT Shop
// ===============================================================================

public shop_ct_givedefkit(id)
   cs_set_user_defuse(id, 1)

public shop_ct_givepara(id)
{
   give_item(id, "weapon_m249")
   cs_set_user_bpammo(id, CSW_M249, 100)
}

public shop_ct_givehp(id)
   set_user_health(id, min(get_user_health(id) + 50, MAX_HP)) 

public shop_ct_giveap(id)
   set_user_armor(id, get_user_armor(id) + 75)


// ===============================================================================
//    func_OpenGunMenu - Gun Menu for CTs
// ===============================================================================

public func_OpenGunMenu(id)
{
   if(!is_user_alive(id))
      return PLUGIN_HANDLED
   
   static szMenuTitle[128]
   new szItemTitle[128]

   formatex(szMenuTitle, charsmax(szMenuTitle), "Furien V64 - Gun Menu")
   
   new menu = menu_create(szMenuTitle, "func_OpenGunMenu_handler")
   
   for( new i = 0; i < sizeof(g_mCTWeapons); i++ )
   {
      formatex(szItemTitle, charsmax(szItemTitle), "%s", g_mCTWeapons[i][ItemName])
            
      menu_additem(menu, szItemTitle, _, 0)
   }
      
   menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
   menu_display( id, menu, 0 );
   return PLUGIN_HANDLED;
}

public func_OpenGunMenu_handler(id, menu, item)
{
   if(cs_get_user_team(id) != CS_TEAM_CT || !is_user_alive(id))
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   give_item(id, g_mCTWeapons[item][ItemPri])
   cs_set_user_bpammo(id, g_mCTWeapons[item][ItemPriConst], get_pcvar_num(cvar_ct_ammo_pri))
   
   give_item(id, g_mCTWeapons[item][ItemSec])
   cs_set_user_bpammo(id, g_mCTWeapons[item][ItemSecConst], get_pcvar_num(cvar_ct_ammo_sec))
   
   g_bHasWeapon[id] = true
   return PLUGIN_HANDLED
}

// ===============================================================================
//    Event - @ CT Win - Credits go to Exolent
// ===============================================================================

public Event_CTWin()
{
   static iCount, client;
   
   iCount = 0;
   
   for( client = 0; client <= g_iMaxPlayers; client++ )
   {
      if( is_user_connected( client ) )
      {
         if( iCount >= SWAP_PER_INTERVAL )
         {
            set_task( SWAP_INTERVAL, "Event_CTWin", TASK_ID_SWAPTEAMS );
         }
         
         switch( cs_get_user_team( client ) )
         {
            case CS_TEAM_T:
            {
               cs_set_user_team( client, CS_TEAM_CT, CS_CT_GIGN );
               
               iCount++;
            }
            case CS_TEAM_CT:
            {
               cs_set_user_team( client, CS_TEAM_T, CS_T_LEET );
               
               iCount++;
            }
         }
      }
   }
   
   remove_task(TASK_ID_SWAPTEAMS)
}

// ===============================================================================
//    Event - CurWeapon
// ===============================================================================

public Event_CurWeapon(id)
{
   if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
      set_user_maxspeed(id, get_pcvar_float(cvar_t_speed))
}

// ===============================================================================
//    Event - Flashed
// ===============================================================================

public Event_Flashed(id)
{
   if(g_bHasNoFlash[id])
   {
      message_begin(MSG_ONE, g_msgScreenFade, {0,0,0},id)
      write_short(1)
      write_short(1)
      write_short(1)
      write_byte(0)
      write_byte(0)
      write_byte(0)
      write_byte(255)
      message_end()
   }
   
}

// ===============================================================================
//    Event - DeathMsg
// ===============================================================================

public Event_DeathMsg(id)
{
   new iVictim = read_data(2)
   
   for( new i = 0; i < sizeof(g_mCTItems); i++ )
   {
      if(g_mCTItems[i][ItemReset] == 2)
         g_iItemIndex_CT[iVictim][i] = 0
   }
      
   for( new i = 0; i < sizeof(g_mFurienItems); i++ )
   {
      if(g_mFurienItems[i][ItemReset] == 2)
      {
         g_iItemIndex_T[iVictim][i] = 0
      }
   }
   
   g_bHasSuperKnife[iVictim] = false
   g_bHasNoFlash[iVictim] = false
}

// ===============================================================================
//    Event - Weapon Pickup
// ===============================================================================

public Event_WeaponPickup(id, weapon)
{
   if(cs_get_user_team(id) == CS_TEAM_T && get_user_weapon(id) == CSW_C4)
   {
      return PLUGIN_HANDLED
   }
   return PLUGIN_CONTINUE
}

// ===============================================================================
//    LogEvent - Round End
// ===============================================================================

public LogEvent_RoundEnd()
{
   new players[32], pnum, tempid
   get_players(players, pnum, "a")
   
   for( new i; i<pnum; i++ )
   {
      tempid = players[i]
      
      if(get_pcvar_num(cvar_hpsave) && get_user_health(tempid) > 100)
         g_iHP[tempid] = get_user_health(tempid)
      
      strip_user_weapons(tempid)
      give_item(tempid, "weapon_knife")
      
      if(get_pcvar_num(cvar_gm))
         set_user_godmode(tempid, 1)
   }
}      

// ===============================================================================
//    Hamsandwich - Ham_Spawn
// ===============================================================================

public func_HamSpawn(id)
{
   if(is_user_alive(id))
   {
      for( new i = 0; i < sizeof(g_mCTItems); i++ )
      {
         if(g_mCTItems[i][ItemReset] == 1)
         {
            g_iItemIndex_CT[id][i] = 0
         }
      }
      
      for( new i = 0; i < sizeof(g_mFurienItems); i++ )
      {
         if(g_mFurienItems[i][ItemReset] == 1)
         {
            g_iItemIndex_T[id][i] = 0
         }
      }
      
      if(get_pcvar_num(cvar_hpsave))
      {
         if(g_iHP[id] < 100)
            g_iHP[id] = 100
            
         set_user_health(id, g_iHP[id])
         g_iHP[id] = 100
      }
      
      set_user_godmode(id, 0)
      strip_user_weapons(id)
      give_item(id, "weapon_knife")
      
      if(g_bHasAcceptedSettings[id])
      {
         func_ApplyGameplay(id)
      }
      else
      {
         func_AskForPermission(id)
      }
   }
}

// ===============================================================================
//    Hamsandwich - Take_Damage - Credits go to ConnorMcLeod
// ===============================================================================

public func_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
   if (inflictor == attacker && is_user_alive(attacker) && get_user_weapon(attacker) == CSW_KNIFE && g_bHasSuperKnife[attacker])
   {
      SetHamParamFloat(4, damage * 3)
   }
   
   if(get_pcvar_num(cvar_t_psf) && cs_get_user_team(victim) == CS_TEAM_T)
      set_pdata_float(victim, fPainShock, 1.0, 5)
}

// ===============================================================================
//    Hamsandiwch - Item_Deploy - Credits go to ConnorMcLeod
// ===============================================================================

public func_HamTookKnife(iKnife)
{
   new id = get_pdata_cbase(iKnife, m_pPlayer, XO_WEAPON)
   
   if(g_bHasSuperKnife[id])
   {
      entity_set_string( id, EV_SZ_viewmodel, sz_SuperKnife_V_Model)
   }
}

// ===============================================================================
//    Forwards - FM_Think - Credits go to ConnorMcLeod
// ===============================================================================

public fw_Think(ent)
{
   if(ent == TaskEnt)
   {
      SpeedTask()
      set_pev(ent, pev_nextthink,  get_gametime() + 0.1)
   }
}

public SpeedTask()
{
   static i, target
   static Float:velocity[3]
   static Float:speed

   for(i = 1; i <= g_iMaxPlayers ; i++)
   {
      if(!is_user_connected(i)) continue
   
      target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i
      pev(target, pev_velocity, velocity)
   
      speed = vector_length(velocity)
      if(speed < 5 && get_user_weapon(i) == CSW_KNIFE && get_user_team(i) == 1)
      {
          set_user_rendering(i,kRenderFxNone,0,0,0,kRenderTransAlpha,0) 
      }
      else if(speed > 5)
      {
         set_user_rendering(i,kRenderFxNone,0,0,0,kRenderTransAlpha,255) 
      }
   }
}

// ===============================================================================
//    Forwards - FM_Touch
// ===============================================================================

public fw_Touch( ent , id )
{
   if (!(1 <= id <= g_iMaxPlayers) || get_user_team(id) == 2 || !pev_valid(ent) || !(pev(ent , pev_flags) & FL_ONGROUND))
      return FMRES_IGNORED;
   
   static szEntModel[32];
   pev(ent , pev_model , szEntModel , 31);
   
   return equal(szEntModel , models[random(sizeof(models))]) ? FMRES_IGNORED : FMRES_SUPERCEDE;
}

// ===============================================================================
//    func_ApplyGameplay - Getting Players Team and selecting function
// ===============================================================================

public func_ApplyGameplay(id)
{
   switch(cs_get_user_team(id))
   {
      case CS_TEAM_CT : set_task(EQUIP_DELAY, "func_CTEquip", id)
      case CS_TEAM_T : set_task(EQUIP_DELAY, "func_TEquip", id)
   }
}

// ===============================================================================
//    func_CTEquip - Giving Equipment for CTs
// ===============================================================================

public func_CTEquip(id)
{
   if(get_pcvar_num(cvar_ct_starthe) > 0)
   {
      give_item(id, "weapon_hegrenade")
      if(get_pcvar_num(cvar_ct_starthe) > 1)
      {
         cs_set_user_bpammo(id, CSW_HEGRENADE, get_pcvar_num(cvar_ct_starthe))
      }
   }
   
   if(get_pcvar_num(cvar_ct_startflash) > 0)
   {
      give_item(id, "weapon_flashbang")
      if(get_pcvar_num(cvar_ct_startflash) > 1)
      {
         cs_set_user_bpammo(id, CSW_FLASHBANG, get_pcvar_num(cvar_ct_startflash))
      }
   }
   
   if(get_pcvar_num(cvar_ct_startsmoke) > 0)
   {
      give_item(id, "weapon_smokegrenade")
      if(get_pcvar_num(cvar_ct_startsmoke) > 1)
      {
         cs_set_user_bpammo(id, CSW_SMOKEGRENADE, get_pcvar_num(cvar_ct_startsmoke))
      }
   }
   
   set_user_gravity(id, get_pcvar_float(cvar_ct_grav))
   set_user_footsteps(id, get_pcvar_num(cvar_ct_fs))
   ExecuteHamB(Ham_Player_ResetMaxSpeed, id)
   func_OpenGunMenu(id)
}

// ===============================================================================
//    func_TEquip - Giving Equipment for Ts
// ===============================================================================

public func_TEquip(id)
{
   if(get_pcvar_num(cvar_t_starthe) > 0)
   {
      give_item(id, "weapon_hegrenade")
      if(get_pcvar_num(cvar_t_starthe) > 1)
      {
         cs_set_user_bpammo(id, CSW_HEGRENADE, get_pcvar_num(cvar_t_starthe))
      }
   }
   
   if(get_pcvar_num(cvar_t_startflash) > 0)
   {
      give_item(id, "weapon_flashbang")
      if(get_pcvar_num(cvar_t_startflash) > 1)
      {
         cs_set_user_bpammo(id, CSW_FLASHBANG, get_pcvar_num(cvar_t_startflash))
      }
   }
   
   if(get_pcvar_num(cvar_t_startsmoke) > 0)
   {
      give_item(id, "weapon_smokegrenade")
      if(get_pcvar_num(cvar_t_startsmoke) > 1)
      {
         cs_set_user_bpammo(id, CSW_SMOKEGRENADE, get_pcvar_num(cvar_t_startsmoke))
      }
   }
   
   if(g_bWantsLowGrav[id])
      set_user_gravity(id, get_pcvar_float(cvar_t_grav))
   
   set_user_footsteps(id, get_pcvar_num(cvar_t_fs))
   set_user_maxspeed(id, get_pcvar_float(cvar_t_speed))
}
   
// ===============================================================================
//    func_AskForPermission - Asking player to set cl_ values.
// ===============================================================================

public func_AskForPermission(id)
{
   new szMenuTitle[128]
   formatex(szMenuTitle, charsmax(szMenuTitle), "\wSzukseges a modhoz az elore es hatra sebesseged megvaltoztatasa engedelyezed?")
   new menu = menu_create(szMenuTitle, "func_AskForPermission_handler")
   
   menu_additem(menu, "\wIgen","1",0);
   menu_additem(menu, "\rNem (Lassabban futsz mint a tobbiek)","2",0);
   
   menu_display(id, menu, 0);
   return PLUGIN_HANDLED
}

public func_AskForPermission_handler(id, menu, item)
{
   new data[6], szName[64];
   new access, callback;
   menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
   new key = str_to_num(data);
   
   switch(key)
   {
      case 1:
      {
         g_bHasAcceptedSettings[id] = true
         
         client_cmd(id, "cl_forwardspeed %i",get_pcvar_num(cvar_t_speed))
         client_cmd(id, "cl_sidespeed %i",get_pcvar_num(cvar_t_speed))
         client_cmd(id, "cl_backspeed %i",get_pcvar_num(cvar_t_speed))
         
         if(is_user_alive(id))
            func_ApplyGameplay(id)
      }
      case 2:
      {
         g_bHasAcceptedSettings[id] = false
      }
   }
}

// ===============================================================================
//    Stocks
// ===============================================================================

stock Reduce(id, amount)
   cs_set_user_money(id, cs_get_user_money(id) - amount)


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