COMMAND:admin(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >= 1) { new option[128], item[128], TargetPlayer, TargetPlayerName [ MAX_PLAYER_NAME ], AmmountP, AdminName [ MAX_PLAYER_NAME ], command[128]; new szStr[ 128 ]; GetPlayerName( playerid, AdminName, MAX_PLAYER_NAME ); GetPlayerName( TargetPlayer, TargetPlayerName, MAX_PLAYER_NAME ); sscanf(params, "sss", option, item, command, TargetPlayer, AmmountP); if (isnull(option)) { SendClientMessage(playerid, COLOR_WHITE, " USAGE: /admin [Opzione]"); SendClientMessage(playerid, COLOR_WHITE, " OPTIONS: Give | Sett | SelfSETT"); return 1; } if (!strcmp(item, "Give") || !strcmp(item, "give")) { if (isnull(item)) { SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin Give [Ozione]"); SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[USI]: soldi | armatura | vita"); return 1; } if (!strcmp(item, "Soldi") || !strcmp(item, "soldi")) { if(sscanf(command, "ui", TargetPlayer, AmmountP)) return SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin give soldi [ID/nome giocatore] [Quantitа]"); if(!IsPlayerConnected(TargetPlayer)) return SendClientMessage(playerid, COLOR_SYSTEM_ERROR,"[ERRORE]: Il giocatore selezionato non и connesso o id/nome sbagliato"); GivePlayerMoney(TargetPlayer, AmmountP); // Messaggio di avviso format( szStr, sizeof(szStr), "[ADMIN]: %s ti ha givvato %i$", AdminName, AmmountP ); SendClientMessage(TargetPlayer, COLOR_SYSTEM_INFO, szStr ); format( szStr, sizeof(szStr), "[INFO]: Hai givvato a %s %i$", TargetPlayerName, AmmountP ); SendClientMessage(playerid, COLOR_SYSTEM_SUCCESS, szStr ); return 1; } else if (!strcmp(item, "Armatura") || !strcmp(item, "armatura")) { if(sscanf(command, "u", TargetPlayer)) return SendClientMessage(playerid, 0xFFFFFFF,"Syntax error.Correct usage: /givesoldi [PlayerID] [Soldi]"); if(!IsPlayerConnected(TargetPlayer)) return SendClientMessage(playerid, 0xFFFFFFF,"That player is not connected to the server!"); SetPlayerArmour(TargetPlayer, 100); return 1; } else if (!strcmp(item, "money")) { // Code for the money... } } else if (!strcmp(option, "Sett") || !strcmp(option, "sett")) { if (isnull(item)) { SendClientMessage(playerid, COLOR_WHITE, " USAGE: /admin sett [Opzione]"); SendClientMessage(playerid, COLOR_WHITE, " OPTIONS: armatura, vita, Money"); return 1; } else if (!strcmp(item, "Armatura") || !strcmp(item, "armatura")) { if(sscanf(command, "u", TargetPlayer)) return SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin sett armatura [ID/nome giocatore]"); if(!IsPlayerConnected(TargetPlayer)) return SendClientMessage(playerid, COLOR_SYSTEM_ERROR,"[ERRORE]: Il giocatore selezionato non и connesso o id/nome sbagliato"); // Setting dell'armatura al giocatore selezionato SetPlayerArmour(TargetPlayer, 100); // Messaggio di avviso format( szStr, sizeof(szStr), "[ADMIN]: %s ti ha settato l'armatura al massimo", AdminName ); SendClientMessage(TargetPlayer, COLOR_SYSTEM_INFO, szStr ); format( szStr, sizeof(szStr), "[INFO]: Hai settato l'armatura di %s al massimo", TargetPlayerName ); SendClientMessage(playerid, COLOR_SYSTEM_SUCCESS, szStr ); return 1; } else if (!strcmp(item, "Vita") || !strcmp(item, "vita")) { if(sscanf(command, "u", TargetPlayer)) return SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin sett armatura [ID/nome giocatore]"); if(!IsPlayerConnected(TargetPlayer)) return SendClientMessage(playerid, COLOR_SYSTEM_ERROR,"[ERRORE]: Il giocatore selezionato non и connesso o id/nome sbagliato"); // Setting dell'armatura al giocatore selezionato SetPlayerHealth(TargetPlayer, 100); // Messaggio di avviso format( szStr, sizeof(szStr), "[ADMIN]: %s ti ha settato la vita al massimo", AdminName ); SendClientMessage(TargetPlayer, COLOR_SYSTEM_INFO, szStr ); format( szStr, sizeof(szStr), "[INFO]: Hai settato la vita di %s al massimo", TargetPlayerName ); SendClientMessage(playerid, COLOR_SYSTEM_SUCCESS, szStr ); return 1; } else if (!strcmp(item, "money")) { // Code for the money... } } else if (!strcmp(option, "SelfSETT") || !strcmp(option, "selfsett")) { if (isnull(item)) { SendClientMessage(playerid, COLOR_WHITE, " USAGE: /admin SelfSETT [Opzione]"); SendClientMessage(playerid, COLOR_WHITE, " OPTIONS: Armatura | Vita"); return 1; } if (!strcmp(item, "Armatura") || !strcmp(item, "armatura")) { SetPlayerArmour(playerid, 100); SendClientMessage(playerid, COLOR_SYSTEM_SUCCESS, "[INFO]: Ti sei ricaricato l'armatura."); return 1; } else if (!strcmp(item, "Vita") || !strcmp(item, "vita")) { SetPlayerHealth(playerid, 100); SendClientMessage(playerid, COLOR_SYSTEM_SUCCESS, "[INFO]: Ti sei ricaricato la vita."); return 1; } else if (!strcmp(item, "money")) { // Code for the money... } } } else if(PlayerInfo[playerid][pAdmin] == 0) { SendClientMessage(playerid, COLOR_SYSTEM_ERROR, "[ERRORE]: Non sei autorizzato ad usare questo comando"); return 1; } return 1; }
Check the sscanf topic - it has full documentation on how to do strings there.
|
COMMAND:admin(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1) SendClientMessage(playerid, COLOR_SYSTEM_ERROR, "[ERRORE]: Non sei autorizzato ad usare questo comando");
else
{
if(isnull(params))
{
SendClientMessage(playerid, COLOR_WHITE, " USAGE: /admin [Opzione]");
SendClientMessage(playerid, COLOR_WHITE, " OPTIONS: Give | Sett | SelfSETT");
}
else
{
new option[10], item[10], TargetPlayer, AmmountP;
sscanf(params, "s[10]S(unknown)[10]U(-1)I(-1)", option, item, TargetPlayer, AmmountP);
if(!strcmp(option, "give", true))
{
if(!strcmp(item,"unknown",true))
{
SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin Give [Ozione]");
SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[USI]: soldi | armatura | vita");
}
else
{
if(!strcmp(item, "soldi", true))
{
if(TargetPlayer == -1 && AmmountP == -1) return SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin give soldi [ID/nome giocatore] [Quantita]");
if(!IsPlayerConnected(TargetPlayer)) return SendClientMessage(playerid, COLOR_SYSTEM_ERROR,"[ERRORE]: Il giocatore selezionato non e connesso o id/nome sbagliato");
GivePlayerMoney(TargetPlayer, AmmountP);
}
else if(!strcmp(item, "armatura", true))
{
if(TargetPlayer == -1) return SendClientMessage(playerid, 0xFFFFFFF,"[INFO]: Usa /admin give armatura [ID/nome giocatore]");
if(!IsPlayerConnected(TargetPlayer)) return SendClientMessage(playerid, 0xFFFFFFF,"That player is not connected to the server!");
SetPlayerArmour(TargetPlayer, 100.0);
}
else if(!strcmp(item, "vita", true))
{
if(TargetPlayer == -1) return SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin give vita [ID/nome giocatore]");
if(!IsPlayerConnected(TargetPlayer)) return SendClientMessage(playerid, COLOR_SYSTEM_ERROR,"[ERRORE]: Il giocatore selezionato non e connesso o id/nome sbagliato");
SetPlayerHealth(TargetPlayer, 100.0);
}
else
{
SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[INFO]: Usa /admin Give [Ozione]");
SendClientMessage(playerid, COLOR_SYSTEM_INFO, "[USI]: soldi | armatura | vita");
}
}
}
}
}
return 1;
}
CMD:test(playerid, cmdtext[])
{
new sz_Param[30], sz_A_Param[30];
if (sscanf(cmdtext, "s[30]S()[30]", sz_Param, sz_A_Param) )
{
SendClientMessage(playerid, -1, "/test parameter | parameter | parameter");
return 1;
}
if (!strcmp(sz_Param, "parameter", true) ){
new giveplayerid, amount;
if (sscanf(sz_A_Param, "ud", giveplayerid, amount) )
{
SendClientMessage(playerid, -1, "/test parameter [ID/partofName] [amount]");
return 1;
}
}
else if (!strcmp(sz_Param, "parameter_two", true) ) {
new Float:givefloat;
if (sscanf(sz_A_Param, "f", givefloat) )
{
SendClientMessage(playerid, -1, "/test parameter_two [float]");
return 1;
}
}
return 1;
}