Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //---------------------- [INCLUDES] ---------------------------
- #include <a_samp.inc>
- #include <dini.inc>
- #include <utils.inc>
- //--------------------- [FORWARDS] ----------------------------
- forward CheckDeath(playerid);
- forward AdminMessage(color,const string[],level);
- forward ToAll(color,const string[]);
- forward split(const strsrc[], strdest[][], delimiter);
- forward UhrZeit();
- forward StundeFix(stunde);
- forward time();
- //---------------------- [DEFINES] ----------------------------
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIALOG_BOTCHECK 3
- #define DIALOG_REG_1 4
- #define DIALOG_REG_2 5
- #define DIALOG_REG_3 6
- //---------------------- [SPAWNPOSIS] -------------------------
- #define ZiviSpawn 1216.4645, -917.6577, 43.1221
- #define Frak1 1529.2499, -1669.5090, 6.2188
- #define Frak2 x, y, z //<---------------------------------------- Spawnkoordinaten setzen!
- #define Frak3 x, y, z //<---------------------------------------- Spawnkoordinaten setzen!
- //----------------------- [FARBEN] ----------------------------
- #define COLOR_BLUE 0x0087FFFF
- #define COLOR_RED 0xE10000FF
- #define COLOR_WHITE 0xFFFFFFAA
- //--------------------- [VARIABELN] ---------------------------
- new BEGIN_LEVEL = 1; //Level bei der Registrierung
- new BEGIN_MONEY = 5000; //Geld bei der Registrierung (auf der Hand)
- new BEGIN_BANK = 50000; //Geld bei der Registrierung (auf der Bank)
- new loginfail[MAX_PLAYERS];
- new antibot[MAX_PLAYERS];
- new shour;
- new tshift = -1;
- new gh, gmin, gsek;
- new realtime = 1;
- new wtime = 15;
- new Text:Clock;
- new Text:Datum;
- //-------------------- [ENTER - EXIT] -------------------------
- new bsnenter;
- new bsnexit;
- //-------------------------------------------------------------
- enum pInfo
- {
- pKey[128],
- pScore,
- pSex,
- pBaned,
- pMoney,
- pBank,
- pAdmin,
- pFrak,
- pRank
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new SkinRandom[][] =
- {
- {1},
- {78},
- {79},
- {134},
- {135},
- {137}
- };
- public OnGameModeInit()
- {
- //--------------------- [ENTER - EXIT] ---------------------------------------------
- DisableInteriorEnterExits();
- bsnexit = CreatePickup(1559, 0, 362.8524, -75.1179, 1001.5078, 1);
- bsnenter = CreatePickup(1559, 0, 1199.2235, -918.1543, 43.1233, 0);
- Create3DTextLabel("BSN\n Eingang",COLOR_BLUE,1199.2235,-918.1543,43.1233,10,0);
- //----------------------------------------------------------------------------------
- //----------------------------------------------------------------------------------
- new Stunde, Minute, Sekunde, string1[256];
- gettime(Stunde, Minute, Sekunde);
- format(string1,sizeof(string1),"%i:%i:%i", Stunde, Minute, Sekunde);
- Clock=TextDrawCreate(549,24, "00:00");
- TextDrawLetterSize(Clock,0.55,2);
- TextDrawFont(Clock,3);
- TextDrawBackgroundColor(Clock,0x000000AA);
- TextDrawSetOutline(Clock,2);
- new Jahr, Monat, Tag, string2[256];
- getdate(Jahr, Monat, Tag);
- format(string2,sizeof(string2),"%i.%i.%i", Tag, Monat, Jahr);
- Datum=TextDrawCreate(500,3, string2);
- TextDrawLetterSize(Datum,0.55,2);
- TextDrawFont(Datum,3);
- TextDrawBackgroundColor(Datum,0x000000AA);
- TextDrawSetOutline(Datum,2);
- SetTimer("time", 1000, 1);
- gettime(gh, gmin, gsek);
- StundeFix(gh);
- gh = shour;
- if(!realtime)
- {
- SetWorldTime(wtime);
- }
- if(realtime)
- {
- new tmphour;
- new tmpminute;
- new tmpsecond;
- gettime(tmphour, tmpminute, tmpsecond);
- StundeFix(tmphour);
- tmphour = shour;
- SetWorldTime(tmphour+1);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(IsPlayerNPC(playerid))return 1;
- switch(GetPVarInt(playerid,"Fraktion"))
- {
- case 0:{ SetPlayerPos(playerid, ZiviSpawn); }
- case 1:{ SetPlayerPos(playerid, Frak1); }
- case 2:{ SetPlayerPos(playerid, Frak2); }
- case 3:{ SetPlayerPos(playerid, Frak3); }
- }
- TextDrawShowForPlayer(playerid,Clock);
- TextDrawShowForPlayer(playerid,Datum);
- return 1;
- }
- public OnGameModeExit()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- SpielerSpeichern(i);
- SendClientMessageToAll(COLOR_BLUE, "Alle Accounts wurden gespeichert!");
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new string[256];
- new sendername[MAX_PLAYER_NAME];
- new giveplayer[MAX_PLAYER_NAME];
- new cmd[256];
- new tmp[256];
- new idx;
- cmd = strtok(cmdtext, idx);
- GetPlayerName(playerid,sendername,sizeof(sendername));
- if(strcmp(cmd, "/makeadmin", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_BLUE, "Benutze: [SpielerID] [Level(1-1337)]");
- return 1;
- }
- new para1;
- new level;
- para1 = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- level = strval(tmp);
- if(IsPlayerPAdmin(playerid,1337) || IsPlayerAdmin(playerid))
- {
- if(IsPlayerConnected(para1))
- {
- if(para1 != INVALID_PLAYER_ID)
- {
- if(strlen(tmp) <= 1337)
- {
- GetPlayerName(para1, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- PlayerInfo[para1][pAdmin] = level;
- format(string, sizeof(string), "[ADMIN]: %s wurde von %s zu Admin-Level %d gemacht.", giveplayer, sendername,level);
- AdminMessage(COLOR_RED, string,1);
- }
- else
- {
- SendClientMessage(playerid, COLOR_BLUE, "Benutze: [SpielerID] [Level(1-1337)]");
- }
- }
- }
- }
- }
- return 1;
- }
- if(strcmp(cmdtext,"/restart",true)==0)
- {
- if(IsPlayerPAdmin(playerid,1337))
- {
- SendRconCommand("gmx");
- return 1;
- }
- SendClientMessage(playerid,COLOR_RED,"Du benötigst Admin Rang 1337, um diesen Befehl nutzen zu können.");
- return 1;
- }
- if(strcmp(cmdtext,"/givemoneyall",true)==0)
- {
- if(IsPlayerPAdmin(playerid,1337))
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- GivePlayerMoney(playerid, 10000);
- SendClientMessage(playerid,COLOR_RED,"Ein Admin hat jedem User etwas Geld gegeben.");
- }
- }
- return 1;
- }
- SendClientMessage(playerid,COLOR_RED,"Du benötigst Admin Rang 1337, um diesen Befehl nutzen zu können.");
- return 1;
- }
- if(strcmp(cmdtext,"/stats",true)==0)
- {
- new fraktname[64];
- switch(PlayerInfo[playerid][pFrak])
- {
- case 0:{fraktname="Keine";}
- case 1:{fraktname="Los Santos Police Department";}
- case 2:{fraktname="San Fierro Police Department";}
- case 3:{fraktname="Las Venturas Police Department";}
- }
- format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Geld: %i] [Bank: %i] [Fraktion: %s]",SpielerName(playerid), PlayerInfo[playerid][pScore], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pBank], fraktname);
- SendClientMessage(playerid,COLOR_BLUE,string);
- return 1;
- }
- return 0;
- }
- public OnPlayerConnect(playerid)
- {
- loginfail[playerid] = 0;
- TogglePlayerSpectating(playerid, 1);
- if(IsPlayerNPC(playerid))return 1;
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- if(dini_Exists(Spielerdatei) && dini_Int(Spielerdatei,"Registered") == 1)
- {
- antibot[playerid] = random(9999);
- new string[256];
- format(string, sizeof(string), "Bitte gib den Sicherheitscode ein und drücke auf Fortfahren! Sicherheitscode: {FF8C00}%d", antibot[playerid]);
- ShowPlayerDialog(playerid,DIALOG_BOTCHECK,DIALOG_STYLE_INPUT,"Anti Bot",string,"Fortfahren","Abbrechen");
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte ein Passwort ein:","Register","Abbrechen");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SpielerSpeichern(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- SetTimerEx("CheckDeath", 3500, false, "i", playerid);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_BOTCHECK)
- {
- //if(inputtext[DIALOG_BOTCHECK] == antibot[playerid])
- //{
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gib dein Passwort ein!","Login","Abbrechen");
- return 1;
- //}
- //else
- //{
- /* new string[256];
- loginfail[playerid] += 1;
- format(string, sizeof(string), "Der von dir eingegebene Sicherheitscode war falsch! Versuch %d/3.", loginfail[playerid]);
- SendClientMessage(playerid,COLOR_RED,string);
- if(loginfail[playerid] == 3)
- {
- Kick(playerid);
- loginfail[playerid] = 0;
- }
- else
- {
- format(string, sizeof(string), "Bitte gib den Sicherheitscode ein und drücke auf Fortfahren! Sicherheitscode: {FF8C00}%d", antibot[playerid]);
- ShowPlayerDialog(playerid,DIALOG_BOTCHECK,DIALOG_STYLE_INPUT,"Anti Bot",string,"Fortfahren","Abbrechen");
- }
- return 1;*/
- //}
- }
- if(dialogid==DIALOG_LOGIN)
- {
- if(response==0)
- {
- SendClientMessage(playerid,COLOR_BLUE,"Du hast den Vorgang abgebrochen.");
- Kick(playerid);
- return 1;
- }
- if(response==1)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid,COLOR_BLUE,"Das Passwort war nicht lang genug.");
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
- return 1;
- }
- else
- {
- Login(playerid,inputtext);
- return 1;
- }
- }
- }
- if(dialogid==DIALOG_REGISTER)
- {
- if(response==0)
- {
- SendClientMessage(playerid,COLOR_BLUE,"Du hast den Vorgang abgebrochen.");
- Kick(playerid);
- return 1;
- }
- if(response==1)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid,COLOR_BLUE,"Das Passwort war nicht lang genug.");
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
- return 1;
- }
- else
- {
- Register(playerid,inputtext);
- return 1;
- }
- }
- }
- if(dialogid==DIALOG_REG_1)
- {
- if(response==0)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- SendClientMessage(playerid,COLOR_BLUE,"Du bist also weiblich.");
- dini_IntSet(Spielerdatei,"Sex", 1);
- ShowPlayerDialog(playerid,DIALOG_REG_2,DIALOG_STYLE_INPUT,"Eigene Daten","{ffffff}Gib dein Geburtsdatum an.\nIn dieser Form: {ff0000}Tag{ff0000}{ffffff}.{ff0000}Monat{ff0000}{ffffff}.{ff0000}Jahr{ff0000}{ffffff}\n{00ff00}=> {ffffff}Die Angabe soll in Zahlen erfolgen:","Bestätigen"," ");
- return 1;
- }
- if(response==1)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- SendClientMessage(playerid,COLOR_BLUE,"Du bist also männlich.");
- dini_IntSet(Spielerdatei,"Sex", 0);
- ShowPlayerDialog(playerid,DIALOG_REG_2,DIALOG_STYLE_INPUT,"Eigene Daten","{ffffff}Gib dein Geburtsdatum an.\nIn dieser Form: {ff0000}Tag{ff0000}{ffffff}.{ff0000}Monat{ff0000}{ffffff}.{ff0000}Jahr{ff0000}{ffffff}\n{00ff00}=> {ffffff}Die Angabe soll in Zahlen erfolgen:","Bestätigen"," ");
- return 1;
- }
- }
- if(dialogid == DIALOG_REG_2)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- new Jahr, Monat,Tag;
- getdate(Jahr, Monat, Tag);
- new DateInfo[3][20];
- split(inputtext, DateInfo, '.');
- if(response == 1)
- if (strlen(inputtext) > 10)
- { // nicht länger als 10 zeichen (xx/xx/xxxx)
- ShowPlayerDialog(playerid,DIALOG_REG_2,DIALOG_STYLE_INPUT,"Eigene Daten","{ff0000}EINGABEFEHLER: {ffffff}Gib dein Geburtsdatum an.\nIn dieser Form: {ff0000}Tag{ff0000}{ffffff}.{ff0000}Monat{ff0000}{ffffff}.{ff0000}Jahr{ff0000}{ffffff}\n{00ff00}=> {ffffff}Die Angabe soll in Zahlen erfolgen:","Bestätigen"," ");
- return 0;
- }
- if (!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
- {
- ShowPlayerDialog(playerid,DIALOG_REG_2,DIALOG_STYLE_INPUT,"Eigene Daten","{ff0000}EINGABEFEHLER: {ffffff}Gib dein Geburtsdatum an.\nIn dieser Form: {ff0000}Tag{ff0000}{ffffff}.{ff0000}Monat{ff0000}{ffffff}.{ff0000}Jahr{ff0000}{ffffff}\n{00ff00}=> {ffffff}Die Angabe soll in Zahlen erfolgen:","Bestätigen"," ");
- return 0;
- }
- if(Jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= Jahr)
- {
- ShowPlayerDialog(playerid,DIALOG_REG_2,DIALOG_STYLE_INPUT,"Eigene Daten","{ff0000}EINGABEFEHLER: {ffffff}Gib dein Geburtsdatum an.\nIn dieser Form: {ff0000}Tag{ff0000}{ffffff}.{ff0000}Monat{ff0000}{ffffff}.{ff0000}Jahr{ff0000}{ffffff}\n{00ff00}=> {ffffff}Die Angabe soll in Zahlen erfolgen:","Bestätigen"," ");
- return 0;
- }
- new check = Jahr - strval(DateInfo[2]);
- if(check == Jahr)
- {
- ShowPlayerDialog(playerid,DIALOG_REG_2,DIALOG_STYLE_INPUT,"Eigene Daten","{ff0000}EINGABEFEHLER: {ffffff}Gib dein Geburtsdatum an.\nIn dieser Form: {ff0000}Tag{ff0000}{ffffff}.{ff0000}Monat{ff0000}{ffffff}.{ff0000}Jahr{ff0000}{ffffff}\n{00ff00}=> {ffffff}Die Angabe soll in Zahlen erfolgen:","Bestätigen"," ");
- return 0;
- }
- if(strval(DateInfo[1]) > Monat)
- {
- check -= 1;
- }
- else if(strval(DateInfo[1]) == Monat && strval(DateInfo[0]) > Tag)
- {
- check -= 1;
- }
- new string[256];
- format(string,sizeof(string),"Du bist also %i Jahre alt", check);
- SendClientMessage(playerid, COLOR_BLUE, string);
- dini_IntSet(Spielerdatei,"Alter", check);
- dini_IntSet(Spielerdatei,"bDay", Tag);
- dini_IntSet(Spielerdatei,"bMonat", Monat);
- dini_IntSet(Spielerdatei,"Registered", 1);
- if(response == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_REG_2,DIALOG_STYLE_INPUT,"Eigene Daten","{ff0000}EINGABEFEHLER: {ffffff}Gib dein Geburtsdatum\nIn dieser Form: {ff0000}Tag{ff0000}{ffffff}.{ff0000}Monat{ff0000}{ffffff}.{ff0000}Jahr{ff0000}{ffffff}\n{00ff00}=> {ffffff}Die Angabe soll in Zahlen erfolgen:","Bestätigen"," ");
- }
- }
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- if(pickupid==bsnenter)
- {
- if(GetPlayerVirtualWorld(playerid) == 0)
- {
- SetPlayerVirtualWorld(playerid, 1);
- SetPlayerPos(playerid,375.962463,-65.816848,1001.507812);
- SetPlayerInterior(playerid,10);
- GameTextForPlayer(playerid,"~w~Du ~r~hast ~b~den ~n~~g~BSN betreten.",3000,3);
- }
- }
- if(pickupid==bsnexit)
- {
- if(GetPlayerVirtualWorld(playerid) == 1)
- {
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,1199.4618,-920.8215,43.1059);
- SetPlayerFacingAngle(playerid,185.7090);
- SetCameraBehindPlayer(playerid);
- SetPlayerInterior(playerid,0);
- }
- }
- return 1;
- }
- public CheckDeath(playerid)
- {
- if(IsPlayerNPC(playerid))
- {
- return 0;
- }
- TogglePlayerSpectating(playerid, 1);
- TogglePlayerSpectating(playerid, 0);
- SpawnPlayer(playerid);
- return 1;
- }
- public AdminMessage(color,const string[],level)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pAdmin] >= level)
- {
- SendClientMessage(i, color, string);
- printf("%s", string);
- }
- }
- }
- return 1;
- }
- public ToAll(color,const string[])
- {
- SendClientMessageToAll(color, string);
- return 1;
- }
- public split(const strsrc[], strdest[][], delimiter)
- {
- new i, li;
- new aNum;
- new len;
- while(i <= strlen(strsrc)){
- if(strsrc[i]==delimiter || i==strlen(strsrc)){
- len = strmid(strdest[aNum], strsrc, li, i, 128);
- strdest[aNum][len] = 0;
- li = i+1;
- aNum++;
- }
- i++;
- }
- return 1;
- }
- public time()
- {
- new Stunde, Minute, Sekunde;
- gettime(Stunde, Minute, Sekunde);
- new string[256];
- new string2[256];
- if (Minute <= 9)
- {
- if (Sekunde <= 9)
- {
- format(string,25,"%d:0%d:0%d", Stunde, Minute, Sekunde);
- }
- else
- {
- format(string,25,"%d:0%d:%d", Stunde, Minute, Sekunde);
- }
- }
- else
- {
- if (Sekunde <= 9)
- {
- format(string,25,"%d:%d:0%d", Stunde, Minute, Sekunde);
- }
- else
- {
- format(string,25,"%d:%d:%d", Stunde, Minute, Sekunde);
- }
- }
- // Datum
- new Jahr, Monat, Tag;
- getdate(Jahr, Monat, Tag);
- if (Tag <= 9)
- {
- format(string2,25,"0%d.%d.%d", Tag, Monat, Jahr);
- }
- else if (Monat <= 9 && Tag >= 9)
- {
- format(string2,25,"%d.0%d.%d", Tag, Monat, Jahr);
- }
- else
- {
- format(string2,25,"%d.%d.%d", Tag, Monat, Jahr);
- }
- if (Stunde == 0){SetWorldTime(0);}
- if (Stunde == 1){SetWorldTime(1);}
- if (Stunde == 2){SetWorldTime(2);}
- if (Stunde == 3){SetWorldTime(3);}
- if (Stunde == 4){SetWorldTime(4);}
- if (Stunde == 5){SetWorldTime(5);}
- if (Stunde == 6){SetWorldTime(6);}
- if (Stunde == 7){SetWorldTime(7);}
- if (Stunde == 8){SetWorldTime(8);}
- if (Stunde == 9){SetWorldTime(9);}
- if (Stunde == 10){SetWorldTime(10);}
- if (Stunde == 11){SetWorldTime(11);}
- if (Stunde == 12){SetWorldTime(12);}
- if (Stunde == 13){SetWorldTime(13);}
- if (Stunde == 14){SetWorldTime(14);}
- if (Stunde == 15){SetWorldTime(15);}
- if (Stunde == 16){SetWorldTime(16);}
- if (Stunde == 17){SetWorldTime(17);}
- if (Stunde == 18){SetWorldTime(18);}
- if (Stunde == 19){SetWorldTime(19);}
- if (Stunde == 20){SetWorldTime(20);}
- if (Stunde == 21){SetWorldTime(21);}
- if (Stunde == 22){SetWorldTime(22);}
- if (Stunde == 23){SetWorldTime(23);}
- if (Stunde == 24){SetWorldTime(24);}
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- TextDrawHideForPlayer(i,Clock);
- TextDrawHideForPlayer(i,Datum);
- TextDrawSetString(Clock,string);
- TextDrawSetString(Datum,string2);
- TextDrawShowForPlayer(i,Clock);
- TextDrawShowForPlayer(i,Datum);
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- if(!success)
- {
- printf("Ein User mit der IP %s hat versucht, sich mit dem Passwort %s als Rcon Admin einzuloggen",ip, password);
- new pip[16];
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- GetPlayerIp(i, pip, sizeof(pip));
- if(!strcmp(ip, pip, true))
- {
- SendClientMessage(i, 0xFFFFFFFF, "Rcon Passwort ist falsch!");
- Ban(i);
- }
- }
- }
- return 1;
- }
- public UhrZeit()
- {
- new string[64];
- new tmphour;
- new tmpminute;
- new tmpsecond;
- gettime(tmphour, tmpminute, tmpsecond);
- StundeFix(tmphour);
- tmphour = shour;
- if((tmphour > gh) || (tmphour == 0 && gh == 23))
- {
- format(string, sizeof(string), "Deine Uhr: Es ist %d:00 Uhr",tmphour+1);
- ToAll(COLOR_WHITE,string);
- gh = tmphour;
- }
- }
- public StundeFix(stunde)
- {
- stunde = tshift+stunde;
- if(stunde < 0)
- {
- stunde = stunde+24;
- }
- else if(stunde > 23)
- {
- stunde = stunde-24;
- }
- shour = stunde;
- return 1;
- }
- stock IsValidDate(Tag, Monat, Jahr)
- {
- new maxTags;
- if (Jahr < 1900 || Jahr > 2010) return 0;
- switch (Monat)
- {
- case 1,3,5,7,8,10,12: maxTags = 31;
- case 4,6,9,11: maxTags = 30;
- case 2:
- {
- if(IsLeapJahr(Jahr))
- {
- maxTags = 29;
- }
- else
- {
- maxTags = 28;
- }
- }
- default: return 0;
- }
- if (Tag < 1 || Tag > maxTags) return 0;
- return 1;
- }
- stock IsLeapJahr(Jahr)
- {
- return ( Jahr % 4 == 0 && (Jahr % 100 != 0 || Jahr % 400 == 0) );
- }
- stock SpielerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock Register(playerid,key[])
- {
- new rand = random(sizeof(SkinRandom));
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- dini_Create(Spielerdatei);
- dini_Set(Spielerdatei,"Passwort",key);
- dini_IntSet(Spielerdatei,"Level",BEGIN_LEVEL);
- dini_IntSet(Spielerdatei,"Geld",BEGIN_MONEY);
- dini_IntSet(Spielerdatei,"Bank",BEGIN_BANK);
- dini_IntSet(Spielerdatei,"Baned",0);
- dini_IntSet(Spielerdatei,"SkinID", SkinRandom[rand][0]);
- dini_IntSet(Spielerdatei,"Fraktion", 0);
- dini_IntSet(Spielerdatei,"Registered", 0);
- SendClientMessage(playerid,COLOR_BLUE,"Erfolgreich registriert.");
- ShowPlayerDialog(playerid,DIALOG_REG_1,DIALOG_STYLE_MSGBOX,"Eigende Daten","{ffffff}Bist du {ffffff}'{ff0000}Männlich{ffffff}'{ffffff} oder {ffffff}'{ff0000}Weiblich{ffffff}'?{ffffff},\nBitte klicke auf die Option, die auf dich zutrifft.","Männlich","Weiblich");
- SetPlayerScore(playerid,0);
- SetPVarInt(playerid,"loggedin",1);
- return 1;
- }
- stock Login(playerid,key[])
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- if(gettime()<dini_Int(Spielerdatei,"timeban"))
- {
- SendClientMessage(playerid,COLOR_RED,"Du bist noch gebannt. Komm später wieder.");
- Kick(playerid);
- return 1;
- }
- if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
- {
- LoadAccount(playerid);
- SendClientMessage(playerid,COLOR_BLUE,"Erfolgreich eingeloggt.");
- SpawnPlayer(playerid);
- TogglePlayerSpectating(playerid, 0);
- return 1;
- }
- else
- {
- if(loginfail[playerid] == 3)
- {
- SendClientMessage(playerid,COLOR_RED,"Du hast dein Passwort 3 mal falsch eingegeben und wirst nun gekickt.");
- Kick(playerid);
- loginfail[playerid] = 0;
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Falsches Passwort. Bitte gib dein Passwort ein!","Login","Abbrechen");
- loginfail[playerid] += 1;
- }
- return 1;
- }
- }
- stock LoadAccount(playerid)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- PlayerInfo[playerid][pScore] = dini_Int(Spielerdatei,"Level");
- PlayerInfo[playerid][pSex] = dini_Int(Spielerdatei,"Sex");
- GivePlayerMoneyS(playerid,dini_Int(Spielerdatei,"Geld"));
- PlayerInfo[playerid][pBank] = dini_Int(Spielerdatei,"Bank");
- PlayerInfo[playerid][pAdmin] = dini_Int(Spielerdatei,"Adminlevel");
- SetPlayerSkin(playerid, dini_Int(Spielerdatei,"SkinID"));
- PlayerInfo[playerid][pBank] = dini_Int(Spielerdatei,"Fraktion");
- PlayerInfo[playerid][pBaned] = dini_Int(Spielerdatei,"Baned");
- if(PlayerInfo[playerid][pBaned] == 1)
- {
- SendClientMessage(playerid,COLOR_RED,"Du bist vom Server gebannt. Sollte dies ein Fehlban sein, so melde dich bitte im Forum!");
- Kick(playerid);
- }
- else
- {
- }
- SetPVarInt(playerid,"loggedin",1);
- return 1;
- }
- stock SpielerSpeichern(playerid)
- {
- if(GetPVarInt(playerid,"loggedin")==1)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- dini_IntSet(Spielerdatei,"Level",PlayerInfo[playerid][pScore]);
- dini_IntSet(Spielerdatei,"Bank",PlayerInfo[playerid][pBank]);
- dini_IntSet(Spielerdatei,"Adminlevel",PlayerInfo[playerid][pAdmin]);
- dini_IntSet(Spielerdatei,"SkinID",PlayerInfo[playerid][pAdmin]);
- dini_IntSet(Spielerdatei,"Fraktion",PlayerInfo[playerid][pFrak]);
- dini_IntSet(Spielerdatei,"Rank",PlayerInfo[playerid][pRank]);
- dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
- dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
- }
- return 1;
- }
- stock ErSie(playerid)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- if(dini_Int(Spielerdatei,"Sex"); == 0)
- {
- return er;
- }
- else
- {
- return sie;
- }
- return 1;
- }
- stock IhmIhr(playerid)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- if(dini_Int(Spielerdatei,"Sex"); == 0)
- {
- return ihm;
- }
- else
- {
- return ihr;
- }
- return 1;
- }
- stock IsPlayerPAdmin(playerid,rang)
- {
- if(PlayerInfo[playerid][pAdmin]>=rang)return 1;
- return 0;
- }
- forward GivePlayerMoneyS(playerid,Betrag);
- public GivePlayerMoneyS(playerid,Betrag)
- {
- new string3[256];
- new playername3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername3, sizeof(playername3));
- format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
- ResetPlayerMoney(playerid);
- new pm = (PlayerInfo[playerid][pMoney] + Betrag);
- dini_IntSet(string3,"Geld",pm);
- PlayerInfo[playerid][pMoney] = pm;
- GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]);
- }
- forward GetPlayerMoneyS(playerid);
- public GetPlayerMoneyS(playerid)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- new string3[256];
- new playername3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername3, sizeof(playername3));
- format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
- return dini_Int(Spielerdatei,"Geld");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement