/eject
#1

hello i want if i didnt type the reason it will just eject the player without send to him the reason i used isnull but its not work

PHP Code:
CMD:aj(playerid,params[])
{
  new 
TargetIDreason[100], name[24], tname[24], str[100];
  if(
pdata[playerid][Adminstator] < 2) return SendClientMessage(playerid,Red,"Command not found! Type /cmds");
  if(
sscanf(params"us[100]",TargetID,reason)) return SendClientMessage(playerid,Red,"Eject player from vehicle: /aj <id> <reason>");
  if(!
IsPlayerConnected(TargetID)) return SendClientMessage(playerid,Red,"Player is not connected");
  if(
IsPlayerInAnyVehicle(TargetID))
  {
    
GetPlayerName(playerid,name,sizeof(name));
    
format(str,sizeof(str),"%s %s ejected you: %s",AdminLevel(playerid),name,reason);
    
SendClientMessage(TargetID,Red,str);
    
RemovePlayerFromVehicle(TargetID);
  }
  else
  {
    
SendClientMessage(playerid,Red,"Player is not in vehicle");
  }
  if(
isnull(reason))
  {
    
GetPlayerName(playerid,name,sizeof(name));
    
format(str,sizeof(str),"%s %s ejected you",AdminLevel(playerid),name);
    
SendClientMessage(TargetID,Red,str);
    
RemovePlayerFromVehicle(TargetID);
  }
  return 
1;

Reply
#2

Give this a try

pawn Code:
CMD:aj(playerid,params[])
{
    new target, reason[100], aname[24], tname[24], str[100];
    if(pdata[playerid][Adminstator] < 2) return SendClientMessage(playerid,Red,"Command not found! Type /cmds");
    if(sscanf(params, "us[100]", target, reason)) return SendClientMessage(playerid,Red,"Eject player from vehicle: /aj <id> <reason>");
    if(!IsPlayerConnected(target)) return SendClientMessage(playerid,Red,"Player is not connected");
    if(!IsPlayerInAnyVehicle(target)) return SendClientMessage(playerid,Red,"Player is not in vehicle");

    GetPlayerName(playerid, aname, sizeof(aname));
    if(isnull(reason)) format(str, sizeof(str), "Admin '%s' (Level %d) ejected you", aname, AdminLevel(playerid));
    else format(str, sizeof(str), "Admin '%s' (Level %d) ejected you: %s", aname, AdminLevel(playerid), reason);
   
        SendClientMessage(target, Red, str);
    RemovePlayerFromVehicle(target);
    return 1;
}
Reply
#3

pawn Code:
CMD:aj(playerid, params[])
{
    if(pdata[playerid][Adminstator] < 2) return SendClientMessage(playerid, Red, "Command not found! Type /cmds");
    new TargetID, reason[65];
    if(sscanf(params, "uS(No Reason)[65]", TargetID, reason)) return SendClientMessage(playerid, Red, "Eject player from vehicle: /aj <id> <reason>");
    if(!IsPlayerConnected(TargetID)) return SendClientMessage(playerid, Red, "Player is not connected");
    if(!IsPlayerInAnyVehicle(TargetID)) return SendClientMessage(playerid, Red, "Player is not in vehicle");
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s %s ejected you: %s", AdminLevel(playerid), name, reason);
    SendClientMessage(TargetID, Red, str);
    RemovePlayerFromVehicle(TargetID);
    return 1;
}
You should read the SSCANF plugin thread, it would be much more useful than asking others to fix your code. You might learn from it.
https://github.com/Y-Less/sscanf/wiki

Quote:
Originally Posted by ******
Optional Strings

With optional strings, the default value comes between round brackets before the destination size:

Code:
S(default)[length]
The default can be empty if desired to make truly optional strings:

Code:
S()[length]
The default also ignores all current delimiter settings, and will be the complete contents of whatever appears between the brackets - including escapes:

Code:
S(\(Default\))[length]
Reply
#4

Quote:
Originally Posted by Threshold
View Post
pawn Code:
CMD:aj(playerid, params[])
{
    if(pdata[playerid][Adminstator] < 2) return SendClientMessage(playerid, Red, "Command not found! Type /cmds");
    new TargetID, reason[65];
    if(sscanf(params, "uS(No Reason)[65]", TargetID, reason)) return SendClientMessage(playerid, Red, "Eject player from vehicle: /aj <id> <reason>");
    if(!IsPlayerConnected(TargetID)) return SendClientMessage(playerid, Red, "Player is not connected");
    if(!IsPlayerInAnyVehicle(TargetID)) return SendClientMessage(playerid, Red, "Player is not in vehicle");
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s %s ejected you: %s", AdminLevel(playerid), name, reason);
    SendClientMessage(TargetID, Red, str);
    RemovePlayerFromVehicle(TargetID);
    return 1;
}
You should read the SSCANF plugin thread, it would be much more useful than asking others to fix your code. You might learn from it.
https://github.com/Y-Less/sscanf/wiki
Thank you i didnt saw your post here i want i dont want that (NO reason) i want it empty but its still give me the samp warnins

PHP Code:
CMD:aeject(playerid,params[])
{
  new 
TargetIDReason[100], name[24], tname[24], str[100];
  if(
pdata[playerid][Adminstator] < 2) return SendClientMessage(playerid,Red,"Command not found! Type /cmds");
  if(
sscanf(params"uS()[100])",TargetID,Reason)) return SendClientMessage(playerid,Red,"Eject player from vehicle: /aj <id> <reason>");
  if(!
IsPlayerConnected(TargetID)) return SendClientMessage(playerid,Red,"Player is not connected");
  if(!
IsPlayerInAnyVehicle(TargetID)) return SendClientMessage(playerid,Red,"Player is not in vehicle");
  {
    
GetPlayerName(playerid,name,sizeof(name));
    
format(str,sizeof(str),"%s %s ejected you: %s",AdminLevel(playerid),name,Reason);
    
SendClientMessage(TargetID,Red,str);
    
RemovePlayerFromVehicle(TargetID);
  } 
PHP Code:
sscanf warning format specifier does not match parameter count 
Reply
#5

Use the new code I posted in the other thread.
Reply
#6

Quote:
Originally Posted by Threshold
View Post
Use the new code I posted in the other thread.
same warings
Reply
#7

oh my bad it work but i dont want to use another players cmds i want just to use my own what was my problem exactly
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)