Compilace pluginu.

Technická podpora k herním serverům Counter-Strike: Global Offensive
Message
Autor
WRANGLER
Příspěvky: 3
Registrován: 27 dub 2020, 00:36
Reputation: 0

Compilace pluginu.

#1 Příspěvekod WRANGLER » 27 dub 2020, 00:41

Zdravím, mám problém s compilací vip pluginu od hanyse, mohl by mi někdo poradit v čem je problém?

Kód: Vybrat vše

#pragma semicolon 1

#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <clientprefs>
#include <colors>
#include <loghelper>

public Plugin:myinfo =
{
   name = "VIP Plugin",
   author = "Hanys",
   description = "vip plugin",
   version = "1.2.2",
   url = "http://hanys.net.pl"
};

new Handle:HP;
new Handle:Smokegrenade;
new Handle:Flashbang;
new Handle:Hegrenade;
new Handle:Armorvalue;
new Handle:Bhashelmet;
new Handle:Defuser;
new Handle:Moneystart;
new Handle:Bombplanted;
new Handle:Bombdefused;
new Handle:Headshot_money;
new Handle:Headshot_hp;
new Handle:Kill_money;
new Handle:Kill_hp;
new Handle:Tagtable;
new Handle:Tagsay;
new Handle:Double_jump;

