Problema dr duel

Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
Andru.
Membru, skill 0
Membru, skill 0
Posts: 6
Joined: 25 Jun 2017, 19:04
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: DR.B-ZONE.RO
Fond eXtream: 0
Contact:

02 Jul 2017, 11:13

Salut, am si eu o eroare la un plugin pe care nu inteleg de ce apare.

Pluginul default: https://pastebin.com/7XQvJY7R
luat de aici https://forums.alliedmods.net/showthrea ... t=deathrun

Problema este in felul urmator, daca incerc sa schimb ce este in rusa in meniu cand o sa-l compilez imi va da eroarea asta:

dr_duel_CT_Only.sma(1) : error 010: invalid function or declaration

ex: el este asa
new TextTitle[ 200 char ]
formatex(TextTitle, charsmax(TextTitle), "\rВыберите оружие для дуэли:")
new WeapScout[ 200 char ]
formatex(WeapScout, charsmax(WeapScout), "\yМуха [Scout]")
new WeapDeagle[ 200 char ]
formatex(WeapDeagle, charsmax(WeapDeagle), "\yДигл [Deagle]")
new WeapAWP[ 200 char ]
formatex(WeapAWP, charsmax(WeapAWP), "\yСлон [AWP]")
new WeapKNife[ 200 char ]
formatex(WeapKNife, charsmax(WeapKNife), "\yНож [KNife]")

daca il fac asa

new TextTitle[ 200 char ]
formatex(TextTitle, charsmax(TextTitle), "\rDuel Menu:")
new WeapScout[ 200 char ]
formatex(WeapScout, charsmax(WeapScout), "\yDuel Scout")
new WeapDeagle[ 200 char ]
formatex(WeapDeagle, charsmax(WeapDeagle), "\yDuel Deagle")
new WeapAWP[ 200 char ]
formatex(WeapAWP, charsmax(WeapAWP), "\yDuel AWP")
new WeapKNife[ 200 char ]
formatex(WeapKNife, charsmax(WeapKNife), "\yDuel Knife")

imi va da acea eroare.
RoyalServer 2
User avatar
OnuKa
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 886
Joined: 09 Mar 2014, 18:47
Detinator Steam: Nu
Reputatie: Utilizator neserios (tepar)
Membru Club eXtreamCS (2 luni)
Location: Tg-Jiu
Has thanked: 15 times
Been thanked: 8 times

02 Jul 2017, 11:17

| Afiseaza codul
/*
   [DeathRun] Duel (CT Choose ONLY)

   Plugin by Shidla [SGC]

   Idea & Pay (xD):
   DarkNill   |   ICQ: 555-995-004   (zombie-mod.ru)

   Credits:
   xPaw
   DJ_WEST


   Shidla [SGC] | 2010 | ICQ: 312-298-513

   1.3 [Final Version] | 23/11/2010

   http://Shidla.Gm-Project.NET/
*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>

#define OFFSET_RELOAD   54
#define LINUX_DIFF      4

#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))


/*========================================================================================================
===========================================[ Customizations ]=============================================
========================================================================================================*/

new const BOT_NAME[] = "DRM Fake Player"   // InGame Bot Name (in DeathrunManager!)

new const g_ChatPrefix[] = "[DeathRun Duel]"

new const CT_Aura[] = { 0, 0, 250 }
new const T_Aura[] = { 250, 0, 0 }

new const s_StartDuel[][] = { "misc/playduel.waw" }         // Duel starting sounds

/*========================================================================================================
=========================================[ Customizations End ]===========================================
========================================================================================================*/


new SayText, g_Maxplayers, g_Num_CT, g_MsgCurWeapon, g_DuelStarted, g_Weapon[33], g_WeaponClip[33],
   g_OneShot, g_ScoutBPAmmo, g_DeagleBPAmmo, g_AWPBPAmmo, g_Round_Ended, g_New_Round, RingSprite,
   CT_Player, T_Player, g_PlayerHP, g_DuelTimeOut, g_MsgSync, CountDown_Timer, g_ButtonsDisable

new const TASK_CONT = 1352   // CountDown task

public plugin_init()
{
   register_plugin("DeathRun Duel (CT Choose ONLY)", "1.3", "Shidla")
   register_cvar("Shidla", "DeathRun Duel 1.3 (CT Choose ONLY)", FCVAR_SERVER|FCVAR_SPONLY)

   register_clcmd("say /duel", "StartDuel")
   register_clcmd("say_team /duel", "StartDuel")
   register_clcmd("drop", "Drop_Cmd")

   g_ScoutBPAmmo   = register_cvar("dr_duel_scout_bpammo",      "200")
   g_DeagleBPAmmo   = register_cvar("dr_duel_deagle_bpammo",   "50")
   g_AWPBPAmmo      = register_cvar("dr_duel_awp_bpammo",      "100")
   g_PlayerHP      = register_cvar("dr_duel_player_hp",      "100")
   g_DuelTimeOut   = register_cvar("dr_duel_timeout",         "5")
   g_OneShot      = register_cvar("dr_duel_one_shot",       "1")   // 1 - one clip bullet (ONLY!); 0 - disable
   g_ButtonsDisable = register_cvar("dr_duel_buttons_disable",   "1")

   register_event("DeathMsg", "Event_Death", "a")
   register_event("HLTV", "Event_Round_Start", "a", "1=0", "2=0" )
   register_event("SendAudio", "Event_Round_End", "a", "2&%!MRAD_terwin")
   register_event("SendAudio", "Event_Round_End", "a", "2&%!MRAD_ctwin")
   register_event("SendAudio", "Event_Round_End", "a", "2&%!MRAD_rounddraw")
   register_event("CurWeapon","Event_CurWeapon","b")

   register_forward(FM_CmdStart, "fw_CmdStart",1)

   RegisterHam(Ham_Touch, "weaponbox", "fw_TouchWeapon")
   RegisterHam(Ham_Touch, "weapon_shield", "fw_TouchWeapon")
   RegisterHam(Ham_Touch, "armoury_entity", "fw_TouchWeapon")
   RegisterHam(Ham_Weapon_Reload, "weapon_scout", "fw_Reload_Post", 1)
   RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "fw_Reload_Post", 1)
   RegisterHam(Ham_Weapon_Reload, "weapon_awp", "fw_Reload_Post", 1)
   RegisterHam(Ham_Use, "func_button", "fw_Use")

   SayText = get_user_msgid("SayText")
   g_MsgCurWeapon = get_user_msgid("CurWeapon")
   g_MsgSync = CreateHudSyncObj()
   g_Maxplayers = get_maxplayers()

   register_dictionary("dr_duel.txt")
}

