Hallo
Der Titel ist nicht wirklich ganz aussagekräftig. Ich habe ein CMD, wo man nach dem CMD einen String eingeben kann und dahiner die ID (Sollte so sein). Jedoch passiert nicht wirklich etwa sund ich vermute stark, dass es am Aufbau liegt. Ich möchte gerne, dass es etwa wie folgt aussieht:
/annehmen polizei ID
etc....
Der Anrufer/Kunde (hier id), bekommt dann eine Meldung, dass jemand den "Auftrag" annimmt.
dcmd_annehmen(playerid, params[])
{
new str[256], id;
if(sscanf(params, "s",str))
{
SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /annehmen [Dienst] [ID]");
SendClientMessage(playerid, COLOR_WHITE, "[Dienst][Spieler] = reperatur betankung heilung");
SendClientMessage(playerid, COLOR_WHITE, "[Dienst][Fraktion] = polizei mediziner adac news taxi");
return 1;
}
else
{
if(strcmp("polizei", str, true, strlen(str)) == 0)
{
if(sscanf(params, "su",str,id)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /annehmen polizei [ID]");
else if(!GetPlayerFraktion(playerid, 1)) SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist");
else if(id == INVALID_PLAYER_ID || IsPlayerNPC(id)) SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler kann nicht erreicht werden");
else if(PlayerAngebot[0][id] != 1) return SendClientMessage(playerid, COLOR_GREY, "Dieser Person wurde entweder schon geholfen oder sie braucht keine Hilfe");
else
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(id, X,Y,Z);
SetPlayerCheckpoint(playerid, X,Y,Z, 6);
new string2[128], string3[128];
format(string2,128,"Der Anrufer %s wartet dort auf dich",ReadName(id));
SendClientMessage(playerid,COLOR_GREEN,string2);
format(string3,128,"Der Taxifahrer %s befindet sich bereits auf dem Weg zu dir",ReadName(playerid));
SendClientMessage(id,COLOR_GREEN,string3);
PlayerAngebot[0][id] = 0;
}
return 1;
}
if(strcmp("mediziner", str, true, strlen(str)) == 0)
{
if(sscanf(params, "su",str,id)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /annehmen mediziner [ID]");
else if(!GetPlayerFraktion(playerid, 6)) SendClientMessage(playerid, COLOR_GREY, "Du bist kein Sanitäter");
else if(id == INVALID_PLAYER_ID || IsPlayerNPC(id)) SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler kann nicht erreicht werden");
else if(PlayerAngebot[1][id] != 1) return SendClientMessage(playerid, COLOR_GREY, "Dieser Person wurde entweder schon geholfen oder sie braucht keine Hilfe");
else
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(id, X,Y,Z);
SetPlayerCheckpoint(playerid, X,Y,Z, 6);
new string2[128], string3[128];
format(string2,128,"Der Anrufer %s wartet dort auf dich",ReadName(id));
SendClientMessage(playerid,COLOR_GREEN,string2);
format(string3,128,"Der Sanitäter %s befindet sich bereits auf dem Weg zu dir",ReadName(playerid));
SendClientMessage(id,COLOR_GREEN,string3);
PlayerAngebot[1][id] = 0;
}
return 1;
}
}
}
Der SendMessage Code:
public SendMessage(fraktion, color, string[])
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerFraktion(i, fraktion))
{
SendClientMessage(i, color, string);
return 1;
}
}
}
return 0;
}
MfG dUDALUS