Hallo Brotfischer.
Da ich viele Themen gelesen habe wo gefragt wird, wie man eine GWD-Note o.Ä. erstellt.
Darum schreibe ich euch hier wie ihr bei GF (GodFather) solch eine Note erstellen könnt.
Schritt 1.
Ihr schreibt unter enum pInfo
einen neue Zeile nämlich pGWD,
Schritt 2.
Unter public OnPlayerConnect(playerid)
schreibt ihr auch eine neue Zeile nämlich PlayerInfo[playerid][pGWD] = 0;
Schritt 3.
Unter public OnPlayerRegister(playerid, password[])
kommt auch eine neue Zeile nämlich format(var, 32, "GWD=%d\n",PlayerInfo[playerid][pGWD]);fwrite(hFile, var);
Schritt 4.
Unter public OnPlayerUpdate(playerid)
kommt auch wieder eine neue Zeile format(var, 32, "GWD=%d\n",PlayerInfo[playerid][pGWD]);fwrite(hFile, var);
Schritt 5.
Unter public OnPlayerLogin(playerid,password[])
kommt auch wieder eine neue Zeile if( strcmp( key , "GWD" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGWD] = strval( val ); }
Schritt 6.
Natürlich braucht ihr noch die Befehle um die Note zu setzen!
Dieser lautet:
if(strcmp(cmd, "/setgwd", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Info: /setgwd [SpielerID] [Note]");
return 1;
}
new playa;
new gwd;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
gwd = strval(tmp);
if (PlayerInfo[playerid][pLeader] == 3)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
PlayerInfo[playa][pGWD] = gwd;
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), " Du hast %s die Note %d gegeben.", giveplayer, gwd);
SendClientMessage(playerid, COLOR_GRAD1, string);
format(string, sizeof(string), " %s dir deine GWD-Note gegeben. Note: %d.", sendername, gwd);
SendClientMessage(playa, COLOR_GRAD1, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Armyleader!");
}
}
return 1;
}
Schritt 7.
Folgt noch der Befehl um die Note jemandem zu zeigen:
if(strcmp(cmd, "/showgwd", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist nicht eingeloggt !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Info: /showgwd [SpielerID]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(ProxDetectorS(8.0, playerid, giveplayerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), " Du hast %s deine GWD-Note gezeigt.", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "|_______________Grundwehrdienst-Note______________|");
format(string, sizeof(string), " Name: %s Note: %d", sendername, PlayerInfo[playerid][pGWD]);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
SendClientMessage(giveplayerid, COLOR_WHITE, "___________________________________________________");
format(string, sizeof(string), " %s zeigt dir seine GWD-Note.", sendername);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
return 1;
}
}
}
}
return 1;
}
Schritt 8.
Und der letzte Schritt ist ein Befehl um seine eigene Note zusehen:
if(strcmp(cmd, "/gwd", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "|_______________Grundwehrdienst-Note______________|");
format(string, sizeof(string), " Deine GWD-Note ist %d.",PlayerInfo[playerid][pGWD]);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_WHITE, "___________________________________________________");
}
return 1;
}
Ich hoffe dieses Tutorial hilft einigen weiter!
Natürlich kann man so auch verschiedenste Dinge machen, wie z.B. Panzer nur für Leute zugänglich machen, die die GWD Note besser als 2 haben.
MfG
Keyboy