public plugin_precache()
{
   RingSprite = precache_model("sprites/zbeam5.spr")

   static i
   for(i = 0; i < sizeof s_StartDuel; i++)
      precache_sound(s_StartDuel)
}


public client_putinserver(id)
{
   g_Weapon[id] = 0
   g_WeaponClip[id] = 0
}

public StartDuel(id)
{
   if(!is_user_alive(id))
   {
      new t_Cant_Dead[600 char]
      formatex(t_Cant_Dead, charsmax(t_Cant_Dead), "%L", id, "DR_CANT_DEAD")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Dead)
      return PLUGIN_CONTINUE
   }

   if(g_Round_Ended)
   {
      new t_Cant_Round_End[600 char]
      formatex(t_Cant_Round_End, charsmax(t_Cant_Round_End), "%L", id, "DR_CANT_ROUND_END")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Round_End)
      return PLUGIN_CONTINUE
   }

   if(cs_get_user_team(id) == CS_TEAM_T)
   {
      new t_Cant_Ter[600 char]
      formatex(t_Cant_Ter, charsmax(t_Cant_Ter), "%L", id, "DR_CANT_TER")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Ter)
      return PLUGIN_CONTINUE
   }

   if(g_DuelStarted)
   {
      new t_Cant_Started[600 char]
      formatex(t_Cant_Started, charsmax(t_Cant_Started), "%L", id, "DR_CANT_STARTED")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Started)
      return PLUGIN_CONTINUE
   }

   for(new i = 1; i <= g_Maxplayers; i++)
   {
      new Name[32]
      get_user_name(i, Name, 31)

      if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT)
      {
         g_Num_CT++
         if(g_Num_CT == 1)
            CT_Player = i
         else
            CT_Player = 0
      }

      if(is_user_alive(i) && (cs_get_user_team(i) == CS_TEAM_T) && !equal(Name, BOT_NAME))
         T_Player = i
   }

   if(g_Num_CT == 1)
   {
      new TextTitle[ 200 char ]
      formatex(TextTitle, charsmax(TextTitle), "\rAlege o arma din meniu:")
      new WeapScout[ 200 char ]
      formatex(WeapScout, charsmax(WeapScout), "\yScout")
      new WeapDeagle[ 200 char ]
      formatex(WeapDeagle, charsmax(WeapDeagle), "\yDeagle")
      new WeapAWP[ 200 char ]
      formatex(WeapAWP, charsmax(WeapAWP), "\yAWP")
      new WeapKNife[ 200 char ]
      formatex(WeapKNife, charsmax(WeapKNife), "\yKnife")

      new i_Menu = menu_create(TextTitle, "WeaponMenu")
      menu_additem(i_Menu, WeapScout, "1", 0)
      menu_additem(i_Menu, WeapDeagle, "2", 0)
      menu_additem(i_Menu, WeapAWP, "3", 0)
      menu_additem(i_Menu, WeapKNife, "4", 0)

      g_DuelStarted = true
      g_New_Round = false

      fm_strip_user_weapons(CT_Player)
      fm_strip_user_weapons(T_Player)

      set_pev(CT_Player, pev_health, float(get_pcvar_num(g_PlayerHP)))   // Set CT HP
      set_pev(T_Player, pev_health, float(get_pcvar_num(g_PlayerHP)))      // Set T HP

      if(is_user_alive(CT_Player) && is_user_connected(CT_Player))
      {
         fm_set_user_godmode(CT_Player, 1)
         set_task(0.5, "Show_Ring", CT_Player)
      }

      if(is_user_alive(T_Player) && is_user_connected(T_Player))
      {
         fm_set_user_godmode(T_Player, 1)
         set_task(0.5, "Show_Ring", T_Player)
      }

      menu_display(CT_Player, i_Menu, 0)
   }
   else
   {
      new t_Cant_Too_Many[600 char]
      formatex(t_Cant_Too_Many, charsmax(t_Cant_Too_Many), "%L", id, "DR_CANT_TOO_MANY", g_Num_CT)
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Too_Many)
   }

   g_Num_CT = 0

   return PLUGIN_CONTINUE
}

public WeaponMenu(id, menu, item)
{
   new s_Data[4], s_Name[64], i_Access, i_Callback

   menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
   new i_Key = str_to_num(s_Data)

   switch(i_Key)
   {
      case 1:
      {
         Give_Scout(CT_Player)
         Give_Scout(T_Player)
      }

      case 2:
      {
         Give_Deagle(CT_Player)
         Give_Deagle(T_Player)
      }

      case 3:
      {
         Give_AWP(CT_Player)
         Give_AWP(T_Player)
      }

      case 4:
      {
         fm_give_item(CT_Player, "weapon_knife")
         fm_give_item(T_Player, "weapon_knife")
      }
   }

   menu_destroy(menu)

   if(is_user_alive(CT_Player) && is_user_connected(CT_Player))
      fm_set_rendering(CT_Player, kRenderFxGlowShell, CT_Aura[0], CT_Aura[1], CT_Aura[2], kRenderNormal, 20)

   if(is_user_alive(T_Player) && is_user_connected(T_Player))
      fm_set_rendering(T_Player, kRenderFxGlowShell, T_Aura[0], T_Aura[1], T_Aura[2], kRenderNormal, 20)

   CountDown_Timer = get_pcvar_num(g_DuelTimeOut)
   set_task(float(get_pcvar_num(g_DuelTimeOut)), "Duel_Informer", TASK_CONT)

   return PLUGIN_HANDLED
}

