AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting (https://forums.alliedmods.net/forumdisplay.php?f=107)
-   -   Solved [CSGO] vip multi jump i need help (https://forums.alliedmods.net/showthread.php?t=327996)

nades 10-20-2020 07:22

[CSGO] vip multi jump i need help
 
vip_multi_jump.sp(24) : error 021: symbol already defined: "Cookie"
vip_multi_jump.sp(28) : 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);
}


SSheriFF 10-20-2020 07:28

Re: [CSGO] vip multi jump i need help
 
2 Attachment(s)
Quote:

Originally Posted by nades (Post 2721996)
vip_multi_jump.sp(24) : error 021: symbol already defined: "Cookie"
vip_multi_jump.sp(28) : 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);
}


Compiled on Sourcemod 1.8 no errors at all.

nades 10-20-2020 07:37

Re: [CSGO] vip multi jump i need help
 
oh thanks.
solved


All times are GMT -4. The time now is 15:31.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.