SA-MP Forums Archive
/b problem - error 029 - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: /b problem - error 029 (/showthread.php?tid=469982)



/b problem - error 029 - PrivatioBoni - 15.10.2013

pawn Код:
(500) : error 029: invalid expression, assumed zero
pawn Код:
stock GetName(playerid)
{
    new szName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, szName, sizeof(szName));
    return szName;
}

forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)


CMD:b(playerid, params[]) // line 500
{
    if(isnull(params)) return SendClientMessage(playerid, COLOR_GREY, "/b (text)");
    new string[144];
    format(string, sizeof(string), "(( %s: %s ))", GetName(playerid), params);
    ProxDetector(20, playerid, string, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY);
    return 1;
}
Any help would be appreciated - thanks.


Re: /b problem - error 029 - Konstantinos - 15.10.2013

pawn Код:
stock GetName(playerid)
{
    new szName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, szName, sizeof(szName));
    return szName;
}

forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
    // do something (code)
    // you might want to return values about if it failed or not.
}

CMD:b(playerid, params[]) // line 500
{
    if(isnull(params)) return SendClientMessage(playerid, COLOR_GREY, "/b (text)");
    new string[144];
    format(string, sizeof(string), "(( %s: %s ))", GetName(playerid), params);
    ProxDetector(20, playerid, string, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY);
    return 1;
}



Re: /b problem - error 029 - thomaswilliams - 15.10.2013

Try:

PHP код:
stock GetName(playerid)
{
    new 
szName[MAX_PLAYER_NAME];
    
GetPlayerName(playeridszNamesizeof(szName));
    return 
szName;
}
forward ProxDetector(Float:radiplayeridstring[],col1,col2,col3,col4,col5);
public 
ProxDetector(Float:radiplayeridstring[],col1,col2,col3,col4,col5);
CMD:b(playeridparams[]) // line 500
{
    if(
isnull(params)) return SendClientMessage(playeridCOLOR_GREY"/b (text)");
    new 
string[144];
    
format(stringsizeof(string), "(( %s: %s ))"GetName(playerid), params);
    
ProxDetector(20playeridstringCOLOR_GREYCOLOR_GREYCOLOR_GREYCOLOR_GREYCOLOR_GREY);
    return 
1;




Re: /b problem - error 029 - PrivatioBoni - 15.10.2013

Thanks guys.

But @ Konstantinos, I'm not really sure what code to put in for the ProxDetector (where you have done the comments). I'm seriously stuck.

Thank you for your guidance so far, but further help is needed.

Regards.


Re: /b problem - error 029 - Konstantinos - 15.10.2013

I wish I could help, but I've never used ProxDetector function. Search it on ****** and you may find the stock of it.


Re: /b problem - error 029 - Chrillzen - 15.10.2013

pawn Код:
stock GetName(playerid)
{
    new
        name[24];
    GetPlayerName(playerid, name, sizeof(name));
    strreplace(name, '_', ' ');
    return name;
}


stock strreplace(string[], find, replace)
{
    for(new i=0; string[i]; i++)
    {
        if(string[i] == find)
        {
            string[i] = replace;
        }
    }
}

pawn Код:
CMD:b(playerid, params[])
{  
    if(isnull(params)) return SendClientMessage(playerid, COLOR_GREY, "[Usage]: /b [text]");
    new string[144];
    format(string, sizeof(string), "(( %s: %s ))", GetName(playerid), params);
    ProxDetector(20, playerid, string, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY);
    return 1;
}
Ontop of script:

pawn Код:
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
new BigEar[MAX_PLAYERS];
Here's the ProxDetector function: (this is old stuff, not recommended)

pawn Код:
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;

        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        //radi = 2.0; //Trigger Radius
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(!BigEar[i])
                {
                    GetPlayerPos(i, posx, posy, posz);
                    tempposx = (oldposx -posx);
                    tempposy = (oldposy -posy);
                    tempposz = (oldposz -posz);
                    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
                    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                    {
                        if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
                        {
                            SendClientMessage(i, col1, string);
                        }
                    }
                    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                    {
                        if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
                        {
                            SendClientMessage(i, col2, string);
                        }
                    }
                    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                    {
                        if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
                        {
                            SendClientMessage(i, col3, string);
                        }
                    }
                    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                    {
                        if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
                        {
                            SendClientMessage(i, col4, string);
                        }
                    }
                    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                    {
                        if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
                        {
                            SendClientMessage(i, col5, string);
                        }
                    }
        }
                else
                {
                    SendClientMessage(i, col1, string);
                }
            }
        }
    }//not connected
    return 1;
}



Re: /b problem - error 029 - PrivatioBoni - 15.10.2013

Thank you all, Chrillzen, I approved your post whatever that means. :P

Even though it's outdated, it'll do for now. Thanks again.