Guten Morgen!
Und zwar habe ich das mal auf einen Server so gesehen: Roller und Fraktionsfahrzeuge sind sobald sie zugeschlossen sind nur für dich betretbar, für andere nicht; wenn aufgeschlossen, für beide.
Ich hoffe ihr versteht was ich meine.
mfg ![]()
Guten Morgen!
Und zwar habe ich das mal auf einen Server so gesehen: Roller und Fraktionsfahrzeuge sind sobald sie zugeschlossen sind nur für dich betretbar, für andere nicht; wenn aufgeschlossen, für beide.
Ich hoffe ihr versteht was ich meine.
mfg ![]()
Schöne Werbung, liste doch bitte trotzdem die Features auf.
Wie hieß denn der Server für den du damals gescriptet hast ?
mfg ![]()
Sieht gut aus, nur würde ich gerne Testen ob das auch genau mit der Zeit stimmt.
Hast du gerade eine Rechnung da wo Tage, Stunden, Minuten, Sekunden ausgeben kann ?
filezilla:
Du musst nur mit Variablen arbeiten, locker easy hochzählen lassen.
mfg ![]()
@Mencent:
if(!strcmp(cmd, "/timeban", true))
{
if(sInfo[playerid][sAdminlevel] < 2)return SendClientMessage(playerid, COLOR_RED, "FEHLER: {FFFFFF}Du kannst diesen Befehl nicht nutzen.");
if(sInfo[playerid][sAdmindienst] == 0)return SendClientMessage(playerid, COLOR_RED, "FEHLER: {FFFFFF}Du bist nicht im Dienst.");
new playername[MAX_PLAYER_NAME], zeit[20], grund[20], string[128], query[300], returnid;
playername = strtok(cmdtext, idx), zeit = strtok(cmdtext, idx), grund = strtok(cmdtext, idx);
if(!IsNumeric(playername)) returnid = ReturnPlayerID(playername); else returnid = strval(playername);
if(!strlen(playername) || !strlen(zeit) || !strlen(grund))return SendClientMessage(playerid, COLOR_LIGHTBLUE, "BENUTZE: {FFFFFF}/timeban [Name/ID] [Zeit (In Stunden)] [Grund]");
if(!IsPlayerConnected(returnid))return SendClientMessage(playerid, COLOR_RED, "FEHLER: {FFFFFF}Der Spieler ist nicht online");
if(strval(zeit) < 1 || strval(zeit) > 72)return SendClientMessage(playerid, COLOR_RED, "FEHLER: {FFFFFF}Ungültige Zeit. (1-72)");
format(string, sizeof string, "AdmCmd: %s wurde von %s für %i Stunden gebannt, Grund: %s", getPlayerName(returnid), getPlayerName(playerid), zeit, grund),
SendClientMessageToAll(COLOR_LIGHTRED, string),
mysql_format(dbhandle, query, sizeof query, "INSERT INTO `bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Benutzerip`,`Verantwortlicher`,`Grund`,`Type`) VALUES ('%e','%e','%e','%e','%e','%e','temp')",
gDate(),gTime(),getPlayerName(returnid),getPlayerIP(returnid),getPlayerName(playerid),grund),
mysql_pquery(dbhandle, query, "", ""),
sInfo[returnid][sTimeban] = gettime() + 3600 * strval(zeit),
Kick(returnid);
return 1;
}
if(sInfo[playerid][sTimeban] > gettime())
{
SendClientMessage(playerid, COLOR_RED, "SERVER: {FFFFFF}Dein Benutzerkonto wurde temporär gesperrt, die Verbindung zum Server wird beendet!"),
Kick(playerid);
return 1;
}
Würde das so Funktionieren, bin eingerostet.
mfg ![]()
@Mencent:
Es geht um das Prinzip, ich möchte einen Timeban machen der sich auf Stunden bezieht; Habe das bis jetzt immer nur mit Minuten gemacht.
mfg ![]()
Abend!
Wenn ich auf einen Timestamp nun 24 Stunden drauf rechnen möchte, muss die Rechnung dann so aussehen.
gettime() + 24 * 120;
Zitat/timeban [Name/ID] [Zeit (In Stunden)] [Grund]
mfg ![]()
Okay, vielen Dank für die schnelle Erklärung!
Absofort werde ich mit strtok arbeiten.
mfg ![]()
Okay, das klingt sehr gut.
Aber was in denn jetzt mit strtok alles möglich ?
ZitatNicht direkt. Kommt auf dein Vorhaben an, aber wenn du nur solche Befehle erstellen willst, dann passt das so.
mfg ![]()
Okay cool, was mich nebenbei auch mal Interessieren würde.
Arbeitet strtok schneller oder langsamer als sscanf und merkt man im Spielgeschehen einen Unterschied ?
mfg ![]()
Vielen Dank, mehr muss ich zum Thema strtok nicht wissen oder ?
mfg ![]()
Ok, anscheinend hat mein Versuch Funktioniert.
Aber ich finde der Befehl sieht etwas hässlig so aus, kann man den nicht schöner gestalten ?
if(!strcmp(cmd, "/veh", true)){
new vehicleid[20],color1[20],color2[20];
vehicleid=strtok(cmdtext,idx);
if(!strlen(vehicleid))return SendClientMessage(playerid, -1, "Syntax: /veh [FahrzeugID] [Farbe1] [Farbe2]");
if(!IsNumeric(vehicleid))return SendClientMessage(playerid, -1, "Syntax: /veh [FahrzeugID] [Farbe1] [Farbe2]");
color1=strtok(cmdtext,idx);
if(!strlen(color1))return SendClientMessage(playerid, -1, "Syntax: /veh [FahrzeugID] [Farbe1] [Farbe2]");
if(!IsNumeric(color1))return SendClientMessage(playerid, -1, "Syntax: /veh [FahrzeugID] [Farbe1] [Farbe2]");
color2=strtok(cmdtext,idx);
if(!strlen(color2))return SendClientMessage(playerid, -1, "Syntax: /veh [FahrzeugID] [Farbe1] [Farbe2]");
if(!IsNumeric(color2))return SendClientMessage(playerid, -1, "Syntax: /veh [FahrzeugID] [Farbe1] [Farbe2]");
new string[60];
format(string,sizeof string,"Du hast dir ein Fahrzeug erstellt. (%i|%i,%i)",strval(vehicleid),strval(color1),strval(color2)),
SendClientMessage(playerid,-1,string);
new Float:mp[4];
GetPlayerPos(playerid,mp[0],mp[1],mp[2]),GetPlayerFacingAngle(playerid,mp[3]),
CreateVehicle(strval(vehicleid),mp[0],mp[1],mp[2],mp[3],strval(color1),strval(color2),-1);
return 1;
}
mfg ![]()
Ich möchte die Befehle in dem ganz normalen Callback OnPlayerCommandText schreiben.
Ich probiere gerade mal rum, deine Funktionen scheinen mir schon mal ganz nützlich.
mfg ![]()
Hallo!
Kann mir jemand erklären wie man mit strtok umgeht ?
Ich möchte das auch mal lernen.
Beispiel: /kick [Name/PlayerID] [Grund] ||/timeban [Name/PlayerID] [Zeit] [Grund]
mfg ![]()
Die Bilder sehen sehr Interessant aus, werde mir überlegen mir das Spiel zu kaufen.
mfg ![]()
Wie ist denn der Name Minipex entstanden ?
mfg ![]()
Welche Sprache ist besser für Software geeignet, c++ oder c# ?
Und welches Buch würdet ihr mir dazu empfehlen ?
mfg ![]()
Dieses Programm gefällt mir sehr.
mfg ![]()
Zuerstmal solltest du dir halt überlegen welchen Webserver du benutzen möchtest, kannst dir ja mal Xampp anschauen.
mfg ![]()