View Single Post
Author Message
nades
BANNED
Join Date: Oct 2020
Location: Usa
Old 10-20-2020 , 07:22   [CSGO] vip multi jump i need help
Reply With Quote #1

vip_multi_jump.sp(24) : error 021: symbol already defined: "Cookie"
vip_multi_jump.sp(2 : error 174: symbol 'Cookie' is a type and cannot be used as a value
vip_multi_jump.sp(67) : error 174: symbol 'Cookie' is a type and cannot be used as a value
vip_multi_jump.sp(182) : error 174: symbol 'Cookie' is a type and cannot be used as a value

Code:
#include <sourcemod>
#include <sdktools_functions>
#include <vip_core>
#include <clientprefs>

#pragma semicolon 1
#pragma newdecls  required

public Plugin myinfo =
{
	name = "[VIP] MULTI JUMP",
	author = "Pheonix (˙·٠●Феникс●٠·˙), CrazyHackGUT aka Kruzya",
	version = "1.0.1",
	url = "http://zizt.ru/ http://hlmod.ru/"
};

stock const char    g_szFunctionName[]  = "MULTI_JUMP";

int JUMP[MAXPLAYERS+1][5];
float JUMPS[MAXPLAYERS+1];
int PJUMP;
int PJUMPD;
float PJUMPS;
Handle Cookie;

public void OnPluginStart()
{
	Cookie = RegClientCookie(g_szFunctionName, g_szFunctionName, CookieAccess_Protected);
	if (VIP_IsVIPLoaded())
		VIP_OnVIPLoaded();
}

public void OnPluginEnd() {
  if (CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "VIP_UnregisterFeature") == FeatureStatus_Available && VIP_IsValidFeature(g_szFunctionName))
    VIP_UnregisterFeature(g_szFunctionName);
}

public void OnMapStart()
{
	KeyValues kv = new KeyValues(g_szFunctionName);
	char path[128];
	BuildPath(Path_SM, path, 128, "data/vip/modules/multi_jump.ini");
	if(!kv.ImportFromFile(path)) SetFailState("[MULTI JUMP] - Файл конфигураций не найден");
	else
	{
		PJUMP = kv.GetNum("JUMP");
		if(PJUMP == 3) PJUMPS = kv.GetFloat("JUMP_K");
		else if(PJUMP == 2) PJUMPD = kv.GetNum("JUMP_K");
	}
	CloseHandle(kv);
}

public void VIP_OnVIPLoaded()
{
	VIP_RegisterFeature(g_szFunctionName, STRING, SELECTABLE, SELECTABLE_ITEM, OnDisplayItem, ItemDraw);
}

public void VIP_OnVIPClientLoaded(int iClient)
{
	char buf[3][10];
	VIP_GetClientFeatureString(iClient, g_szFunctionName, buf[0], 10);
	ExplodeString(buf[0], ";", buf, 3, 10);
	StringToIntEx(buf[0], JUMP[iClient][0]);
	StringToIntEx(buf[1], JUMP[iClient][1]);
	StringToFloatEx(buf[2], JUMPS[iClient]);
	if(JUMPS[iClient] > 0.0) JUMP[iClient][2] = 1;
	GetClientCookie(iClient, Cookie, buf[0], 10);
	int b = StringToInt(buf[0]);
	if(b)
	{
		if((PJUMP != b || PJUMP==0) && JUMP[iClient][b-1]) JUMP[iClient][4] = b;
		else JUMP[iClient][4] = 0;
	}
	else JUMP[iClient][4] = 0;
}

public void OnClientPutInServer(int iClient)
{
	for (int i; i < 5; ++i) JUMP[iClient][i] = 0;
}

public int ItemDraw(int iClient, const char[] sFeatureName, int iStyle)
{
	if(JUMP[iClient][0] || JUMP[iClient][1] || JUMP[iClient][2]) return iStyle;
	return ITEMDRAW_DISABLED;
}