public OnPluginStart()
{
   CreateConVar("sm_vip_version", "1.2.2", "VIP Plugin", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD);
   
   HP = CreateConVar("sm_hp_start", "110", "Ilosc HP na start rundy", FCVAR_NOTIFY);
   Smokegrenade = CreateConVar("sm_smokegrenade", "1", "Smoke na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
   Flashbang = CreateConVar("sm_flashbang", "1", "Flash na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
   Hegrenade = CreateConVar("sm_hegrenade", "1", "Granat na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
   Armorvalue = CreateConVar("sm_armorvalue", "1", "Kamizelka na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
   Bhashelmet = CreateConVar("sm_bhashelmet", "1", "Kask na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
   Defuser = CreateConVar("sm_defuser", "1", "Zestaw do rozbrajania dla CT na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
   Moneystart = CreateConVar("sm_money_start", "200", "Ilosc $ na start rundy", FCVAR_NOTIFY);
   Bombplanted = CreateConVar("sm_bomb_planted", "200", "Ilosc $ za podlozenie bomby", FCVAR_NOTIFY);
   Bombdefused = CreateConVar("sm_bomb_defused", "200", "Ilosc $ za rozbrojenie bomby", FCVAR_NOTIFY);
   Headshot_money = CreateConVar("sm_headshot_money", "150", "Ilosc $ za Headshot", FCVAR_NOTIFY);
   Headshot_hp = CreateConVar("sm_headshot_hp", "0", "Ilosc HP za Headshot", FCVAR_NOTIFY);
   Kill_money = CreateConVar("sm_kill_money", "100", "Ilosc $ za fraga", FCVAR_NOTIFY);
   Kill_hp = CreateConVar("sm_kill_hp", "0", "Ilosc HP za fraga", FCVAR_NOTIFY);
   Tagtable = CreateConVar("sm_tag_table", "1", "Tag VIP w tabeli wynikow", FCVAR_NONE, true, 0.0, true, 1.0);
   Tagsay = CreateConVar("sm_tag_say", "1", "Tag VIP + kolorowy nick w say", FCVAR_NONE, true, 0.0, true, 1.0);
   Double_jump = CreateConVar("sm_double_jump", "1", "Podwojny skok", FCVAR_NONE, true, 0.0, true, 1.0);
   
   AutoExecConfig(true, "sm_vip");
   
   RegConsoleCmd("say", Command_SendToAll);
   RegConsoleCmd("say_team", Command_SendToTeam);
   
   HookEvent("player_spawn", Event_OnPlayerSpawn);
   HookEvent("bomb_planted", Event_BombPlanted);
   HookEvent("bomb_defused", Event_BombDefused);
   HookEvent("player_death",  Event_PlayerDeath);
   HookEvent("player_team", Event_TagTable);
   HookEvent("player_spawn", Event_TagTable);
   
   
}



public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
   new client = GetClientOfUserId(GetEventInt(event, "userid"));
   new money = GetEntProp(client, Prop_Send, "m_iAccount");
   new team = GetClientTeam(client);
   new g_HP = GetConVarInt(HP);
   new g_moneystart = GetConVarInt(Moneystart);
   
   if (client > 0 && IsPlayerAlive(client))
   {
      if (IsPlayerGenericAdmin(client))
      {
         SetEntityHealth(client, g_HP);  //hp
         if (GetConVarBool(Smokegrenade)) GivePlayerItem(client, "weapon_smokegrenade"); //smoke
         if (GetConVarBool(Flashbang)) GivePlayerItem(client, "weapon_flashbang"); //flash
         if (GetConVarBool(Hegrenade)) GivePlayerItem(client, "weapon_hegrenade"); //grenade
         
         SetEntProp(client, Prop_Send, "m_iAccount", money + g_moneystart); // plus $ na start
         if (GetConVarBool(Armorvalue)) SetEntProp(client, Prop_Send, "m_ArmorValue", 100); //kamizelka
         if (GetConVarBool(Bhashelmet)) SetEntProp(client, Prop_Send, "m_bHasHelmet", 1); //helm
         
         if(team == CS_TEAM_CT)
         {
            if (GetConVarBool(Defuser)) GivePlayerItem(client, "item_defuser"); //kombinerki
         }
         
         
      }
   }
}

public Event_BombPlanted(Handle:event, const String:name[], bool:dontBroadcast)
{
   new client = GetClientOfUserId(GetEventInt(event, "userid"));
   new money = GetEntProp(client, Prop_Send, "m_iAccount");
   new g_bombplanted = GetConVarInt(Bombplanted);
   
   if (IsPlayerGenericAdmin(client))
   {
      SetEntProp(client, Prop_Send, "m_iAccount", money + g_bombplanted);//plus $ for Bomb Planted
   }
}

public Event_BombDefused(Handle:event, const String:name[], bool:dontBroadcast)
{
   new client = GetClientOfUserId(GetEventInt(event, "userid"));
   new money = GetEntProp(client, Prop_Send, "m_iAccount");
   new g_bombdefused = GetConVarInt(Bombdefused);
   
   if (IsPlayerGenericAdmin(client))
   {
      SetEntProp(client, Prop_Send, "m_iAccount", money + g_bombdefused); //plus $ for Bomb Defused
   }
}

public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
   new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
   new money = GetEntProp(attacker, Prop_Send, "m_iAccount");
   new health = GetEntProp(attacker, Prop_Send, "m_iHealth");
   new g_headshot_money = GetConVarInt(Headshot_money);
   new g_headshot_hp = GetConVarInt(Headshot_hp);
   new g_kill_money = GetConVarInt(Kill_money);
   new g_kill_hp = GetConVarInt(Kill_hp);
   
   new bool:headshot = GetEventBool(event, "headshot");
   if (IsPlayerGenericAdmin(attacker))
   {
      if(headshot){
         SetEntProp(attacker, Prop_Send, "m_iAccount", money + g_headshot_money); //plus for hs
         SetEntProp(attacker, Prop_Send, "m_iHealth", health + g_headshot_hp); //plus hp for hs
         }else{
         SetEntProp(attacker, Prop_Send, "m_iAccount", money + g_kill_money); //plus for kill
         SetEntProp(attacker, Prop_Send, "m_iHealth", health + g_kill_hp); //plus hp for kill
      }
   }
}

public Action:Event_TagTable(Handle:event, String:name[], bool:dontBroadcast)
{
   new client = GetClientOfUserId(GetEventInt(event, "userid"));
   if (IsPlayerGenericAdmin(client))
   {
      if (GetConVarBool(Tagtable)) CS_SetClientClanTag(client, "[VIP]");
   }
}

public Action:Command_SendToAll(client, args)
{
   if ((IsPlayerGenericAdmin(client)) && GetConVarBool(Tagsay))
   {
      decl String:sTextToAll[1024];
      GetCmdArgString(sTextToAll, sizeof(sTextToAll));
      StripQuotes(sTextToAll);
      LogPlayerEvent(client, "say=", sTextToAll);
      
      new team = GetClientTeam(client);
      
      if(sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!' && sTextToAll[0] > 0)
      {
         if(IsPlayerAlive(client) && team == 2 || team == 3)
         {
            PrintToChatAll("\x01[\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
         }
         /* Player isn't alive and have team (no spec) */
         else if(!IsPlayerAlive(client) && team == 2 || team == 3)
         {
            PrintToChatAll("\x01*NIE ŻYJE* [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
         }
         /* Player is in spectate */
         else if(!IsPlayerAlive(client) && team != 2 && team != 3)
         {
            PrintToChatAll("\x01*OBSERWATOR* [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
         }
      }
      
      return Plugin_Handled;
   }
   
   return Plugin_Continue;
}

public Action:Command_SendToTeam(client, args)
{
   
   if ((IsPlayerGenericAdmin(client)) && GetConVarBool(Tagsay))
   {
      decl String:sTextToAll[1024];
      GetCmdArgString(sTextToAll, sizeof(sTextToAll));
      StripQuotes(sTextToAll);
      LogPlayerEvent(client, "say=", sTextToAll);
      
      new team = GetClientTeam(client);
      
      if(IsPlayerAlive(client) && team == 2 || team == 3)
      {
         for(new i = 1; i <= MaxClients; i++)
         {
            if(IsClientInGame(i) && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!')
            {
               new PlayersTeam = GetClientTeam(i);
               if(PlayersTeam & team && sTextToAll[0] > 0)
               {
                  if(team == 2)
                     PrintToChat(i, "\x01(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
                  else
                     PrintToChat(i, "\x01(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
               }
            }
         }
      }
      /* Player isn't alive and have team (no spec) */
      else if(!IsPlayerAlive(client) && team == 2 || team == 3 && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!')
      {
         for(new i = 1; i <= MaxClients; i++)
         {
            if(IsClientInGame(i) && !IsPlayerAlive(i))
            {
               new PlayersTeam = GetClientTeam(i);
               if(PlayersTeam & team && sTextToAll[0] > 0)
               {
                  if(team == 2)
                     PrintToChat(i, "\x01*NIE ŻYJE*(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
                  else
                     PrintToChat(i, "\x01*NIE ŻYJE*(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
               }
            }
         }
      }
      /* Player is in spectate */
      else if(!IsPlayerAlive(client) && team != 2 && team != 3 && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!')
      {
         for(new i = 1; i <= MaxClients; i++)
         {
            if(IsClientInGame(i) && !IsPlayerAlive(i))
            {
               new PlayersTeam = GetClientTeam(i);
               if(PlayersTeam & team && sTextToAll[0] > 0)
               {
                  if(team == 2)
                     PrintToChat(i, "\x01*OBSERWATOR*(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
                  else
                     PrintToChat(i, "\x01*OBSERWATOR*(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
               }
            }
         }
      }
      
      return Plugin_Handled;
   }
   
   return Plugin_Continue;
}

public Action:OnPlayerRunCmd(iClient, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
   if ((IsPlayerGenericAdmin(iClient)) && IsPlayerAlive(iClient) && GetConVarBool(Double_jump))
   {
      static g_fLastButtons[MAXPLAYERS+1], g_fLastFlags[MAXPLAYERS+1], g_iJumps[MAXPLAYERS+1], fCurFlags, fCurButtons;
      fCurFlags = GetEntityFlags(iClient);
      fCurButtons = GetClientButtons(iClient);
      if (g_fLastFlags[iClient] & FL_ONGROUND && !(fCurFlags & FL_ONGROUND) && !(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP) g_iJumps[iClient]++;
      else if(fCurFlags & FL_ONGROUND) g_iJumps[iClient] = 0;
      else if(!(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP && g_iJumps[iClient] == 1)
      {
         g_iJumps[iClient]++;
         decl Float:vVel[3];
         GetEntPropVector(iClient, Prop_Data, "m_vecVelocity", vVel);
         vVel[2] = 250.0;
         TeleportEntity(iClient, NULL_VECTOR, NULL_VECTOR, vVel);
      }
      
      g_fLastFlags[iClient] = fCurFlags;
      g_fLastButtons[iClient] = fCurButtons;
   }
   return Plugin_Continue;
}

/*
@param client id

return bool
*/
bool:IsPlayerGenericAdmin(client)
{
   if (!CheckCommandAccess(client, "sm_vip", 0, true)) return false;
   {
      return true;
   }
}

Uživatelský avatar
Teiichi
Příspěvky: 866
Věk: 24
Registrován: 29 lis 2014, 02:11
Reputation: 23
Bydliště: <?= $inhome ;?>
Kontaktovat uživatele:

Re: Compilace pluginu.

#2 Příspěvekod Teiichi » 27 dub 2020, 01:24

Dodej IP serveru a ideálně chybu při kompilaci.
Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”
Příliš snahy škodí, když programátor použije CTRL+C a CTRL+V více jak jednou, má někde chybu v návrhu.”
In theory, theory and practice are the same. In practice, they’re not.”
Vždy pište kód tak, jako by ten chlapík, co ho po vás bude udržovat, měl být násilnický psychopat, který bude vědět, kde bydlíte.”

WRANGLER
Příspěvky: 3
Registrován: 27 dub 2020, 00:36
Reputation: 0

Re: Compilace pluginu.

#3 Příspěvekod WRANGLER » 27 dub 2020, 12:49

Teiichi píše:Dodej IP serveru a ideálně chybu při kompilaci.


IP:82.208.17.101:27556
Chyba: extra/colors.inc(596) : error 017: undefined symbol "MuCo_LoopClients"
extra/colors.inc(597) : warning 217: loose indentation
extra/colors.inc(597) : error 017: undefined symbol "i"
plugin.sp(39) : warning 234: symbol "FCVAR_PLUGIN" is marked as deprecated: No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk.


Zpět na „Counter-Strike: Global Offensive“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 16 hostů