Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- #include <sscanf2>
- #include <streamer>
- #include <mSelection>
- #define SERVERNAME "German Neverland Roleplay"
- #define HOSTNAME "German Neverland Roleplay 0.1b"
- #define SERVERVERSION "0.1b"
- #define MAPMODE "San Andreas"
- #define CREATER "Makaveli"
- #define SERVERTAG "nRP"
- #define SERVERFARBEHEX 0x9BFF00FF
- #define SERVERFARBE "{9BFF00}"
- #define SQLHost "127.0.0.1"
- #define SQLPassword "Fehlercode001"
- #define SQLDatabase "nrp"
- #define SQLUser "Makaveli"
- #define ROT 0xFF0000FF
- #define DUNKELROT 0x8B0000FF
- #define NEONROT 0xFF0038FF
- #define MEDICROT 0xFF0E00FF
- #define ADUTYROT 0xA50000FF
- #define HELLBLAU 0x006CFFFF
- #define DUNKELBLAU 0x000090FF
- #define SAPDBLAU 0x0073FFFF
- #define FBIBLAU 0x0000DBFF
- #define ADUTY 0x7FE500FF
- #define HELLGRUEN 0x05FF00FF
- #define DUNKELGRUEN 0x007A00FF
- #define GELB 0xFFFF00FF
- #define GRAU 0xAAAAAAFF
- #define WEISS 0xFFFFFFFF
- #define FALSCHERCMD 0x6E6E6EFF
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 20
- #define MAX_PASSWORD_LENGTH 48
- #define MIN_PASSWORD_LENGTH 6
- enum
- {
- DIALOG_REGELN,
- DIALOG_REGISTER,
- DIALOG_REGISTER2,
- DIALOG_REGISTER3,
- DIALOG_REGISTER4,
- DIALOG_LOGIN
- }
- enum
- {
- NOOB_SKIN_MENU
- }
- enum PlayerAccount
- {
- pName[MAX_PLAYER_NAME],
- pPasswort[MAX_PASSWORD_LENGTH],
- pIP,
- pGeschlecht,
- pGeburtsdatum,
- pSkin,
- pCash,
- pLevel,
- pAdminlevel,
- pJahreAlt,
- Float:pHealth,
- Float:pLastx,
- Float:pLasty,
- Float:pLastz,
- Float:pAngle,
- pPerso,
- pArbeitserlaubnis,
- bool:pAE_beantrag,
- pStartkapital,
- pAngemeldet,
- pJob,
- pFraktion,
- pFrakRang,
- pLeader,
- pGanja,
- pPaper,
- pFilter,
- pMeth,
- pCocain,
- pLSD
- }
- new sInfo[MAX_PLAYERS][PlayerAccount];
- new SQLconnection;
- forward AccountCheck(playerid);
- forward Kicken(playerid);
- main()
- {
- }
- public OnGameModeInit()
- {
- mysql_log(LOG_DEBUG,LOG_TYPE_TEXT);
- SendRconCommand("hostname "#HOSTNAME);
- SendRconCommand("gamemodetext Roleplay");
- SendRconCommand("mapname "#MAPMODE);
- SQLconnection = mysql_connect("127.0.0.1", SQLUser, SQLDatabase, SQLPassword);
- if(mysql_errno(SQLconnection) == 0)
- {
- printf(#SERVERTAG": Verbindung zur Datenbank war erfolgreich.");
- }
- else
- {
- printf(#SERVERTAG": Es konnte keine Verbindung zur Datenbank hergestellt werden.");
- printf("Vorgang wird wiederholt .....");
- mysql_reconnect(SQLconnection);
- if(mysql_errno(SQLconnection) == 0)
- {
- printf(#SERVERTAG": Verbindung zur Datenbank war nun erfolgreich.");
- }
- else
- {
- printf(#SERVERTAG": Es konnte keine Verbindung zur Datenbank hergestellt werden.");
- printf(#SERVERTAG": Server wird runtergefahren.");
- SendRconCommand("exit");
- }
- }
- CreateTables();
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new query[128], connectingstring[128];
- format(query, sizeof query, "SELECT Id FROM "#SERVERTAG"_accounts WHERE pName = '%s'", GetName(playerid));
- mysql_function_query(SQLconnection, query, true, "AccountCheck", "i", playerid);
- format(connectingstring, 128, "[Verbindung] %s stellt die Verbing zu "#SERVERNAME" her.", GetName(playerid));
- SendAdminMessage(GELB, connectingstring);
- SetPlayerColor(playerid, GRAU);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/mycommand", cmdtext, true, 10) == 0)
- {
- // Do something here
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public Kicken(playerid) return Kick(playerid);
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_REGELN:
- {
- if(response == 0)
- {
- SendClientMessage(playerid, GRAU, "Tschüss");
- SetTimerEx("Kicken", 2000, 0, "i", playerid);
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Gut machen wir nun weiter.\nWähle ein sicheres Passwort, dieses muss zwischen 6 und 48 Zeichen liegen.","Weiter","Abbrechen");
- return 1;
- }
- }
- case DIALOG_REGISTER:
- {
- if(response == 0)
- {
- SendClientMessage(playerid, GRAU, "Tschüss");
- SetTimerEx("Kicken", 2000, 0, "i", playerid);
- }
- if(response == 1)
- {
- if(strlen(inputtext) > MAX_PASSWORD_LENGTH)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Das Passwort ist zu lang.\nEs darf nur maximal 48 Zeichen lang sein, versuche ein neues.","Weiter","Abbrechen");
- }
- else if(strlen(inputtext) < MIN_PASSWORD_LENGTH)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Das Passwort ist zu kurz.\nEs muss mindestens 6 Zeichen lang sein, versuche ein neues.","Weiter","Abbrechen");
- }
- else if(strlen(inputtext) == 0)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Du musst schon etwas eingeben ...\nWähle ein Passwort, es muss zwischen 6 und 48 Zeichen lang sein","Weiter","Abbrechen");
- }
- else
- {
- new password[MAX_PASSWORD_LENGTH];
- mysql_escape_string(inputtext, password, SQLconnection);
- ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST,#SERVERFARBE#SERVERNAME"{FFFFFF}: Wähle dein Geschlecht",#SERVERFARBE"Bist du männlich oder weiblich?{FFFFFF}\nMännlich\nWeiblich","Weiter", "Abbrechen");
- sInfo[playerid][pPasswort]=password;
- }
- }
- }
- case DIALOG_REGISTER2:
- {
- if(response == 0)
- {
- SendClientMessage(playerid, GRAU, "Tschüss");
- SetTimerEx("Kicken", 2000, 0, "i", playerid);
- }
- else
- {
- new string[256];
- if(listitem == 0)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST,#SERVERFARBE#SERVERNAME"{FFFFFF}: Wähle dein Geschlecht",#SERVERFARBE"Bist du männlich oder weiblich?{FFFFFF}\nMännlich\nWeiblich","Weiter", "Abbrechen");
- }
- if(listitem == 1)
- {
- sInfo[playerid][pGeschlecht] = 1;
- format(string, sizeof string,"Alles klar %s, du bist also männlich.\nNun kommen wir zu deiner Alterseingabe.\nGib jetzt dein Geburtsdatum in diesem Format an:\n 05.05.1993",GetName(playerid));
- ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?",string,"Weiter","Abbrechen");
- }
- if(listitem == 2)
- {
- sInfo[playerid][pGeschlecht] = 2;
- format(string, sizeof string,"Alles klar %s, du bist also weiblich.\nNun kommen wir zu deiner Alterseingabe.\nGib jetzt dein Geburtsdatum in diesem Format an:\n 05.05.1993",GetName(playerid));
- ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?",string,"Weiter","Abbrechen");
- }
- }
- }
- case DIALOG_REGISTER3:
- {
- new year, month, day;
- new hour, minute, second;
- new DateInfo[3][20], string[256];
- getdate(year, month, day);
- gettime(hour, minute, second);
- split(inputtext, DateInfo, '.');
- if(response == 0)
- {
- SendClientMessage(playerid, GRAU, "Tschüss");
- SetTimerEx("Kicken", 2000, 0, "i", playerid);
- }
- else
- {
- if(strlen(inputtext) > 10)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
- }
- if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
- }
- if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
- }
- new check = year - strval(DateInfo[2]);
- if(check == year)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
- }
- if(strval(DateInfo[1]) > month)
- {
- check -= 1;
- }
- else if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day)
- {
- check -= 1;
- }
- sInfo[playerid][pJahreAlt] = mktime(hour,minute,second,strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
- if(AgeOfPlayer(playerid) < 14 && AgeOfPlayer(playerid) > 50)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
- }
- format(string, sizeof string, "* Du bist also %i Jahre alt.",AgeOfPlayer(playerid));
- SendClientMessage(playerid, GELB, string);
- ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, #SERVERFARBE#SERVERNAME"{FFFFFF}: Skinauswahl","Bis hierhin hat alles geklappt.Nun gehen wir weiter zur Skinauswahl.","Weiter","Abbrechen");
- }
- }
- case DIALOG_REGISTER4:
- {
- if(response == 0)
- {
- SendClientMessage(playerid, GRAU, "Tschüss");
- SetTimerEx("Kicken", 2000, 0, "i", playerid);
- }
- else
- {
- new newbieskins[14];
- newbieskins[0] = 2;
- newbieskins[1] = 6;
- newbieskins[2] = 12;
- newbieskins[3] = 19;
- newbieskins[4] = 21;
- newbieskins[5] = 22;
- newbieskins[6] = 26;
- newbieskins[7] = 29;
- newbieskins[8] = 40;
- newbieskins[9] = 56;
- newbieskins[10] = 59;
- newbieskins[11] = 72;
- newbieskins[12] = 101;
- ShowModelSelectionMenuEx(playerid, newbieskins, 13, "Skinauswahl", NOOB_SKIN_MENU, 16.0, 0.0, 0.0);
- return 1;
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- public AccountCheck(playerid)
- {
- new rows, fields, string[256];
- cache_get_data(rows, fields, SQLconnection);
- if(rows==1)
- {
- format(string, sizeof string,"{FFFFFF}Willkommen zurück "#SERVERFARBE"%s.{FFFFFF}\nDein Spieleraccount wurde gefunden, du kannst nun dein Passwort eingeben.",GetName(playerid));
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,#SERVERFARBE#SERVERNAME"{FFFFFF}: Login", string, "Login", "Abbrechen");
- }
- else
- {
- format(string, sizeof string,"{FFFFFF}Um auf unseren Server spielen zu dürfen musst du diese Regeln akzeptieren.\n\n1.)Der Server haftet nicht für Beleidigungen, Cybermobbing oder Rassismus.\n2.)Ich bestätige hiermit, dass ich mindestens 16 Jahre alt bin.\n\n"#SERVERFARBE#SERVERNAME);
- ShowPlayerDialog(playerid, DIALOG_REGELN, DIALOG_STYLE_MSGBOX,#SERVERFARBE#SERVERNAME"{FFFFFF}: Regeln", string, "Weiter","Abbrechen");
- }
- return 1;
- }
- public OnPlayerModelSelectionEx(playerid, response, extraid, modelid)
- {
- switch(extraid)
- {
- case NOOB_SKIN_MENU:
- {
- if(response == 0)
- {
- SendClientMessage(playerid, GRAU, "Tschüss");
- SetTimerEx("Kicken", 2000, 0, "i", playerid);
- }
- else
- {
- //SendClientMessage(playerid, GELB, "* Die Registration ist abgeschlossen.");
- //SendClientMessage(playerid, GELB, "* Viel Spaß auf "#SERVERNAME".");
- sInfo[playerid][pSkin] = modelid;
- CreateAccount(playerid);
- SpawnPlayer(playerid);
- SetPlayerSkin(playerid, modelid);
- }
- }
- }
- return 1;
- }
- public OnQueryError(errorid, error[], callback[], query[], connectionHandle)
- {
- printf("Errorid %d",errorid);
- print(error);
- print(callback);
- print(query);
- return 1;
- }
- stock CreateAccount(playerid)
- {
- new query[256];
- format(query, sizeof query,"INSERT INTO "#SERVERTAG"_accounts (pName, pPassword, pSkin, pSpieleralter, pIP) VALUES ('%s', '%s', '%i', '%i', '%s')", GetName(playerid), sInfo[playerid][pPasswort], sInfo[playerid][pSkin], AgeOfPlayer(playerid), SpielerIP(playerid));
- mysql_function_query(SQLconnection, query, false, "", "");
- return 1;
- }
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock CreateTables()
- {
- new query[4000];
- strcat(query, "CREATE TABLE IF NOT EXISTS "#SERVERTAG"_accounts (Id int(11) NOT NULL AUTO_INCREMENT, pName varchar(24) NOT NULL, pPassword varchar(40) NOT NULL, pIP varchar(16) NOT NULL, pSpieleralter int(5) NOT NULL, pLevel int(5) NOT NULL, pCash int(15) NOT NULL, pSkin int(4) NOT NULL,");
- strcat(query, "pGeschlecht int(5) NOT NULL, pAdminlevel int(5) NOT NULL, pLastx float NOT NULL, pLasty float NOT NULL, pLastz float NOT NULL, pAngle float NOT NULL, pGanja int(10) NOT NULL, pPaper int(10) NOT NULL, pFilter int(10) NOT NULL, pMeth int(10) NOT NULL, pCocain int(10) NOT NULL, pLSD int(10) NOT NULL,");
- strcat(query, "pPerso int(5) NOT NULL, pArbeitserlaubnis int(5) NOT NULL, pStartkapital int(5) NOT NULL, pJob int(5) NOT NULL, pFraktion int(5) NOT NULL, pFrakRang int(5) NOT NULL, pLeader int(5) NOT NULL, pFraksperre int(5) NOT NULL, pAngemeldet int(5) NOT NULL, PRIMARY KEY (Id))");
- mysql_function_query(SQLconnection, query, false, "", "");
- return 1;
- }
- stock isPlayerAnAdmin(playerid, a_rank)
- {
- if(sInfo[playerid][pAdminlevel] >= a_rank) return 1;
- return 0;
- }
- stock SendAdminMessage(color,const string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(isPlayerAnAdmin(i,1))
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- return 1;
- }
- stock split(const strsrc[],strdest[][],delimiter)
- {
- new aNum,len,i,li;
- while(i <= strlen(strsrc))
- {
- if(strsrc[i] == delimiter || i == strlen(strsrc))
- {
- len = strmid(strdest[aNum],strsrc,li,i,128);
- strdest[aNum][len] = false;
- li = i+1;
- aNum++;
- }
- i++;
- }
- return 1;
- }
- stock IsValidDate(day,month,year)
- {
- new maxDays;
- if(year < 1900 || year > 2010) return 0;
- switch(month)
- {
- case 1,3,5,7,8,10,12: maxDays = 31;
- case 4,6,9,11: maxDays = 30;
- case 2:
- {
- if(IsLeapYear(year))
- {
- maxDays = 29;
- }
- else
- {
- maxDays = 28;
- }
- }
- default: return 0;
- }
- if(day < 1 || day > maxDays) return 0;
- return 1;
- }
- stock IsLeapYear(year)
- {
- return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
- }
- stock mktime(hour,minutee,second,day,month,year)
- {
- new timestamp2,days_of_month[12];
- timestamp2 = second + (minutee * 60) + (hour * 3600);
- if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
- {
- days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31};
- }
- else days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31};
- new days_this_year = 0;
- days_this_year = day;
- if(month > 1)
- {
- for(new i=0; i<month-1;i++)
- {
- days_this_year += days_of_month[i];
- }
- }
- timestamp2 += days_this_year * 86400;
- for(new j=1970;j<year;j++)
- {
- timestamp2 += 31536000;
- if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) timestamp2 += 86400;
- }
- return timestamp2;
- }
- stock AgeOfPlayer(playerid)
- {
- new yearold = gettime() - sInfo[playerid][pJahreAlt];
- return floatround(yearold/31536000);
- }
- stock SpielerIP(playerid)
- {
- new ip[16];
- GetPlayerIp(playerid,ip,sizeof(ip));
- return ip;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement