bei spieler ist der spieler "u" oder "i"? ich kenne mich mit sscanf nicht so gut aus...
weil der Befehl nicht funktioniert
ocmd:einladen(playerid,params[])
{
if(PlayerInfo[playerid][pLeader] > 0)
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Grau,"Benutzung: /einladen [ID]");
{
if(PlayerInfo[pID][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0)
{
if(PlayerInfo[pID][pLeader] == 1)
{
pInvited[playerid] = 1;
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion LSPD bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
}
else if(PlayerInfo[playerid][pLeader] == 2)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Feuerwehr bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 2;
}
else if(PlayerInfo[playerid][pLeader] == 3)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Medic bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 3;
}
else if(PlayerInfo[playerid][pLeader] == 4)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Ordnungsamt bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 4;
}
else if(PlayerInfo[playerid][pLeader] == 5)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Spedition bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 5;
}
else if(PlayerInfo[playerid][pLeader] == 6)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Termis Bratwa bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 6;
}
else if(PlayerInfo[playerid][pLeader] == 7)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion West Coast Customs bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 7;
}
else if(PlayerInfo[playerid][pLeader] == 8)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Dillimore Devils bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 8;
}
else if(PlayerInfo[playerid][pLeader] == 9)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Guerillas bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 9;
}
}
}
}
return 1;
}
sscanf
- Dark Leary
- Geschlossen
- Erledigt
-
-
u
-
http://wiki.sa-mp.com/wiki/Fast_Commands
Hier kannst du das nachlesen.
"u" Ist für den Spieler -
Genauer gesagt steht r für einen Spieler.
Dieser schließt im Gegensatz zu "u" auch Bots aus.
Brauchst aber dafür das sscanf PluginLG
-
und wieso geht dan der befehl nicht?
-
Was funktioniert daran nicht?
-
wenn ich /einladen schreibe kommt Benutzung: /einladen [ID]
gut ich mach /einladen und wähle einen Spieler aus, aber der ausgewählte und ich bekommen keine Nachricht.. -
Wieso verzweigst du auch die sscanf if Abfrage ?
Das macht doch keine Sinn ?LG
-
Des ist logisch das es nicht funktioniert so oft wie du playerid und pID vertauschst^^. Schau nochmal drüber dann wirds dir auffallen erste Abfrage überprüft ob playerid pLeader > 0 ist und in der nächsten muss pLeader == 0 bei playerid sein, also kann es dort schon mal garnicht funktionieren.
-
ocmd:einladen(playerid,params[])
{
if(PlayerInfo[playerid][pLeader] > 0)
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Grau,"Benutzung: /einladen [ID]");
{
if(PlayerInfo[pID][pMember] == 0 && PlayerInfo[pID][pLeader] == 0)//pID statt playerid
{
if(PlayerInfo[playerid][pLeader] == 1)//playerid statt pID
{
pInvited[playerid] = 1;
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion LSPD bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
}
else if(PlayerInfo[playerid][pLeader] == 2)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Feuerwehr bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 2;
}
else if(PlayerInfo[playerid][pLeader] == 3)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Medic bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 3;
}
else if(PlayerInfo[playerid][pLeader] == 4)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Ordnungsamt bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 4;
}
else if(PlayerInfo[playerid][pLeader] == 5)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Spedition bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 5;
}
else if(PlayerInfo[playerid][pLeader] == 6)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Termis Bratwa bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 6;
}
else if(PlayerInfo[playerid][pLeader] == 7)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion West Coast Customs bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 7;
}
else if(PlayerInfo[playerid][pLeader] == 8)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Dillimore Devils bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 8;
}
else if(PlayerInfo[playerid][pLeader] == 9)
{
SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Guerillas bekommen.");
SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
pInvited[pID] = 9;
}
}
}
}
return 1;
} -
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Grau,"Benutzung: /einladen [ID]");
{Wofür die Klammer?
Erstmal wird schon returnt und das macht auch solche Fehler. -
breadfish.de
Hat das Thema geschlossen.