public Event_Death()
{
   new CT_Count, CT_Last_Player

   for(new i = 1; i <= g_Maxplayers; i++)
   {
      new Name[32]
      get_user_name(i, Name, 31)

      if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT)
      {
         CT_Count++
         if(CT_Count == 1)
            CT_Last_Player = i
         else
            CT_Last_Player = 0
      }
   }

   if(CT_Count == 1 && !g_Round_Ended && is_user_alive(CT_Last_Player) && is_user_connected(CT_Last_Player) && is_user_alive(T_Player))
   {
      new t_Can_Start[600 char]
      formatex(t_Can_Start, charsmax(t_Can_Start), "%L", CT_Last_Player, "DR_CAN_START")
      print_col_chat(CT_Last_Player, "^4%s^1 %s",g_ChatPrefix, t_Can_Start)
   }

   CT_Count = 0
}

public Event_Round_Start()
{
   g_DuelStarted = false
   g_Round_Ended = false
   g_New_Round = true

   g_Num_CT = 0
   CT_Player = 0
   T_Player = 0

   remove_task(TASK_CONT)

   for(new id = 1; id <= g_Maxplayers; id++)
      fm_set_rendering(id)
}

public Event_Round_End()
{
   g_Round_Ended = true

   CT_Player = 0
   T_Player = 0
}

public Event_CurWeapon(id)
{
   g_Weapon[id] = read_data(2)
   g_WeaponClip[id] = read_data(3)

   if(g_DuelStarted)
   {
      if(g_WeaponClip[id] > 1)
      {
         if(g_Weapon[id] == CSW_SCOUT)
            Weapon_ReChek(id, CSW_SCOUT)

         else if(g_Weapon[id] == CSW_DEAGLE)
            Weapon_ReChek(id, CSW_DEAGLE)

         else if(g_Weapon[id] == CSW_AWP)
            Weapon_ReChek(id, CSW_AWP)
      }
   }
}

public fw_CmdStart(id, handle, seed)
{
   if(!is_user_alive(id) || !g_DuelStarted)
      return FMRES_IGNORED

   if((g_Weapon[id] == CSW_SCOUT || g_Weapon[id] == CSW_DEAGLE || g_Weapon[id] == CSW_AWP) && get_pcvar_num(g_OneShot))
   {
      //if(pev(id, pev_button) & IN_RELOAD)
      if(get_uc(handle, UC_Buttons) & IN_RELOAD)
      {
         set_uc(handle, UC_Buttons, get_uc(handle, UC_Buttons) & ~IN_RELOAD)
         return FMRES_HANDLED
      }
   }

   return FMRES_IGNORED
}

public Drop_Cmd(id)
{
   if(g_DuelStarted)
   {
      new t_Cant_Drop[600 char]
      formatex(t_Cant_Drop, charsmax(t_Cant_Drop), "%L", id, "DR_CANT_DROP")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Drop)
      return PLUGIN_HANDLED
   }

   return PLUGIN_CONTINUE
}

public fw_TouchWeapon(weapon, id)
{
   if(!is_user_connected(id))
      return HAM_IGNORED

   if(g_DuelStarted)
      return HAM_SUPERCEDE

   return HAM_IGNORED
}

public fw_Reload_Post(Weap)
{
   if(!g_DuelStarted && !get_pcvar_num(g_OneShot))
      return FMRES_IGNORED

   if(is_user_alive(CT_Player) && get_pdata_int(Weap, OFFSET_RELOAD, LINUX_DIFF))
   {
      if(g_Weapon[CT_Player] == CSW_SCOUT)
         cs_set_user_bpammo(CT_Player, CSW_SCOUT, cs_get_user_bpammo(CT_Player, CSW_SCOUT) + 9)
      else if(g_Weapon[CT_Player] == CSW_DEAGLE)
         cs_set_user_bpammo(CT_Player, CSW_DEAGLE, cs_get_user_bpammo(CT_Player, CSW_DEAGLE) + 6)
      else if(g_Weapon[CT_Player] == CSW_AWP)
         cs_set_user_bpammo(CT_Player, CSW_AWP, cs_get_user_bpammo(CT_Player, CSW_AWP) + 9)
   }

   if(is_user_alive(T_Player) && get_pdata_int(Weap, OFFSET_RELOAD, LINUX_DIFF))
   {
      if(g_Weapon[T_Player] == CSW_SCOUT)
         cs_set_user_bpammo(T_Player, CSW_SCOUT, cs_get_user_bpammo(T_Player, CSW_SCOUT) + 9)
      else if(g_Weapon[T_Player] == CSW_DEAGLE)
         cs_set_user_bpammo(T_Player, CSW_DEAGLE, cs_get_user_bpammo(T_Player, CSW_DEAGLE) + 6)
      else if(g_Weapon[T_Player] == CSW_AWP)
         cs_set_user_bpammo(T_Player, CSW_AWP, cs_get_user_bpammo(T_Player, CSW_AWP) + 9)
   }

   return FMRES_IGNORED
}

public fw_Use(ent, idcaller, idactivator, use_type, Float:value)
{
   if(g_ButtonsDisable && g_DuelStarted && is_user_alive(idactivator) && cs_get_user_team(idactivator) == CS_TEAM_T)
   {
      new t_Cant_Drop[600 char]
      formatex(t_Cant_Drop, charsmax(t_Cant_Drop), "%L", idactivator, "DR_CANT_USE")
      print_col_chat(idactivator, "^4%s^1 %s",g_ChatPrefix, t_Cant_Drop)
      return HAM_SUPERCEDE
   }

   return HAM_IGNORED
}

