SA-MP Forums Archive
Weapon license help - 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: Weapon license help (/showthread.php?tid=450712)



Weapon license help - Craig3412 - 14.07.2013

Well basically i made a weapon license system where you need a certain level for a certain gun, but its not working correctly, can anyone lend a hand?

Код:
CMD:setweaponlicense(playerid, params[])
{
    if(sscanf(params,"ui",ID,Classlevel)) return SendClientMessage(playerid,0xFF9900AA, "USAGE: /setweaponlicense [ID] [Class 1-3]");//it will show this if you dont use the format properly
    if(levels > 3) return SendClientMessage(playerid,0xFF0000FF,"LEVELS AVAILABLE 1-3!");//Available levels
    if(!IsPlayerConnected(ID))return SendClientMessage(playerid, COLOR_RED,"That user is not connected.");//Detect if the id/partofname is connected
    GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//define the playerid name
    GetPlayerName(ID,pname,MAX_PLAYER_NAME);//define the other person name
    if(levels == 0)
    {
        format(str, sizeof(str),"%s has set your weapon license level to %d on the server.",Nam,levels);
        SendClientMessage(ID,0xFF9900AA,str);
        format(str, sizeof(str),"You have set %s weapon license level to %d!",pname,levels);
        SendClientMessage(playerid,0xFF9900AA,str);
        PlayerData[ID][Classlevel] = levels;//this sets the player level
        return 1;
    }
    format(str, sizeof(str),"%s has set your weapon license level to %d on the server.",Nam,levels);
    SendClientMessage(ID,0xFF9900AA,str);
    format(str, sizeof(str),"You have set %s weapon license level to %d!",pname,levels);
    SendClientMessage(playerid,0xFF9900AA,str);
    PlayerData[ID][Classlevel] = levels;
	return 1;
}




enum pData
{
	Classlevel
};
new PlayerData[MAX_PLAYERS][pData];
new Classes,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[128],ID;



Re: Weapon license help - Craig3412 - 14.07.2013

Bump, I really need help with this


Re: Weapon license help - Boolean - 15.07.2013

Try this out:

pawn Код:
CMD:setweaponlicense(playerid, params[])
{
    new ID, levels, str[150], Nam[MAX_PLAYER_NAME+1], pname[MAX_PLAYER_NAME+1];

    if(sscanf(params,"ui", ID, levels)) return SendClientMessage(playerid,0xFF9900AA, "USAGE: /setweaponlicense [ID] [Class 1-3]");//it will show this if you dont use the format properly
    if(levels < 1 || levels > 3) return SendClientMessage(playerid,0xFF0000FF,"LEVELS AVAILABLE 1-3!");//Available levels
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_RED,"That user is not connected.");//Detect if the id/partofname is connected

    GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//define the playerid name
    GetPlayerName(ID,pname,MAX_PLAYER_NAME);//define the other person name

    if(levels == 0)
    {
        format(str, sizeof(str),"%s has set your weapon license level to %d on the server.",Nam,levels);
        SendClientMessage(ID,0xFF9900AA,str);

        format(str, sizeof(str),"You have set %s weapon license level to %d!",pname,levels);
        SendClientMessage(playerid,0xFF9900AA,str);

        PlayerData[ID][Classlevel] = levels;//this sets the player level
    }
    else
    {
        format(str, sizeof(str),"%s has set your weapon license level to %d on the server.",Nam,levels);
        SendClientMessage(ID,0xFF9900AA,str);

        format(str, sizeof(str),"You have set %s weapon license level to %d!",pname,levels);
        SendClientMessage(playerid,0xFF9900AA,str);

        PlayerData[ID][Classlevel] = levels;
    }
    return 1;
}



Re: Weapon license help - Craig3412 - 15.07.2013

Thank you so much! It works, L+A