Hallo ich wollte mal fragen wie man so eine /afk funktion macht das wenn man /afk eingibt Z.b auf einem berg oder so steht und man sich nicht bewegen kann bis man /back eingibt und an der gleichen stelle wieder kommt wo man zuvor /afk eingegeben hat wer cool wenn mir das jemand sagen könnte
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
-
-
Also, um einen /afk befehl zu machen, mach einfach einen normalen Befehl und lass den Player freezen. Dann eine Nachricht an alle ( SendClientMessageToAll ) wo dann drinsteht, das player xy afk gegagen ist.
Das kannste dann machen mit MAX_PLAYER_NAME und dann dem %s in der Message. (Wiki hilft weiter)
Dann wenn du /back eingibst, => unfreeze player und SendClientMessageToAll, wo dann halt eben drinne is, das er wieder da ist.das mit den aufm Berg etc. porten, musst du mit einer art saveposition machen (=> nicht verzagen wiki fragen )
hoffe es hat ein wenig geholfen
-
okay ehm danke
-
wenns geholfen hat, bitte
-
nur noch eine frage könntest du mir sagen wie die freeze und unfreeze pawn codes heisen weil ich habe im wiki geguckt und da finde ich nix passendes
-
Freezen:
TogglePlayerControllable(0);Unfreezen:
TogglePlayerControllable(1);bzw.
Freezen:
TogglePlayerControllable(playerid,0);Unfreezen:
TogglePlayerControllable(playerid,1); -
TogglePlayerControllable(playerid,0) -> freeze
TogglePlayerControllable(playerid,1) -> unfreeze0 ist freeze
1 ist unfreezeplayerid, von demjenigen, ders eingibt
//@MWP: ne, genau andersrum x)
-
okay danke bzw danke an MWP und BlaZZiNgEagLe
-
bitte^^
hier, damit du weist, dass ich kein mist rede
-
Aus meinem GM
if(strcmp("/afk",cmdtext, true) == 0)
{
new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
format(str, 256, "*%s ist afk!", pname, cmdtext[4]);
SendClientMessage(playerid, 0x33CCFFAA, "Um dich Zurück zumelden, tippe /zurük");
SendClientMessageToAll(0x4682B4AA, str);
TogglePlayerControllable(playerid, 0);
return 1;
}
if(strcmp(cmdtext, "/zurück", true) == 0) {
new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
format(str, 256, "*%s ist von afk zurueck!", pname, cmdtext[4]);
SendClientMessageToAll(0x4682B4AA, str);
GameTextForPlayer(playerid,"~w~willkommen zurueck. :)!",2500,3);
TogglePlayerControllable(playerid, 1);
return 1;
}
Das mit dem Berg hab ich net
[MSIE_newline_end ][MSIE_newline_end ] -
@Ed.F
zm.pwn(419) : error 010: invalid function or declaration
\zm.pwn(420) : error 021: symbol already defined: "GetPlayerName"
\zm.pwn(425) : error 010: invalid function or declaration
\zm.pwn(428) : error 010: invalid function or declaration
\zm.pwn(435) : error 010: invalid function or declaration -
hmmmmm haste es unter OnPlayerCommandText
ich habe nämlich des
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase[MSIE_newline_end ]
-
du musst die pInfos definieren
-
@Ed.F jop habe ich
@Blazzingeagle okay
-
schau mal nach, ob GetPlayerName richtig drinne is^^
-
ich bin ein trottel ich habe vergessen eine klammer zu setzen