Argument type mismatch type 1 help
#1

pawn Code:
COMMAND:kick(playerid, params[])
{
    new targetid[MAX_PLAYER_NAME], string[128];
    if(PlayerInfo[playerid][pAdmin] >= 1)
    if(sscanf(params, "ui", targetid)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /kick [playerid] [reason]");
    if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, "This player is not online.");
    {
        GetPlayerName(playerid, targetid, sizeof targetid);
        format(string,sizeof string,"[OOC] %s: %s",targetid, string);
        SendAdminMessage(COLOR_YELLOW,string);
        Kick(targetid);
        return 1;
    }
}
on isplayerconnected line:

error 035: argument type mismatch (argument 1)

and on Kick(targetid) line:

error 035: argument type mismatch (argument 1)
Reply
#2

PHP Code:
//
COMMAND:kick(playeridparams[])
{
    new 
targetidstring[128], szName[MAX_PLAYER_NAME];
    if(
PlayerInfo[playerid][pAdmin] >= 1)
    {
        if(
sscanf(params"us[128]"targetidstring)) return SendClientMessage(playeridCOLOR_RED"USAGE: /kick [playerid] [reason]");
        if(
IsPlayerConnected(targetid)) 
        {
            new 
szMessage[128];
            
GetPlayerName(playeridszNamesizeof szName);
            
format(szMessage,sizeof szMessage,"[OOC] %s: %s",szNamestring);
            
SendAdminMessage(COLOR_YELLOW,szMessage);
            
Kick(targetid);
            return 
1;
        }
        else
            return 
SendClientMessage(playeridCOLOR_RED"This player is not online."), 1;
    }
        return 
1;

EDIT: And control structures were ill.
Reply
#3

How do i make this:

pawn Code:
COMMAND:kick(playerid, params[])
{
    new targetid, string[128], szName[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        if(sscanf(params, "us[128]", targetid, string)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /kick [playerid] [reason]");
        if(IsPlayerConnected(targetid))
        {
            new szMessage[128], szMessage2[128];
            GetPlayerName(playerid, szName, sizeof szName);
            format(szMessage,sizeof szMessage,"AdmCmd: %s, has kicked %s reason: %s",szName, string);
            format(szMessage2,sizeof szMessage2,"Admin: %s, has has kicked you, reason: %s",szName, string);
            SendAdminMessage(COLOR_YELLOW,szMessage);
            SendClientMessage(targetid, COLOR_YELLOW, szMessage2);
            Kick(targetid);
            return 1;
        }
        else
            return SendClientMessage(playerid, COLOR_RED, "This player is not online."), 1;
    }
    return 1;
}
Get the players name that the admin will kick too?

"AdmCmd: %s, has kicked %s reason: %s"
Reply
#4

Quote:
Originally Posted by gnoomen2
View Post
How do i make this:

pawn Code:
COMMAND:kick(playerid, params[])
{
    new targetid, string[128], szName[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        if(sscanf(params, "us[128]", targetid, string)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /kick [playerid] [reason]");
        if(IsPlayerConnected(targetid))
        {
            new szMessage[128], szMessage2[128];
            GetPlayerName(playerid, szName, sizeof szName);
            format(szMessage,sizeof szMessage,"AdmCmd: %s, has kicked %s reason: %s",szName, string);
            format(szMessage2,sizeof szMessage2,"Admin: %s, has has kicked you, reason: %s",szName, string);
            SendAdminMessage(COLOR_YELLOW,szMessage);
            SendClientMessage(targetid, COLOR_YELLOW, szMessage2);
            Kick(targetid);
            return 1;
        }
        else
            return SendClientMessage(playerid, COLOR_RED, "This player is not online."), 1;
    }
    return 1;
}
Get the players name that the admin will kick too?

"AdmCmd: %s, has kicked %s reason: %s"

Code:
 GetPlayerName(playerid, admin, reason);
 format(szMessage,sizeof szMessage,"AdmCmd: %s, has kicked %s reason: %s",admin, string, reason);

the first %s = admin
the seconde %s = string (name of player)
3rd %s = thi reason
Reply
#5

I get errors when I try to add it, can you add it for me? I know I have to add new admin;, but I get argument type mismatch error, can you just add it for me? Please. I suck xD

This is how i add it and i get argument type mismatch 2, on line: GetPlayerName.

pawn Code:
COMMAND:kick(playerid, params[])
{
    new targetid, admin, reason, string[128], szName[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        if(sscanf(params, "us[128]", targetid, string)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /kick [playerid] [reason]");
        if(IsPlayerConnected(targetid))
        {
            new szMessage[128], szMessage2[128];
            GetPlayerName(playerid, admin, string, reason);
            format(szMessage,sizeof szMessage,"AdmCmd: %s, has kicked %s reason: %s",admin, string, reason);
            format(szMessage2,sizeof szMessage2,"Admin: %s, has has kicked you, reason: %s",szName, string);
            SendAdminMessage(COLOR_YELLOW,szMessage);
            SendClientMessage(targetid, COLOR_YELLOW, szMessage2);
            Kick(targetid);
            return 1;
        }
        else
            return SendClientMessage(playerid, COLOR_RED, "This player is not online."), 1;
    }
    return 1;
}
}
I get the same error when i have your line:

GetPlayerName(playerid, admin, reason);

and this line:

GetPlayerName(playerid, admin, string, reason);

Sorry i am new to scripting
Reply
#6

pawn Code:
COMMAND:kick(playerid, params[])
{
    new targetid, admin, reason, string[128], szName[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        if(sscanf(params, "us[128]", targetid, string)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /kick [playerid] [reason]");
        if(IsPlayerConnected(targetid))
        {
            new szMessage[128], szMessage2[128];
            GetPlayerName(playerid, admin, string, reason);
            format(szMessage,sizeof szMessage,"AdmCmd: %s, has kicked %s reason: %s",admin, string, reason);
            format(szMessage2,sizeof szMessage2,"Admin: %s, has has kicked you, reason: %s",szName, string);
            SendAdminMessage(COLOR_YELLOW,szMessage);
            SendClientMessage(targetid, COLOR_YELLOW, szMessage2);
            Kick(targetid);
            return 1;
        }
        else
            return SendClientMessage(playerid, COLOR_RED, "This player is not online."), 1;
    }
    return 1;
}
}
change to

Code:
CMD:kick(playerid, params[])
    {
         if(PlayerInfo[playerid][pAdmin] >= 1) {
            new P; 
            new reason[64]; 
            new str[128];
            new Playername[MAX_PLAYER_NAME], Adminname[MAX_PLAYER_NAME]; 
            GetPlayerName(playerid, Adminname, sizeof(Adminname)); //defines the function with the adminname we wanna get
 	  		GetPlayerName(P, Playername, sizeof(Playername));
            if(sscanf(params, "us[64]", P,reason)) return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /kick [playerid] [reason]"); 
            if(!IsPlayerConnected(P)) 
                return SendClientMessage(playerid, COLOR_GREY, "Player is not connected!");

            format(str, sizeof(str), "'%s' has been kicked by administrator '%s'. Reason: %s ", Playername, Adminname, reason);
		SendClientMessageToAll(COLOR_RED, str); 
  		Kick(P); 

        }
        else 
        {
            SendClientMessage(playerid, COLOR_GREY, "You have to be level 1 to use that command!"); 
        }
        return 1;
    }
Reply
#7

Thank you it works +Rep'd
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)