public bool SELECTABLE_ITEM(int iClient, const char[] sSubMenuName)
{
	int buf = JUMP[iClient][4];
	static bool h;
	while (!h)
	{
		buf++;
		if(buf > 3)
		{
			JUMP[iClient][4] = 0;
			break;
		}
		else if((PJUMP != buf || PJUMP==0) && JUMP[iClient][buf-1]) 
		{
			JUMP[iClient][4] = buf;
			break;
		}
	}
	save(iClient);
	return true;
}

public bool OnDisplayItem(int iClient, const char[] sFeatureName, char[] sDisplay, int maxlen)
{
	switch (JUMP[iClient][4])
	{
		case 0: strcopy(sDisplay, maxlen, "Jumping [Standard]");
		case 1: strcopy(sDisplay, maxlen, "Jumping [BunnyHop]");
		case 2: FormatEx(sDisplay, maxlen, "Jumping [%d jump (s)]", JUMP[iClient][1]);
		case 3: strcopy(sDisplay, maxlen, "Jumping [Super jump]");
	}
	return true;
}

public Action OnPlayerRunCmd(int iClient, int &fCurButtons, int &impulse, float vel[3], float angles[3], int &weapon)
{
	if (IsPlayerAlive(iClient))
	{
		static int g_fLastButtons[MAXPLAYERS+1], g_fLastFlags[MAXPLAYERS+1], g_iJumps[MAXPLAYERS+1], fCurFlags;
		static bool sp[MAXPLAYERS+1];
		fCurFlags = GetEntityFlags(iClient);
		if((PJUMP == 2 && JUMP[iClient][4] == 0) || JUMP[iClient][4] == 2)
		{	
			static int u;
			if(PJUMP == 2) u = PJUMPD;
			else u = JUMP[iClient][1];
			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] = 1;
			else if(!(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP && g_iJumps[iClient] < u)
			{						
				g_iJumps[iClient]++;						
				float vVel[3];
				GetEntPropVector(iClient, Prop_Data, "m_vecVelocity", vVel);
				vVel[2] = 300.0;
				TeleportEntity(iClient, NULL_VECTOR, NULL_VECTOR, vVel);
			}
		}
		else if ((PJUMP == 1 && JUMP[iClient][4] == 0) || JUMP[iClient][4] == 1 && fCurButtons & IN_JUMP)
		{
			if (GetEntProp(iClient, Prop_Data, "m_nWaterLevel") <= 1)
			{
				if (!(GetEntityMoveType(iClient) & MOVETYPE_LADDER))
				{
					SetEntPropFloat(iClient, Prop_Send, "m_flStamina", 0.0);
					if (!(fCurFlags & FL_ONGROUND))
					{
						fCurButtons &= ~IN_JUMP;
					}
				}
			}
		}
		else if(iClient && ((PJUMP == 3 && JUMP[iClient][4] == 0) || JUMP[iClient][4] == 3))		
		{
			if(!(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP && !sp[iClient])
			{
				sp[iClient] = true;
				float vVel[3];
				GetEntPropVector(iClient, Prop_Data, "m_vecVelocity", vVel);
				if(PJUMP == 3) vVel[2] = 300.0*PJUMPS;
				else vVel[2] = 300.0*JUMPS[iClient];
				TeleportEntity(iClient, NULL_VECTOR, NULL_VECTOR, vVel);
			}
			else if(fCurFlags & FL_ONGROUND) sp[iClient] = false;
		}
		g_fLastFlags[iClient] = fCurFlags;		
		g_fLastButtons[iClient]	= fCurButtons;
	}
	return Plugin_Continue;
}

void save(int iClient)
{
	char buf[5];
	IntToString(JUMP[iClient][4], buf, 5);
	SetClientCookie(iClient, Cookie, buf);
}

Last edited by nades; 10-20-2020 at 07:36.
nades is offline
Send a message via ICQ to nades Send a message via AIM to nades Send a message via Yahoo to nades Send a message via Skype™ to nades