DCMD + SSCANF = Viel leichtere Methode Commands mit Paramtern zu schreiben (z.b /giveweapon [playerid] [waffenid] [munition] oder /kick [grund] und nicht sowas wie /kill )
Dazu gibts ein Tut von GolKiller wenn du es dir anschaust kannst solche Commands sehr schnell selber machen hier der Link
[ SCRIPTING ] Commands mit Parametern
Afk
- ~~Atlantikdiver~~
- 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
-
-
Kannst du mir das bitte mal Posten sorry ich check da nur die Helfe
mfg Florian
-
public OnPlayerCommandText
dcmd(afk,3,cmdtext);//irg wo im Script nur nicht im Callback :
dcmd_afk(playerid,params[])
{
if(IsAFK[playerid] == 1)return SendClientMessage(playerid, FARBE,"Du
bist bereits AFK!");
new
Reason[256];
if(sscanf(params,"s",Reason)){
return SendClientMessage(playerid,COLOR_RED,"BENUTZUNG: /afk[Grund]");
}
new
name[MAX_PLAYER_NAME],
string[256];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Der Spieler %s geht AFK mit dem Grund %s",name,Reason);
SendClientMessageToAll(COLOR_GREEN,string);IsAFK[playerid]=1;
TogglePlayerControllable(playerid, 0);
return 1;
}
Schlamping geschrieben und nicht getestet also nicht aufregen wenn was nicht passt muss schlafen
//edit ahja den sscanf code und dcmd define gibts beim dem TUT von Golkiller -
Kann mir das mal pls einer in das script hier einbauen ?
#include <a_samp>
new IsAFK[MAX_PLAYERS];
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_GREEN 0xFFFF00FF
#define COLOR_RED 0xFF0000FF
#define COLOR_WHITE 0xFFFFFFFF
public OnPlayerConnect(playerid)
{
IsAFK[playerid]=0;
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
//========================
new str[256], pname[256];
//========================
if (strcmp("/afk", cmdtext, true, 10) == 0)
{
if(IsAFK[playerid] == 1)return SendClientMessage(playerid, COLOR_RED,"Du bist bereits AFK!");
IsAFK[playerid]=1;
GetPlayerName(playerid, pname, 256);
format(str, 256, "%s ist AFK.", pname, cmdtext[4]);
SendClientMessageToAll(COLOR_GREEN, str);
SendClientMessage(playerid, COLOR_RED, "Wenn du wieder da bist mache /back");
TogglePlayerControllable(playerid, 0);
return 1;
}
//--------------------
if (strcmp("/back", cmdtext, true, 10) == 0)
{
if(IsAFK[playerid]==0)return SendClientMessage(playerid, COLOR_RED,"Du bist garnicht im AFK Modus");
IsAFK[playerid]=0;
GetPlayerName(playerid, pname, 256);
format(str, 256, "%s ist BACK.", pname, cmdtext[4]);
SendClientMessageToAll(COLOR_GREEN, str);
TogglePlayerControllable(playerid, 1);
return 1;
}
//--------------------
return 0;
} -
breadfish.de
Hat das Thema geschlossen.