public Duel_Informer()
{
   if(CountDown_Timer > 1)
   {
      set_hudmessage(255, 0, 0, -1.0, 0.28, 2, 0.02, 1.0, 0.01, 0.1, -1)

      if(CountDown_Timer != 1)
      {
         for(new id = 1; id <= g_Maxplayers; id++)
         {
            new t_Time_Delay[600 char]
            formatex(t_Time_Delay, charsmax(t_Time_Delay), "%L", id, "DR_TIME_DELAY", CountDown_Timer - 1)
            ShowSyncHudMsg(id, g_MsgSync, "%s", t_Time_Delay)
         }
      }
   }
   --CountDown_Timer

   if(CountDown_Timer >= 1)
      set_task(1.0, "Duel_Informer", TASK_CONT)
   else
   {
      client_cmd(0, "spk %s", s_StartDuel[random_num(0, sizeof s_StartDuel - 1)])

      if(is_user_alive(CT_Player) && is_user_connected(CT_Player))
         fm_set_user_godmode(CT_Player, 0)

      if(is_user_alive(T_Player) && is_user_connected(T_Player))
         fm_set_user_godmode(T_Player, 0)

      remove_task(TASK_CONT)
   }
}

public Show_Ring(id)
{
   if(g_DuelStarted && is_user_alive(id) && is_user_connected(id) && !g_New_Round)
   {
      static Float:origin[3]
      pev(id, pev_origin, origin)

      if(id == CT_Player)
         Ring(origin, CT_Aura[0], CT_Aura[1], CT_Aura[2])
      else if(id == T_Player)
         Ring(origin, T_Aura[0], T_Aura[1], T_Aura[2])

      set_task(0.5, "Show_Ring", id)
   }
   else
      remove_task(id)
}


/*========================================================================================================
===============================================[ Stocks ]=================================================
========================================================================================================*/
stock fm_give_item(index, const item[])
{
   if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
      return 0

   new ent = fm_create_entity(item)
   if (!pev_valid(ent))
      return 0

   new Float:origin[3]
   pev(index, pev_origin, origin)
   set_pev(ent, pev_origin, origin)
   set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
   dllfunc(DLLFunc_Spawn, ent)

   new save = pev(ent, pev_solid)
   dllfunc(DLLFunc_Touch, ent, index)
   if (pev(ent, pev_solid) != save)
      return ent

   engfunc(EngFunc_RemoveEntity, ent)

   return -1
}

stock fm_strip_user_weapons(index)
{
   new ent = fm_create_entity("player_weaponstrip")
   if (!pev_valid(ent))
      return 0

   dllfunc(DLLFunc_Spawn, ent)
   dllfunc(DLLFunc_Use, ent, index)
   engfunc(EngFunc_RemoveEntity, ent)

   return 1
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
   new Float:RenderColor[3]
   RenderColor[0] = float(r)
   RenderColor[1] = float(g)
   RenderColor[2] = float(b)

   set_pev(entity, pev_renderfx, fx)
   set_pev(entity, pev_rendercolor, RenderColor)
   set_pev(entity, pev_rendermode, render)
   set_pev(entity, pev_renderamt, float(amount))

   return 1
}

stock get_weapon_ent(id,wpnid=0,wpnName[]="")
{
   // who knows what wpnName will be
   static newName[32]

   // need to find the name
   if(wpnid) get_weaponname(wpnid,newName,31)

   // go with what we were told
   else formatex(newName,31,"%s",wpnName)

   // prefix it if we need to
   if(!equal(newName,"weapon_",7))
      format(newName,31,"weapon_%s",newName)

   new ent
   while((ent = engfunc(EngFunc_FindEntityByString,ent,"classname",newName)) && pev(ent,pev_owner) != id) {}

   return ent
}

stock fm_set_user_godmode(index, godmode = 0)
{
   set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM)

   return 1
}

stock print_col_chat(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)

   replace_all(msg, 190, "!g", "^4") // Green Color
   replace_all(msg, 190, "!y", "^1") // Default Color (Yellow)
   replace_all(msg, 190, "!t", "^3") // Team Color

   if (id) players[0] = id; else get_players(players, count, "ch") 
   {
      for ( new i = 0; i < count; i++ )
      {
         if ( is_user_connected(players) )
         {
            message_begin(MSG_ONE_UNRELIABLE, SayText, _, players)
            write_byte(players)
            write_string(msg)
            message_end()
         }
      }
   }
}

UpDate_HUD(id, csw_weapon)
{
   message_begin(MSG_ONE, g_MsgCurWeapon, _, id)
   write_byte(1)
   write_byte(csw_weapon)   //CSW_weapon
   write_byte(1)   // MaxClip
   message_end()
}

Give_Scout(id)
{
   if(is_user_alive(id) && is_user_connected(id))
   {
      fm_give_item(id, "weapon_scout")

      new wEnt = get_weapon_ent(id, CSW_SCOUT)

      if(pev_valid(wEnt) && get_pcvar_num(g_OneShot))
         cs_set_weapon_ammo(wEnt, 1)

      cs_set_user_bpammo(id, CSW_SCOUT, get_pcvar_num(g_ScoutBPAmmo))
      UpDate_HUD(id, wEnt)
   }

}

Give_Deagle(id)
{
   if(is_user_alive(id) && is_user_connected(id))
   {
      fm_give_item(id, "weapon_deagle")

      new wEnt = get_weapon_ent(id, CSW_DEAGLE)

      if(pev_valid(wEnt) && get_pcvar_num(g_OneShot))
         cs_set_weapon_ammo(wEnt, 1)

      cs_set_user_bpammo(id, CSW_DEAGLE, get_pcvar_num(g_DeagleBPAmmo))
      UpDate_HUD(id, wEnt)
   }
}

Give_AWP(id)
{
   if(is_user_alive(id) && is_user_connected(id))
   {
      fm_give_item(id, "weapon_awp")

      new wEnt = get_weapon_ent(id, CSW_AWP)

      if(pev_valid(wEnt) && get_pcvar_num(g_OneShot))
         cs_set_weapon_ammo(wEnt, 1)

      cs_set_user_bpammo(id, CSW_AWP, get_pcvar_num(g_AWPBPAmmo))
      UpDate_HUD(id, wEnt)
   }
}

Weapon_ReChek(id, Weap)
{
   if(get_pcvar_num(g_OneShot) && is_user_alive(id) && is_user_connected(id))
   {
      new wEnt = get_weapon_ent(id, Weap)
      if(pev_valid(wEnt))
      {
         cs_set_weapon_ammo(wEnt, 1)
         UpDate_HUD(id, wEnt)
      }
   }
}

