error 029: invalid expression, assumed zero
#1

I don't know what to do anymore, I tried everything, but i'm getting this error everytime error 029: invalid expression, assumed zero, If i remove this line the textdraw with player is not connected will showup every singel time if you use this command
PHP код:
command(giveplayeridparams[])
{
    new 
Usage[128], idValuestring[128];
    if(
sscanf(params"uzd"idUsageValue))
    {
        
SendClientMessage(playeridWHITE"SYNTAX: /give [playerid] [usage] [value]");
        
SendClientMessage(playeridGREY"Usages: Money , Gun");
     }
     else
     {
         if(
strlen(Usage) >= && IsPlayerConnectedEx(id))
         {
            if(
strcmp(Usage"Money"true) == 0)
            {
                if(
GetDistanceBetweenPlayers(playeridid) <7)
                {
                      
TakePlayerCash(playeridValue);
                     
GivePlayerCash(idValue);
                     
SavePlayerData(id);
                    
format(stringsizeof(string), "[%s] [GIVE MONEY] %s gave %s money $%d"date(gettime()+36009), RPName(playerid), RPName(id), Value);
                    
RefundLog(string);
                      
format(stringsizeof(string), "[%s] [GIVE MONEY] %s gave %s money $%d"date(gettime()+36009), RPName(playerid), RPName(id), Value);
                    
RefundLog(string);
                    
format(stringsizeof(string), "* %s opned his wallet and gave some money to %s."RPName(playerid), RPName(id));
                    
NearByMessage(playeridNICESKYstring);
                }
            }
            else
            {
                
SCM(playeridRED"> You're too far away!");
            }
        }
        else
        {
            
RemoveTextMessage(playerid);
            
TextDrawShowForPlayer(playeridText:PlayerNotConnected);
            
SetTimerEx("RemoveTextMessage"3500false"d"playerid);
        }
    }
    else <<<<<<<=== 
This is the line
    
{
        if(
strlen(Usage) >= && IsPlayerConnectedEx(id))
        {
            if(
strcmp(Usage"Gun"true) == 0)
            {
                if(
GetDistanceBetweenPlayers(playeridid) <7)
                {
                    new 
playergunplayerammo;
                    
playergun GetPlayerWeapon(playerid);
                    
playerammo GetPlayerAmmo(playerid);
                    
GivePlayerWeapon(idplayergunplayerammo);
                    
GivePlayerWeapon(playeridplayergun, -playerammo);
                    
format(stringsizeof(string), "* %s handed his weapon over to %s."RPName(playerid), RPName(id));
                    
NearByMessage(playeridNICESKYstring);
                }
            }
            else
            {
                
SCM(playeridRED"> You're too far away!");
            }
          }
        else
        {
            
RemoveTextMessage(playerid);
            
TextDrawShowForPlayer(playeridText:PlayerNotConnected);
            
SetTimerEx("RemoveTextMessage"3500false"d"playerid);
        }
     }
    return 
1;

Reply
#2

You got alot of problems in your code. I'll fix it for you.

Also, you are using if incorrectly.

This is your order:

Код:
if
{
}
else
{
}
else
{
}
You see the problem here?


Fixed command:
PHP код:
   command(giveplayeridparams[]) 
   { 
        new 
Usage[128], idValuestring[128]; 
        if(
sscanf(params"uzd"idUsageValue)) 
        { 
                
SendClientMessage(playeridWHITE"SYNTAX: /give [playerid] [usage] [value]"); 
                
SendClientMessage(playeridGREY"Usages: Money , Gun"); 
        return 
1;
         } 
     if(
strlen(Usage) >= && IsPlayerConnectedEx(id)) 
     { 
        if(
strcmp(Usage"Money"true) == 0
        { 
            if(
GetDistanceBetweenPlayers(playeridid) <7
            { 
                  
TakePlayerCash(playeridValue); 
                 
GivePlayerCash(idValue); 
                 
SavePlayerData(id); 
                
format(stringsizeof(string), "[%s] [GIVE MONEY] %s gave %s money $%d"date(gettime()+36009), RPName(playerid), RPName(id), Value); 
                
RefundLog(string); 
                  
format(stringsizeof(string), "[%s] [GIVE MONEY] %s gave %s money $%d"date(gettime()+36009), RPName(playerid), RPName(id), Value); 
                
RefundLog(string); 
                
format(stringsizeof(string), "* %s opned his wallet and gave some money to %s."RPName(playerid), RPName(id)); 
                
NearByMessage(playeridNICESKYstring); 
            } 
            else 
            { 
                
SCM(playeridRED"> You're too far away!"); 
            } 
        }
        else if(
strcmp(Usage"Gun"true) == 0
        { 
            if(
GetDistanceBetweenPlayers(playeridid) <7
            { 
                new 
playergunplayerammo
                
playergun GetPlayerWeapon(playerid); 
                
playerammo GetPlayerAmmo(playerid); 
                
GivePlayerWeapon(idplayergunplayerammo); 
                
GivePlayerWeapon(playeridplayergun, -playerammo); 
                
format(stringsizeof(string), "* %s handed his weapon over to %s."RPName(playerid), RPName(id)); 
                
NearByMessage(playeridNICESKYstring); 
            } 
            else 
            { 
                
SCM(playeridRED"> You're too far away!"); 
            } 
        }
        else return 
SCM(playeridRED"> Wrong option chosen!"); 
    } 
    else 
    { 
        
RemoveTextMessage(playerid); 
        
TextDrawShowForPlayer(playeridText:PlayerNotConnected); 
        
SetTimerEx("RemoveTextMessage"3500false"d"playerid); 
    } 
        return 
1
   } 
Reply
#3

Thanks for your advise,

I created this now
PHP код:
command(giveplayeridparams[])
{
    new 
Usage[128], idValuestring[128];
    if(
sscanf(params"uzd"idUsageValue))
    {
        
SendClientMessage(playeridWHITE"SYNTAX: /give [playerid] [usage] [value]");
        
SendClientMessage(playeridGREY"Usages: Money , Gun");
     }
     else
     {
         if(
strcmp(Usage"money"true) == 0)
         {
             if(
strlen(Usage) >= && IsPlayerConnectedEx(id))
             {
                 if(
GetDistanceBetweenPlayers(playeridid) < 7)
                 {
                    if(
Player[playerid][Money] >= Value)
                    {
                        
SCM(playeridRED"> You don't have enough money");
                    }
                    else
                    {
                        
GivePlayerCash(idValue);
                        
TakePlayerCash(playeridValue);
                        
SavePlayerData(id);
                           
format(stringsizeof(string), "* %s gave some money out his wallet to %s."RPName(playerid), RPName(id));
                          
NearByMessage(playeridNICESKYstring);
                        
format(stringsizeof(string), "[%s] [MONEY] Player %s has given %s Money to $%d"date(gettime()+36009), RPName(playerid), RPName(id), Value);
                        
RefundLog(string);
                        
format(stringsizeof(string), "[%s] [MONEY] Player %s has given %s Money to $%d"date(gettime()+36009), RPName(playerid), RPName(id), Value);
                        
SendToAdmins(YELLOWstring);
                     }
                }
                else
                {
                    
SCM(playeridRED"> You're too far away!");
                }
            }
            else
            {
                
RemoveTextMessage(playerid);
                
TextDrawShowForPlayer(playeridText:PlayerNotConnected);
                
SetTimerEx("RemoveTextMessage"3500false"d"playerid);
            }
        }
        else 
        {
            if(
strcmp(Usage"Gun"true) == 0)
            {
                if(
strlen(Usage) >= && IsPlayerConnectedEx(id))
                {
                    if(
GetDistanceBetweenPlayers(playeridid) <7)
                    {
                        new 
playergunplayerammo;
                        
playergun GetPlayerWeapon(playerid);
                        
playerammo GetPlayerAmmo(playerid);
                        
GivePlayerWeapon(idplayergunplayerammo);
                        
GivePlayerWeapon(playeridplayergun, -playerammo);
                        
format(stringsizeof(string), "* %s handed his weapon over to %s."RPName(playerid), RPName(id));
                        
NearByMessage(playeridNICESKYstring);
                     }
                }
                else
                {
                    
SCM(playeridRED"> You're too far away!");
                }
            }
            else
            {
                
RemoveTextMessage(playerid);
                
TextDrawShowForPlayer(playeridText:PlayerNotConnected);
                
SetTimerEx("RemoveTextMessage"3500false"d"playerid);
            }
        }
     }
    return 
1;

But there are still some issues, Like

He is not reading this code,
PHP код:
                    if(Player[playerid][Money] >= Value)
                    {
                        
SCM(playeridRED"> You don't have enough money");
                    } 
And by the weapon it doesn't see if the id is offline, It returns as This player is to far away,

But how can i make the /give [id] gun [value] to /give [id] gun ?
Reply
#4

bump
Reply
#5

Quote:
Originally Posted by lulo356
Посмотреть сообщение
Код:
   
if(Player[playerid][Money] >= Value)
{
	SCM(playerid, RED, "> You don't have enough money");
}
...........
Код:
   
if(Player[playerid][Money] < Value) return SCM(playerid, RED, "> You don't have enough money");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)