Habe ein Problem mit meinem AFK Befehl, immer wenn ich z.B /afk test mache erscheinen gleich beide Nachrichten.
CMD:afk(playerid, params[])
{
new afkstring[128];
new afkmsg[128];
new afkname[MAX_PLAYER_NAME];
GetPlayerName(playerid,afkname,sizeof(afkname));
if(sscanf(params,"s", afkmsg)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /afk [reason]");
format(afkstring,sizeof(afkstring),"%s is now AFK - %s",afkname,afkmsg);
SendClientMessageToAll(COLOR_RED,afkstring);
SetPVarInt(playerid,"Afkvar",2);
if(GetPVarInt(playerid,"Afkvar") == 2)
{
new afkstring1[128];
new afkname1[MAX_PLAYER_NAME];
GetPlayerName(playerid,afkname1,sizeof(afkname));
format(afkstring1,sizeof(afkstring1),"%s is now back from AFK",afkname1);
SendClientMessageToAll(COLOR_RED,afkstring1);
SetPVarInt(playerid,"Afkvar",1);
}
return 1;
}
Und hatte noch eine Frage, muss ich zwingend mit PVars arbeiten, wenn ich eine Variable nur für einen Spieler setzen will ?
Also wenn ich z.B das mache, dann ist für alle Spieler Missionstarted = 1 ?
new Missionstarted;
CMD:test(playerid, params)
{
Missionstarted = 1;
return 1;
}
Afk
- Oskaar1994
- Geschlossen
- Erledigt
-
-
Das liegt daran das du ihn zum schluss Afkvar auf 2 jetzt und dann noch abfragst mach die if(GetPVarInt(playerid,"Afkvar") == 2)
{
new afkstring1[128];
new afkname1[MAX_PLAYER_NAME];
GetPlayerName(playerid,afkname1,sizeof(afkname));
format(afkstring1,sizeof(afkstring1),"%s is now back from AFK",afkname1);
SendClientMessageToAll(COLOR_RED,afkstring1);
SetPVarInt(playerid,"Afkvar",1);
}abfrage als erstes ;)=
// Zur zweiten frage:
new Missionstarted;
CMD:test(playerid, params)
{
Missionstarted = 1;
return 1;
}
new Missionstarted;
zu
new Missionstarted[MAX_PLAYERS];und das
Missionstarted = 1;zu
Missionstarted[playerid] = 1; -
Zu deinem Job-Befehl:
Du hast eine Globale Variable erstellt.
Du musst new Missions[MAX_PLAYERS];
und Missions[playerid] = 1;
verwenden. -
Danke euch, dachte schon ich müsste alles in meinem Script zu PVars machen
-
breadfish.de
Hat das Thema geschlossen.