Ring(const Float:origin[3], R, G, B)
{
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, origin[0]) // x   10
   engfunc(EngFunc_WriteCoord, origin[1]) // y
   engfunc(EngFunc_WriteCoord, origin[2]) // z
   engfunc(EngFunc_WriteCoord, origin[0]-50.0) // x axis
   engfunc(EngFunc_WriteCoord, origin[1]) // y axis
   engfunc(EngFunc_WriteCoord, origin[2]+100.0) // z axis
   write_short(RingSprite) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(5) // life
   write_byte(5) // width
   write_byte(0) // noise
   write_byte(R) // red
   write_byte(G) // green
   write_byte(B) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
}
User avatar
Andru.
Membru, skill 0
Membru, skill 0
Posts: 6
Joined: 25 Jun 2017, 19:04
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: DR.B-ZONE.RO
Fond eXtream: 0
Contact:

02 Jul 2017, 11:23

OnuKa wrote:
| Afiseaza codul
/*
   [DeathRun] Duel (CT Choose ONLY)

   Plugin by Shidla [SGC]

   Idea & Pay (xD):
   DarkNill   |   ICQ: 555-995-004   (zombie-mod.ru)

   Credits:
   xPaw
   DJ_WEST


   Shidla [SGC] | 2010 | ICQ: 312-298-513

   1.3 [Final Version] | 23/11/2010

   http://Shidla.Gm-Project.NET/
*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>

#define OFFSET_RELOAD   54
#define LINUX_DIFF      4

#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))


/*========================================================================================================
===========================================[ Customizations ]=============================================
========================================================================================================*/

new const BOT_NAME[] = "DRM Fake Player"   // InGame Bot Name (in DeathrunManager!)

new const g_ChatPrefix[] = "[DeathRun Duel]"

new const CT_Aura[] = { 0, 0, 250 }
new const T_Aura[] = { 250, 0, 0 }

new const s_StartDuel[][] = { "misc/playduel.waw" }         // Duel starting sounds

/*========================================================================================================
=========================================[ Customizations End ]===========================================
========================================================================================================*/


new SayText, g_Maxplayers, g_Num_CT, g_MsgCurWeapon, g_DuelStarted, g_Weapon[33], g_WeaponClip[33],
   g_OneShot, g_ScoutBPAmmo, g_DeagleBPAmmo, g_AWPBPAmmo, g_Round_Ended, g_New_Round, RingSprite,
   CT_Player, T_Player, g_PlayerHP, g_DuelTimeOut, g_MsgSync, CountDown_Timer, g_ButtonsDisable

new const TASK_CONT = 1352   // CountDown task

public plugin_init()
{
   register_plugin("DeathRun Duel (CT Choose ONLY)", "1.3", "Shidla")
   register_cvar("Shidla", "DeathRun Duel 1.3 (CT Choose ONLY)", FCVAR_SERVER|FCVAR_SPONLY)

   register_clcmd("say /duel", "StartDuel")
   register_clcmd("say_team /duel", "StartDuel")
   register_clcmd("drop", "Drop_Cmd")

   g_ScoutBPAmmo   = register_cvar("dr_duel_scout_bpammo",      "200")
   g_DeagleBPAmmo   = register_cvar("dr_duel_deagle_bpammo",   "50")
   g_AWPBPAmmo      = register_cvar("dr_duel_awp_bpammo",      "100")
   g_PlayerHP      = register_cvar("dr_duel_player_hp",      "100")
   g_DuelTimeOut   = register_cvar("dr_duel_timeout",         "5")
   g_OneShot      = register_cvar("dr_duel_one_shot",       "1")   // 1 - one clip bullet (ONLY!); 0 - disable
   g_ButtonsDisable = register_cvar("dr_duel_buttons_disable",   "1")

   register_event("DeathMsg", "Event_Death", "a")
   register_event("HLTV", "Event_Round_Start", "a", "1=0", "2=0" )
   register_event("SendAudio", "Event_Round_End", "a", "2&%!MRAD_terwin")
   register_event("SendAudio", "Event_Round_End", "a", "2&%!MRAD_ctwin")
   register_event("SendAudio", "Event_Round_End", "a", "2&%!MRAD_rounddraw")
   register_event("CurWeapon","Event_CurWeapon","b")

   register_forward(FM_CmdStart, "fw_CmdStart",1)

   RegisterHam(Ham_Touch, "weaponbox", "fw_TouchWeapon")
   RegisterHam(Ham_Touch, "weapon_shield", "fw_TouchWeapon")
   RegisterHam(Ham_Touch, "armoury_entity", "fw_TouchWeapon")
   RegisterHam(Ham_Weapon_Reload, "weapon_scout", "fw_Reload_Post", 1)
   RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "fw_Reload_Post", 1)
   RegisterHam(Ham_Weapon_Reload, "weapon_awp", "fw_Reload_Post", 1)
   RegisterHam(Ham_Use, "func_button", "fw_Use")

   SayText = get_user_msgid("SayText")
   g_MsgCurWeapon = get_user_msgid("CurWeapon")
   g_MsgSync = CreateHudSyncObj()
   g_Maxplayers = get_maxplayers()

   register_dictionary("dr_duel.txt")
}

public plugin_precache()
{
   RingSprite = precache_model("sprites/zbeam5.spr")

   static i
   for(i = 0; i < sizeof s_StartDuel; i++)
      precache_sound(s_StartDuel)
}


public client_putinserver(id)
{
   g_Weapon[id] = 0
   g_WeaponClip[id] = 0
}

