wie kann ich bei nem afk script checken ob die playerid schon /afk gemacht hat.
Mfg
apple
Abfrage
- apple
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
du hast doch bestimmt wenn jemand /afk macht sowasafk = 1oder so
dann machste einfach if afk = 1
-
hab noch nie sone abfrage geschrieben.
Kann mir jemand bitt eein beispiel geben??
Mfg apple -
if(afk == 1)
{
// Funktion
} -
so
blabla /afk blasbla //weiß grad net alles auswenndig mit der oberen zeile
{
if afk = 0
{
afk = 1//und deine funktionen
}
else
{
Sendclientmessage(blabla bla du bist sxchon afk)
}
return 1;
}
blabla /back blabla
{
if afk = 1
{
afk = 0
}
else
{
Sendclientmessage(blabla,du bist nicht afk )
}
return 1;
}
ja rest mussste gucken vllt fehlt noch nen new afk -
schonmal was von klammern gehört?
Die abfrage muss so sein:
if(afk == 1)
{
// funktion
}
und nicht
if afk = 1 -
Hier, das ist meins
oben bei den new's
new AFK[MAX_PLAYERS];bei Onplayercommandtext
if (strcmp("/Afk", cmdtext, true, 10) == 0)
{
if(AFK[playerid] == 0)
{
SendClientMessage(playerid, orange," Du bist nun AFK");
new string[100],name[50];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Spieler %s ist AFK gegangen.",name);
SendClientMessageToAll(orange, string);
AFK[playerid] = 1;
TogglePlayerControllable(playerid, 0);
}
else if(AFK[playerid] == 1)
{
SendClientMessage(playerid, orange," Du bist nun wieder anwesend");
new string[100],name[50];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Spieler %s ist nun wieder anwesend.",name);
SendClientMessageToAll(orange, string);
AFK[playerid] = 0;
TogglePlayerControllable(playerid, 1);
}
return 1;
}Viel spaß
-
if(afk == 1)
{
// funktion
}
und nicht
if afk = 1Is auch Falsch er will ja überprüfen ob der Spieler AFK ist und nicht das ganze Script
if(afk[playerid] == 1)
{
// funktion
}Du musst afk halt noch definieren
new afk[MAX_PLAYERS]; -
Errors:
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(39) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(41) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(47) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(51) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(53) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(59) : error 017: undefined symbol "name"
Zeilen:
if (strcmp(cmdtext, "/zurück", true,) == 0)
{
if (BACK[playerid] == 0)
SendClientMessage(playerid,COLOR_GREEN,"Du bist wieder zurück");
TogglePlayerControllable(playerid, 1);
AFK[playerid] = 0;
BACK[playerid] = 1;
}
else if (BACK[playerid] == 1)
{
SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht AFK");
}
return 1;
}
return 0;
}public AFKTimer(playerid)
{
new string[128];
format(string,sizeof string,"*~ [AFK] %s ist in den AFK-Modus gegangen! /afklist ",name);
SendClientMessageToAll(COLOR_GREY,string);
TogglePlayerControllable(playerid, 0);
AFK[playerid] = 1;
BACK[playerid] = 0;
return 1;
}
Mfg.
apple -
Da fehlt eine klammer
if (strcmp(cmdtext, "/zurück", true,) == 0)
{
if (BACK[playerid] == 0)
{
SendClientMessage(playerid,COLOR_GREEN,"Du bist wieder zurück");
TogglePlayerControllable(playerid, 1);
AFK[playerid] = 0;
BACK[playerid] = 1;
}
else if (BACK[playerid] == 1)
{
SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht AFK");
}
return 1;
}
return 0;
} -
Ganz einfach..
new AFK[MAX_PLAYERS];
Bei OnPlayerCommandText
if (strcmp("/afk", cmdtext, true, 10) == 0)
{
if(AFK[playerid] == 1)
{
//Was passieren soll wenn er schon AFK ist!
}
if(AFK[playerid] == 0)
{
//Was passieren soll wenn er nicht AFK ist
}
return 1;
}---
Edit
---
if (strcmp("/afk", cmdtext, true, 10) == 0)
{
if(AFK[playerid] == 1)
{
SendClientMessage(playerid,farbe,"*** Du bist schon AFK!");
}
if(AFK[playerid] == 0)
{
TogglePlayerContorllable(playerid,0);
SendClientMessage(playerid,farbe,"** Du bist nun AFK **");
AFK[playerid] = 1;
}
return 1;
}AFK[playerid] = 1; = Er ist AFK
AFK[playerid] = 0; = Er ist nicht AFK
if (strcmp("/back", cmdtext, true, 10) == 0)
{
if(AFK[playerid] == 0)
{
SendClientMessage(playerid,farbe,"*** Du bist nicht AFK!");
}
if(AFK[playerid] == 0)
{
TogglePlayerContorllable(playerid,1);
SendClientMessage(playerid,farbe,"** Du bist nun Back**");
AFK[playerid] = 0;
}
return 1;
}Das sind nun 2 beispiel commands, mach was draus
Ich hoffe es hilft dir weiter
-
Immernoch diese errors:
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(39) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(41) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(48) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(52) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(54) : error 010: invalid function or declaration
C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(60) : error 017: undefined symbol "name"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
jetzt hier nochma der ganze public:
public OnPlayerCommandText(playerid,cmdtext[])
{
if (strcmp(cmdtext, "/afk", true) == 0)
{
if (AFK[playerid] == 0)
SendClientMessage(playerid,COLOR_GREEN,"Du bist in 5 sekunden AFK");
SetTimerEx("AFKTimer",5000,0,"i",playerid);
}
else if (AFK[playerid] == 1)
{
SendClientMessage(playerid,COLOR_YELLOW,"Du bist schon AFK");
}
return 1;
}
if (strcmp(cmdtext, "/zurück", true,) == 0)
{
if (BACK[playerid] == 0)
{
SendClientMessage(playerid,COLOR_GREEN,"Du bist wieder zurück");
TogglePlayerControllable(playerid, 1);
AFK[playerid] = 0;
BACK[playerid] = 1;
}
else if (BACK[playerid] == 1)
{
SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht AFK");
}
return 1;
}
return 0;
}public AFKTimer(playerid)
{
new string[128];
format(string,sizeof string,"*~ [AFK] %s ist in den AFK-Modus gegangen! /afklist ",name);
SendClientMessageToAll(COLOR_GREY,string);
TogglePlayerControllable(playerid, 0);
AFK[playerid] = 1;
BACK[playerid] = 0;
return 1;
}
pls help
Mfg apple -
if (strcmp("/afk", cmdtext, true, 10) == 0)
{
if(AFK[playerid] == 1)
{
AFK[playerid] = 0;
SendClientMessage(playerid,farbe,"Wilkommen zurück!");
}
if(AFK[playerid] == 0)
{
AFK[playerid] = 1;
SendClientMessage(playerid,farbe,"Du Bist nun A(way) F(rom) K(eyboard)!");
}
return 1;
}if (strcmp("/afklist", cmdtext, true, 10) == 0)
{
name[MAX_PLAYER_NAME];
SendClientMessage(playerid,farbe,"AFK Liste");
for(new i=0; i<MAX_PLAYERS; i++)
{
if(AFK[playerid] == 1) {
GetPlayerName(i,name,sizeof(name));
SendClientMessage(playerid,farbe,name); }}
}LG
-
wills abe rmit dem befehl /back
wieso kommen überhaupt errors??
Eig müsste das doch so gehn?? -
new AFK[MAX_PLAYERS];
if(!strcmp(cmdtext,"/afk",true))
{
if(AFK[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du bist bereits A.F.K !");
AFK[playerid] = 1;
TogglePlayerControllable(playerid,0);
new his_name[MAX_PLAYER_NAME],message[64];
GetPlayerName(playerid,his_name,sizeof his_name);
format(message,sizeof message,"%s ist nun AFK!");
return SendClientMessageToAll(0x0000FFFF,message);
}
if(!strcmp(cmdtext,"/back",true))
{
if(!AFK[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du bist bereits anwesend!");
AFK[playerid] = 0;
TogglePlayerControllable(playerid,1);
new his_name[MAX_PLAYER_NAME],message[64];
GetPlayerName(playerid,his_name,sizeof his_name);
format(message,sizeof message,"%s ist wieder zurück!");
return SendClientMessageToAll(0x0000FFFF,message);
}und
if(!strcmp(cmdtext,"/afklist",true))
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
if(!AFK[i])continue;
new nname[MAX_PLAYER_NAME],hmsg[64];
GetPlayerName(i,nname,sizeof nname);
format(hmsg,sizeof hmsh,"AFK : %s",nname);
SendClientMessage(playerid,0xFFFFFFFF,hmsg);
}
return 1;
} -
Cool danke abe in Game wir nur angezeigt:
Ist afk
Ist wieder zurück.
Sollte doch eig mit spielername sein oder -
format(message,sizeof message,"%s ist wieder zurück!");
dahinter hätte noch was gefehlt o_x
format(message,sizeof message,"%s ist wieder zurück!",nname);
aber ich denke das kannst du selber ausbessern
-
hatte ich übersehn
Danke.
Wieso hat eig miens nicht funktioniert??
Hab das mit dem BACK rausgenommen und es funktionierte immer noch nicht -
breadfish.de
Hat das Thema geschlossen.