Anti CS
#1

I got some warnings when i added Anti CS System to my GM.

Code
PHP код:
// Anti CS
#define MAX_SLOTS 40
new NotMoving[MAX_PLAYERS];
new 
WeaponID[MAX_PLAYERS];
new 
CheckCrouch[MAX_PLAYERS];
new 
Ammo[MAX_PLAYERS][MAX_SLOTS];
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    if((
newkeys KEY_FIRE) && (oldkeys KEY_CROUCH) && !((oldkeys KEY_FIRE) || (newkeys KEY_HANDBRAKE)) || (oldkeys KEY_FIRE) && (newkeys KEY_CROUCH) && !((newkeys KEY_FIRE) || (newkeys KEY_HANDBRAKE)) ) {
        switch(
GetPlayerWeapon(playerid)) {
            case 
23..252729..3441: {
                if(
Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
                    
OnPlayerCBug(playerid);
                }
                return 
1;
            }
        }
    }
    if(
CheckCrouch[playerid] == 1) {
        switch(
WeaponID[playerid]) {
            case 
23..252729..3441: {
                if((
newkeys KEY_CROUCH) && !((newkeys KEY_FIRE) || (newkeys KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
                    if(
Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
                        
OnPlayerCBug(playerid);
                    }
                }
            }
        }
    }
    
//if(newkeys & KEY_CROUCH || (oldkeys & KEY_CROUCH)) return 1;
    
else if(((newkeys KEY_FIRE) && (newkeys KEY_HANDBRAKE) && !((newkeys KEY_SPRINT) || (newkeys KEY_JUMP))) ||
    (
newkeys KEY_FIRE) && !((newkeys KEY_SPRINT) || (newkeys KEY_JUMP)) ||
    (
NotMoving[playerid] && (newkeys KEY_FIRE) && (newkeys KEY_HANDBRAKE)) ||
    (
NotMoving[playerid] && (newkeys KEY_FIRE)) ||
    (
newkeys KEY_FIRE) && (oldkeys KEY_CROUCH) && !((oldkeys KEY_FIRE) || (newkeys KEY_HANDBRAKE)) ||
    (
oldkeys KEY_FIRE) && (newkeys KEY_CROUCH) && !((newkeys KEY_FIRE) || (newkeys KEY_HANDBRAKE)) ) {
        
SetTimerEx("CrouchCheck"30000"d"playerid);
        
CheckCrouch[playerid] = 1;
        
WeaponID[playerid] = GetPlayerWeapon(playerid);
        
Ammo[playerid][GetPlayerWeapon(playerid)] = GetPlayerAmmo(playerid);
        return 
1;
    }
    return 
1;
}
public 
OnPlayerUpdate(playerid)
{
      
// AntiCS
        
new Keysudlr// This line have error
        
GetPlayerKeys(playeridKeysudlr);
        if(
CheckCrouch[playerid] == 1) {
            switch(
WeaponID[playerid]) {
                case 
23..252729..3441: {
                    if((
Keys KEY_CROUCH) && !((Keys KEY_FIRE) || (Keys KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
                        if(
Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
                            
OnPlayerCBug(playerid);
                        }
                    }
                    
//else SendClientMessage(playerid, COLOR_RED, "Failed in onplayer update");
                
}
            }
        }
    return 
1;
}
// Anti CS
forward OnPlayerCBug(playerid);
public 
OnPlayerCBug(playerid) {
    if(!
EventKernel[playerid]) // This line have error
    
{
        new 
Float:H;
        
GetPlayerHealth(playeridH);
        
SetPlayerHealth(playeridH-5);
    }
    return 
1;
}
forward CrouchCheck(playerid);
public 
CrouchCheck(playerid) {
    
CheckCrouch[playerid] = 0;
    return 
1;

Errors
PHP код:
C:\Users\Euronics Latvija\Desktop\LCRP\gamemodes\nlrp.pwn(6111) : warning 219local variable "WeaponID" shadows a variable at a preceding level
C
:\Users\Euronics Latvija\Desktop\LCRP\gamemodes\nlrp.pwn(6111) : warning 219local variable "Ammo" shadows a variable at a preceding level
C
:\Users\Euronics Latvija\Desktop\LCRP\gamemodes\nlrp.pwn(100093) : warning 219local variable "Keys" shadows a variable at a preceding level
C
:\Users\Euronics Latvija\Desktop\LCRP\gamemodes\nlrp.pwn(100093) : warning 219local variable "ud" shadows a variable at a preceding level
C
:\Users\Euronics Latvija\Desktop\LCRP\gamemodes\nlrp.pwn(100093) : warning 219local variable "lr" shadows a variable at a preceding level
C
:\Users\Euronics Latvija\Desktop\LCRP\gamemodes\nlrp.pwn(108244) : warning 213tag mismatch
Pawn compiler 3.2.3664              Copyright 
(c1997-2006ITB CompuPhase
8 Warnings

Error here
PHP код:
GivePlayerValidWeapon(playeridWeaponIDAmmo// Shows this line have error
{
    if((
PlayerInfo[playerid][pConnectTime] < || PlayerInfo[playerid][pWRestricted] > 0) && WeaponID != 46 && WeaponID != 43) return 1;
    switch( 
WeaponID )
    {
          case 
01:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
23456789:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
222324:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
252627:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
282932:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
3031:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
3334:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
35363738:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
1617183940:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
414243:
        {
            
PlayerInfo[playerid][pGuns][ ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
101112131415:
        {
            
PlayerInfo[playerid][pGuns][ 10 ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
        case 
444546:
        {
            
PlayerInfo[playerid][pGuns][ 11 ] = WeaponID;
            
GivePlayerWeaponplayeridWeaponIDAmmo );
        }
    }
    return 
1;

Reply
#2

pawn Код:
GivePlayerValidWeapon(playerid, WeaponID, Ammo) // Shows this line have error
This function uses the same variable-names as your global arrays:
pawn Код:
new WeaponID[MAX_PLAYERS];
new Ammo[MAX_PLAYERS][MAX_SLOTS];
That function tries to create 3 new variables (playerid, WeaponID and Ammo), but they exist already on the global level (your arrays).

Just change the variable-names in that function.


As for the others:
Do you have some other global variables that are called "Keys", "ud", "lr"?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)