public StartDuel(id)
{
   if(!is_user_alive(id))
   {
      new t_Cant_Dead[600 char]
      formatex(t_Cant_Dead, charsmax(t_Cant_Dead), "%L", id, "DR_CANT_DEAD")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Dead)
      return PLUGIN_CONTINUE
   }

   if(g_Round_Ended)
   {
      new t_Cant_Round_End[600 char]
      formatex(t_Cant_Round_End, charsmax(t_Cant_Round_End), "%L", id, "DR_CANT_ROUND_END")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Round_End)
      return PLUGIN_CONTINUE
   }

   if(cs_get_user_team(id) == CS_TEAM_T)
   {
      new t_Cant_Ter[600 char]
      formatex(t_Cant_Ter, charsmax(t_Cant_Ter), "%L", id, "DR_CANT_TER")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Ter)
      return PLUGIN_CONTINUE
   }

   if(g_DuelStarted)
   {
      new t_Cant_Started[600 char]
      formatex(t_Cant_Started, charsmax(t_Cant_Started), "%L", id, "DR_CANT_STARTED")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Started)
      return PLUGIN_CONTINUE
   }

   for(new i = 1; i <= g_Maxplayers; i++)
   {
      new Name[32]
      get_user_name(i, Name, 31)

      if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT)
      {
         g_Num_CT++
         if(g_Num_CT == 1)
            CT_Player = i
         else
            CT_Player = 0
      }

      if(is_user_alive(i) && (cs_get_user_team(i) == CS_TEAM_T) && !equal(Name, BOT_NAME))
         T_Player = i
   }

   if(g_Num_CT == 1)
   {
      new TextTitle[ 200 char ]
      formatex(TextTitle, charsmax(TextTitle), "\rAlege o arma din meniu:")
      new WeapScout[ 200 char ]
      formatex(WeapScout, charsmax(WeapScout), "\yScout")
      new WeapDeagle[ 200 char ]
      formatex(WeapDeagle, charsmax(WeapDeagle), "\yDeagle")
      new WeapAWP[ 200 char ]
      formatex(WeapAWP, charsmax(WeapAWP), "\yAWP")
      new WeapKNife[ 200 char ]
      formatex(WeapKNife, charsmax(WeapKNife), "\yKnife")

      new i_Menu = menu_create(TextTitle, "WeaponMenu")
      menu_additem(i_Menu, WeapScout, "1", 0)
      menu_additem(i_Menu, WeapDeagle, "2", 0)
      menu_additem(i_Menu, WeapAWP, "3", 0)
      menu_additem(i_Menu, WeapKNife, "4", 0)

      g_DuelStarted = true
      g_New_Round = false

      fm_strip_user_weapons(CT_Player)
      fm_strip_user_weapons(T_Player)

      set_pev(CT_Player, pev_health, float(get_pcvar_num(g_PlayerHP)))   // Set CT HP
      set_pev(T_Player, pev_health, float(get_pcvar_num(g_PlayerHP)))      // Set T HP

      if(is_user_alive(CT_Player) && is_user_connected(CT_Player))
      {
         fm_set_user_godmode(CT_Player, 1)
         set_task(0.5, "Show_Ring", CT_Player)
      }

      if(is_user_alive(T_Player) && is_user_connected(T_Player))
      {
         fm_set_user_godmode(T_Player, 1)
         set_task(0.5, "Show_Ring", T_Player)
      }

      menu_display(CT_Player, i_Menu, 0)
   }
   else
   {
      new t_Cant_Too_Many[600 char]
      formatex(t_Cant_Too_Many, charsmax(t_Cant_Too_Many), "%L", id, "DR_CANT_TOO_MANY", g_Num_CT)
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Too_Many)
   }

   g_Num_CT = 0

   return PLUGIN_CONTINUE
}

public WeaponMenu(id, menu, item)
{
   new s_Data[4], s_Name[64], i_Access, i_Callback

   menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
   new i_Key = str_to_num(s_Data)

   switch(i_Key)
   {
      case 1:
      {
         Give_Scout(CT_Player)
         Give_Scout(T_Player)
      }

      case 2:
      {
         Give_Deagle(CT_Player)
         Give_Deagle(T_Player)
      }

      case 3:
      {
         Give_AWP(CT_Player)
         Give_AWP(T_Player)
      }

      case 4:
      {
         fm_give_item(CT_Player, "weapon_knife")
         fm_give_item(T_Player, "weapon_knife")
      }
   }

   menu_destroy(menu)

   if(is_user_alive(CT_Player) && is_user_connected(CT_Player))
      fm_set_rendering(CT_Player, kRenderFxGlowShell, CT_Aura[0], CT_Aura[1], CT_Aura[2], kRenderNormal, 20)

   if(is_user_alive(T_Player) && is_user_connected(T_Player))
      fm_set_rendering(T_Player, kRenderFxGlowShell, T_Aura[0], T_Aura[1], T_Aura[2], kRenderNormal, 20)

   CountDown_Timer = get_pcvar_num(g_DuelTimeOut)
   set_task(float(get_pcvar_num(g_DuelTimeOut)), "Duel_Informer", TASK_CONT)

   return PLUGIN_HANDLED
}

public Event_Death()
{
   new CT_Count, CT_Last_Player

   for(new i = 1; i <= g_Maxplayers; i++)
   {
      new Name[32]
      get_user_name(i, Name, 31)

      if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT)
      {
         CT_Count++
         if(CT_Count == 1)
            CT_Last_Player = i
         else
            CT_Last_Player = 0
      }
   }

   if(CT_Count == 1 && !g_Round_Ended && is_user_alive(CT_Last_Player) && is_user_connected(CT_Last_Player) && is_user_alive(T_Player))
   {
      new t_Can_Start[600 char]
      formatex(t_Can_Start, charsmax(t_Can_Start), "%L", CT_Last_Player, "DR_CAN_START")
      print_col_chat(CT_Last_Player, "^4%s^1 %s",g_ChatPrefix, t_Can_Start)
   }

   CT_Count = 0
}

public Event_Round_Start()
{
   g_DuelStarted = false
   g_Round_Ended = false
   g_New_Round = true

   g_Num_CT = 0
   CT_Player = 0
   T_Player = 0

   remove_task(TASK_CONT)

   for(new id = 1; id <= g_Maxplayers; id++)
      fm_set_rendering(id)
}

public Event_Round_End()
{
   g_Round_Ended = true

   CT_Player = 0
   T_Player = 0
}

public Event_CurWeapon(id)
{
   g_Weapon[id] = read_data(2)
   g_WeaponClip[id] = read_data(3)

   if(g_DuelStarted)
   {
      if(g_WeaponClip[id] > 1)
      {
         if(g_Weapon[id] == CSW_SCOUT)
            Weapon_ReChek(id, CSW_SCOUT)

         else if(g_Weapon[id] == CSW_DEAGLE)
            Weapon_ReChek(id, CSW_DEAGLE)

         else if(g_Weapon[id] == CSW_AWP)
            Weapon_ReChek(id, CSW_AWP)
      }
   }
}

public fw_CmdStart(id, handle, seed)
{
   if(!is_user_alive(id) || !g_DuelStarted)
      return FMRES_IGNORED

   if((g_Weapon[id] == CSW_SCOUT || g_Weapon[id] == CSW_DEAGLE || g_Weapon[id] == CSW_AWP) && get_pcvar_num(g_OneShot))
   {
      //if(pev(id, pev_button) & IN_RELOAD)
      if(get_uc(handle, UC_Buttons) & IN_RELOAD)
      {
         set_uc(handle, UC_Buttons, get_uc(handle, UC_Buttons) & ~IN_RELOAD)
         return FMRES_HANDLED
      }
   }

   return FMRES_IGNORED
}

public Drop_Cmd(id)
{
   if(g_DuelStarted)
   {
      new t_Cant_Drop[600 char]
      formatex(t_Cant_Drop, charsmax(t_Cant_Drop), "%L", id, "DR_CANT_DROP")
      print_col_chat(id, "^4%s^1 %s",g_ChatPrefix, t_Cant_Drop)
      return PLUGIN_HANDLED
   }

   return PLUGIN_CONTINUE
}

public fw_TouchWeapon(weapon, id)
{
   if(!is_user_connected(id))
      return HAM_IGNORED

   if(g_DuelStarted)
      return HAM_SUPERCEDE

   return HAM_IGNORED
}

public fw_Reload_Post(Weap)
{
   if(!g_DuelStarted && !get_pcvar_num(g_OneShot))
      return FMRES_IGNORED

   if(is_user_alive(CT_Player) && get_pdata_int(Weap, OFFSET_RELOAD, LINUX_DIFF))
   {
      if(g_Weapon[CT_Player] == CSW_SCOUT)
         cs_set_user_bpammo(CT_Player, CSW_SCOUT, cs_get_user_bpammo(CT_Player, CSW_SCOUT) + 9)
      else if(g_Weapon[CT_Player] == CSW_DEAGLE)
         cs_set_user_bpammo(CT_Player, CSW_DEAGLE, cs_get_user_bpammo(CT_Player, CSW_DEAGLE) + 6)
      else if(g_Weapon[CT_Player] == CSW_AWP)
         cs_set_user_bpammo(CT_Player, CSW_AWP, cs_get_user_bpammo(CT_Player, CSW_AWP) + 9)
   }

   if(is_user_alive(T_Player) && get_pdata_int(Weap, OFFSET_RELOAD, LINUX_DIFF))
   {
      if(g_Weapon[T_Player] == CSW_SCOUT)
         cs_set_user_bpammo(T_Player, CSW_SCOUT, cs_get_user_bpammo(T_Player, CSW_SCOUT) + 9)
      else if(g_Weapon[T_Player] == CSW_DEAGLE)
         cs_set_user_bpammo(T_Player, CSW_DEAGLE, cs_get_user_bpammo(T_Player, CSW_DEAGLE) + 6)
      else if(g_Weapon[T_Player] == CSW_AWP)
         cs_set_user_bpammo(T_Player, CSW_AWP, cs_get_user_bpammo(T_Player, CSW_AWP) + 9)
   }

   return FMRES_IGNORED
}

public fw_Use(ent, idcaller, idactivator, use_type, Float:value)
{
   if(g_ButtonsDisable && g_DuelStarted && is_user_alive(idactivator) && cs_get_user_team(idactivator) == CS_TEAM_T)
   {
      new t_Cant_Drop[600 char]
      formatex(t_Cant_Drop, charsmax(t_Cant_Drop), "%L", idactivator, "DR_CANT_USE")
      print_col_chat(idactivator, "^4%s^1 %s",g_ChatPrefix, t_Cant_Drop)
      return HAM_SUPERCEDE
   }

   return HAM_IGNORED
}

public Duel_Informer()
{
   if(CountDown_Timer > 1)
   {
      set_hudmessage(255, 0, 0, -1.0, 0.28, 2, 0.02, 1.0, 0.01, 0.1, -1)

      if(CountDown_Timer != 1)
      {
         for(new id = 1; id <= g_Maxplayers; id++)
         {
            new t_Time_Delay[600 char]
            formatex(t_Time_Delay, charsmax(t_Time_Delay), "%L", id, "DR_TIME_DELAY", CountDown_Timer - 1)
            ShowSyncHudMsg(id, g_MsgSync, "%s", t_Time_Delay)
         }
      }
   }
   --CountDown_Timer

   if(CountDown_Timer >= 1)
      set_task(1.0, "Duel_Informer", TASK_CONT)
   else
   {
      client_cmd(0, "spk %s", s_StartDuel[random_num(0, sizeof s_StartDuel - 1)])

      if(is_user_alive(CT_Player) && is_user_connected(CT_Player))
         fm_set_user_godmode(CT_Player, 0)

      if(is_user_alive(T_Player) && is_user_connected(T_Player))
         fm_set_user_godmode(T_Player, 0)

      remove_task(TASK_CONT)
   }
}

public Show_Ring(id)
{
   if(g_DuelStarted && is_user_alive(id) && is_user_connected(id) && !g_New_Round)
   {
      static Float:origin[3]
      pev(id, pev_origin, origin)

      if(id == CT_Player)
         Ring(origin, CT_Aura[0], CT_Aura[1], CT_Aura[2])
      else if(id == T_Player)
         Ring(origin, T_Aura[0], T_Aura[1], T_Aura[2])

      set_task(0.5, "Show_Ring", id)
   }
   else
      remove_task(id)
}


/*========================================================================================================
===============================================[ Stocks ]=================================================
========================================================================================================*/
stock fm_give_item(index, const item[])
{
   if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
      return 0

   new ent = fm_create_entity(item)
   if (!pev_valid(ent))
      return 0

   new Float:origin[3]
   pev(index, pev_origin, origin)
   set_pev(ent, pev_origin, origin)
   set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
   dllfunc(DLLFunc_Spawn, ent)

   new save = pev(ent, pev_solid)
   dllfunc(DLLFunc_Touch, ent, index)
   if (pev(ent, pev_solid) != save)
      return ent

   engfunc(EngFunc_RemoveEntity, ent)

   return -1
}

stock fm_strip_user_weapons(index)
{
   new ent = fm_create_entity("player_weaponstrip")
   if (!pev_valid(ent))
      return 0

   dllfunc(DLLFunc_Spawn, ent)
   dllfunc(DLLFunc_Use, ent, index)
   engfunc(EngFunc_RemoveEntity, ent)

   return 1
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
   new Float:RenderColor[3]
   RenderColor[0] = float(r)
   RenderColor[1] = float(g)
   RenderColor[2] = float(b)

   set_pev(entity, pev_renderfx, fx)
   set_pev(entity, pev_rendercolor, RenderColor)
   set_pev(entity, pev_rendermode, render)
   set_pev(entity, pev_renderamt, float(amount))

   return 1
}

stock get_weapon_ent(id,wpnid=0,wpnName[]="")
{
   // who knows what wpnName will be
   static newName[32]

   // need to find the name
   if(wpnid) get_weaponname(wpnid,newName,31)

   // go with what we were told
   else formatex(newName,31,"%s",wpnName)

   // prefix it if we need to
   if(!equal(newName,"weapon_",7))
      format(newName,31,"weapon_%s",newName)

   new ent
   while((ent = engfunc(EngFunc_FindEntityByString,ent,"classname",newName)) && pev(ent,pev_owner) != id) {}

   return ent
}

stock fm_set_user_godmode(index, godmode = 0)
{
   set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM)

   return 1
}

stock print_col_chat(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)

   replace_all(msg, 190, "!g", "^4") // Green Color
   replace_all(msg, 190, "!y", "^1") // Default Color (Yellow)
   replace_all(msg, 190, "!t", "^3") // Team Color

   if (id) players[0] = id; else get_players(players, count, "ch") 
   {
      for ( new i = 0; i < count; i++ )
      {
         if ( is_user_connected(players) )
         {
            message_begin(MSG_ONE_UNRELIABLE, SayText, _, players)
            write_byte(players)
            write_string(msg)
            message_end()
         }
      }
   }
}

UpDate_HUD(id, csw_weapon)
{
   message_begin(MSG_ONE, g_MsgCurWeapon, _, id)
   write_byte(1)
   write_byte(csw_weapon)   //CSW_weapon
   write_byte(1)   // MaxClip
   message_end()
}

Give_Scout(id)
{
   if(is_user_alive(id) && is_user_connected(id))
   {
      fm_give_item(id, "weapon_scout")

      new wEnt = get_weapon_ent(id, CSW_SCOUT)

      if(pev_valid(wEnt) && get_pcvar_num(g_OneShot))
         cs_set_weapon_ammo(wEnt, 1)

      cs_set_user_bpammo(id, CSW_SCOUT, get_pcvar_num(g_ScoutBPAmmo))
      UpDate_HUD(id, wEnt)
   }

}

Give_Deagle(id)
{
   if(is_user_alive(id) && is_user_connected(id))
   {
      fm_give_item(id, "weapon_deagle")

      new wEnt = get_weapon_ent(id, CSW_DEAGLE)

      if(pev_valid(wEnt) && get_pcvar_num(g_OneShot))
         cs_set_weapon_ammo(wEnt, 1)

      cs_set_user_bpammo(id, CSW_DEAGLE, get_pcvar_num(g_DeagleBPAmmo))
      UpDate_HUD(id, wEnt)
   }
}

Give_AWP(id)
{
   if(is_user_alive(id) && is_user_connected(id))
   {
      fm_give_item(id, "weapon_awp")

      new wEnt = get_weapon_ent(id, CSW_AWP)

      if(pev_valid(wEnt) && get_pcvar_num(g_OneShot))
         cs_set_weapon_ammo(wEnt, 1)

      cs_set_user_bpammo(id, CSW_AWP, get_pcvar_num(g_AWPBPAmmo))
      UpDate_HUD(id, wEnt)
   }
}

Weapon_ReChek(id, Weap)
{
   if(get_pcvar_num(g_OneShot) && is_user_alive(id) && is_user_connected(id))
   {
      new wEnt = get_weapon_ent(id, Weap)
      if(pev_valid(wEnt))
      {
         cs_set_weapon_ammo(wEnt, 1)
         UpDate_HUD(id, wEnt)
      }
   }
}

Ring(const Float:origin[3], R, G, B)
{
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, origin[0]) // x   10
   engfunc(EngFunc_WriteCoord, origin[1]) // y
   engfunc(EngFunc_WriteCoord, origin[2]) // z
   engfunc(EngFunc_WriteCoord, origin[0]-50.0) // x axis
   engfunc(EngFunc_WriteCoord, origin[1]) // y axis
   engfunc(EngFunc_WriteCoord, origin[2]+100.0) // z axis
   write_short(RingSprite) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(5) // life
   write_byte(5) // width
   write_byte(0) // noise
   write_byte(R) // red
   write_byte(G) // green
   write_byte(B) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
}


tot imi da eroarea
dr_duel_CT_Only (1).sma(1) : error 010: invalid function or declaration
User avatar
Andru.
Membru, skill 0
Membru, skill 0
Posts: 6
Joined: 25 Jun 2017, 19:04
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: DR.B-ZONE.RO
Fond eXtream: 0
Contact:

02 Jul 2017, 15:02

huh, am rezolvat, editam cu notepad si apoi mi-a amintit carnat ca e mai ok notepad++...
tc.
Post Reply

Return to “Probleme la servere dedicate de Counter-Strike”

  • Information