Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Includes
- #include <a_samp>
- #include <a_mysql>
- #include <md5>
- #include <streamer>
- #include <ocmd>
- //MySQL Verbindung
- #define MYSQL_HOST "127.0.0.1"
- #define MYSQL_USER "selfmade"
- #define MYSQL_DATA "selfmade"
- #define MYSQL_PASS "123"
- new dbhandle;
- //Enums
- enum playerInfo{
- pid,
- plevel,
- pmoney,
- peingeloggt,
- pneuling,
- palter,
- pgeschlecht,
- pskin,
- Float:prussi,
- Float:pleben
- }
- new pInfo[MAX_PLAYER_NAME][playerInfo];
- enum InterriorInfo{
- b_name[128],
- Float:b_x,
- Float:b_y,
- Float:b_z,
- Float:b_a,
- Float:b_ix,
- Float:b_iy,
- Float:b_iz,
- Float:b_ia,
- b_interior,
- mapmarker
- }
- new bInfo[][InterriorInfo] = {
- {"Stadthalle",1481.0109,-1772.3136,18.7958,178.0812,389.8470, 173.7643, 1008.3828, 89.3840,3,38}
- };
- //Dialoge
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIALOG_CHAR1 3
- #define DIALOG_CHAR2 4
- #define DIALOG_CHAR3 5
- #define DIALOG_LOGINT 6
- //Chat Radius
- #define CHAT_RADIUS 20
- //Forwards
- forward UserCheck(playerid);
- forward OnPlayerRegister(playerid);
- forward OnPasswordResponse(playerid);
- forward KickHackInfo(playerid);
- forward Second(playerid);
- //Globale Variablen
- new Logintest[MAX_PLAYERS];
- new enterexit[MAX_PLAYERS];
- new timer[MAX_PLAYERS];
- //Skin - System - Register
- new ManSkins[]={
- 247,248,245,220,221,123
- };
- new WomanSkins[]={
- 9,12,41,55,56,90,226
- };
- //Farben
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_GREY 0xBEBEBEFF
- #define COLOR_RED 0xFF000FFF
- main()
- {
- print("\n----------------------------------");
- print(" RPG - City Remake");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- //Server Einstellungen
- SetGameModeText("German Reallife");
- DisableInteriorEnterExits();
- ShowNameTags(1);
- ShowPlayerMarkers(PLAYER_MARKERS_MODE_STREAMED);
- ManualVehicleEngineAndLights();
- EnableStuntBonusForAll(0);
- //Anti - DEAMX
- AntiDeAMX();
- //MySQL Verbindung
- dbhandle = mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_DATA,MYSQL_PASS);
- if(mysql_errno() < 1)print("MYSQL: Die Verbindung wurde erfolgreich hergestellt."),
- mysql_log(LOG_ALL);else print("MYSQL: Die Verbindung zum MYSQL Server konnte nicht hergestellt werden."),
- SendRconCommand("exit");
- //INT Laden
- for(new i=0;i<sizeof(bInfo);i++)
- {
- new string[250],string2[250];
- CreatePickup(1318,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z],-1);
- CreatePickup(1318,1,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz],-1);
- format(string,sizeof(string),"%s um zu interagieren\ndrücke Enter!",bInfo[i][b_name]);
- Create3DTextLabel(string,COLOR_WHITE,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z],40,0,1);
- format(string2,sizeof(string2),"%s um zu interagieren\ndrücke Enter!",bInfo[i][b_name]);
- Create3DTextLabel(string2,COLOR_WHITE,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz],40,i,1);
- CreateDynamicMapIcon(bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z],bInfo[i][mapmarker],-1,-1,-1,-1,-1,MAPICON_LOCAL);
- }
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetSpawnInfo(playerid,0,0,0,0,0,0,0,0,0,0,0,0);
- SpawnPlayer(playerid);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new query[256];
- mysql_format(dbhandle, query, sizeof(query),"SELECT * FROM user WHERE username='%e'",GetName(playerid));
- mysql_tquery(dbhandle, query,"UserCheck","i",playerid);
- ClearChat(playerid);
- TogglePlayerSpectating(playerid,1);
- GameTextForPlayer(playerid, "~w~Die Welt wird aufgebaut...", 3000, 3);
- // ++ Login auf 0 setzen ++
- Logintest[playerid]=0;
- enterexit[playerid]=0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- savePlayer(playerid);
- pInfo[playerid][peingeloggt]=0;
- KillTimer(timer[playerid]);
- return 1;
- }
- public Second(playerid)
- {
- //Enter / Exit nur in 2 Sekunden möglich / damit man nicht mit rein/raus spammt!
- if(enterexit[playerid]>0)
- {
- enterexit[playerid]-=1;
- }
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerVirtualWorld(playerid,0);
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid,1);
- SetPlayerPos(playerid,1758.2858,-1894.8010,13.5560);
- if(pInfo[playerid][pneuling]==1)
- {
- ClearChat(playerid);
- pInfo[playerid][pneuling]=0;
- pInfo[playerid][pleben]=100;
- SetPVarInt(playerid,"SkinWahl",1);
- TogglePlayerControllable(playerid,false);
- savePlayer(playerid);
- }
- else
- {
- if(pInfo[playerid][pgeschlecht]==1)
- {
- SetPlayerSkin(playerid, pInfo[playerid][pskin]);
- }
- else
- {
- SetPlayerSkin(playerid, pInfo[playerid][pskin]);
- }
- }
- SetPlayerColor(playerid,COLOR_WHITE);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(pInfo[playerid][peingeloggt]==1)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- new string[250];
- format(string,sizeof(string),"%s sagt: %s",GetName(playerid),text);
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(!IsPlayerConnected(i))continue;
- if(!IsPlayerInRangeOfPoint(i,CHAT_RADIUS,x,y,z))continue;
- SendClientMessage(playerid,COLOR_WHITE,string);
- }
- }
- return 0;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return 0;
- }
- public OnPlayerRegister(playerid)
- {
- pInfo[playerid][pid]=cache_insert_id(dbhandle);
- TogglePlayerSpectating(playerid,0);
- SpawnPlayer(playerid);
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid,false);
- SetPVarInt(playerid,"SkinWahl",1);
- return 1;
- }
- public KickHackInfo(playerid)
- {
- return Kick(playerid);
- }
- public OnPasswordResponse(playerid)
- {
- new num_fields,num_rows;
- cache_get_data(num_rows,num_fields);
- if(num_rows==0)
- {
- //Passwort falsch
- Logintest[playerid]+=1;
- new string[250];
- format(string,sizeof(string),"Willkommen auf RPG - City [%d/3]",Logintest[playerid]);
- if(Logintest[playerid]>=3)
- {
- ShowPlayerDialog(playerid, DIALOG_LOGINT, DIALOG_STYLE_MSGBOX, "Du wurdest gekickt!","Du wurdest gekickt da du drei mal dein Passwort falsch eingegeben hast!\n\nFalls du dein Passwort vergessen hast melde dich bei einem Team Mitglied.","OK"," ");
- return SetTimerEx("KickHackInfo",1000,false,"i",playerid);
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,string,"Dein Account wurde gefunden bitte Logge dich ein ","OK","");
- }
- }
- else
- {
- //Passwort richtig
- LoadAccount(playerid);
- }
- return 1;
- }
- public UserCheck(playerid)
- {
- new num_rows, num_fields;
- cache_get_data(num_rows,num_fields,dbhandle);
- SetPlayerVirtualWorld(playerid,1);
- if(num_rows == 0)
- {
- //Registration
- //InterpolateCameraPos(playerid, 1481.365600, -2283.753173, 16.715532, 1472.360961, -2283.148681, 13.591988, 40000);
- //InterpolateCameraLookAt(playerid, 1478.918701, -2279.674072, 15.1749626, 1474.576171, -2278.682861, 13.205655, 40000);
- ClearChat(playerid);
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Willkommen auf RPG - City","Dein Account wurde nicht gefunden bitte Registriere dich","OK","");
- }
- else
- {
- //Login
- ClearChat(playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Willkommen auf RPG - City","Dein Account wurde gefunden bitte Logge dich ein ","OK","");
- }
- return 1;
- }
- 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 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)
- {
- //Interrior
- if(newkeys & KEY_SECONDARY_ATTACK)
- {
- if(enterexit[playerid]!=0)return 1;
- for(new i=0;i<sizeof(bInfo);i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))
- {
- SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
- SetPlayerInterior(playerid,bInfo[i][b_interior]);
- SetPlayerVirtualWorld(playerid,i);
- enterexit[playerid]=2;
- return 1;
- }
- if(IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]))
- {
- if(GetPlayerVirtualWorld(playerid)!=i)continue;
- SetPlayerPos(playerid,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- SetPlayerFacingAngle(playerid,bInfo[i][b_a]);
- enterexit[playerid]=2;
- return 1;
- }
- }
- }
- //Skin wechseln
- if(newkeys & 16384)
- {
- if(GetPVarInt(playerid,"SkinWahl")==1)
- {
- new number = GetPVarInt(playerid,"SkinSet");
- number--;
- if(pInfo[playerid][pgeschlecht]==1)
- {
- if(number >= sizeof(ManSkins))
- {
- number=0;
- }
- SetPVarInt(playerid,"SkinSet",number);
- SetPlayerSkin(playerid,ManSkins[number]);
- SendClientMessage(playerid,COLOR_GREY,"Skin geändert");
- }
- else
- {
- if(number >= sizeof(WomanSkins))
- {
- number=0;
- }
- SetPVarInt(playerid,"SkinSet",number);
- SetPlayerSkin(playerid,WomanSkins[number]);
- SendClientMessage(playerid,COLOR_GREY,"Skin geänder");
- }
- }
- }
- 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[])
- {
- if(dialogid == DIALOG_REGISTER)
- {
- if(!response)return Kick(playerid);
- SetPVarString(playerid,"passwortvar",inputtext);
- if(strlen(inputtext) >= 4)
- {
- ShowPlayerDialog(playerid,DIALOG_CHAR1,DIALOG_STYLE_MSGBOX,"Geschlechtsabfrage","Ich bin...","Männlich","Weiblich");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Willkommen auf RPG - City","Eingabe war Falsch!\n\nDein Account wurde nicht gefunden bitte Registriere dich","OK","");
- }
- }
- if(dialogid == DIALOG_CHAR1)
- {
- if(response)
- {
- //Männlich
- pInfo[playerid][pgeschlecht]=1;
- SendClientMessage(playerid,COLOR_WHITE,"OK.. du bist also Männlich");
- ShowPlayerDialog(playerid,DIALOG_CHAR2,DIALOG_STYLE_LIST,"Charakter 2/3","Hast du die Regeln gelesen?\nJa\nNein\nWelche Regeln?","Weiter","Abbrechen");
- }
- else
- {
- //Weiblich
- pInfo[playerid][pgeschlecht]=2;
- SendClientMessage(playerid,COLOR_WHITE,"OK.. du bist also Weiblich");
- ShowPlayerDialog(playerid,DIALOG_CHAR2,DIALOG_STYLE_LIST,"Charakter 2/3","Hast du die Regeln gelesen?\nJa\nNein\nWelche Regeln?","Weiter","Abbrechen");
- }
- }
- if(dialogid == DIALOG_CHAR2)
- {
- if(response)
- {
- if(listitem==0)
- {
- ShowPlayerDialog(playerid,DIALOG_CHAR2,DIALOG_STYLE_LIST,"Charakter 2/3","Hast du die Regeln gelesen?\nJa\nNein\nWelche Regeln?","Weiter","Abbrechen");
- }
- if(listitem==1)
- {
- ShowPlayerDialog(playerid,DIALOG_CHAR3,DIALOG_STYLE_INPUT,"Wie alt bist du?","Gebe bitt dein Alter an!\n\nINFO: Dies bleibt ein Geheimnis!","Weiter","Abbrechen");
- }
- if(listitem==2)
- {
- //Kick(playerid);
- }
- if(listitem==3)
- {
- ShowPlayerDialog(playerid,DIALOG_CHAR3,DIALOG_STYLE_INPUT,"Wie alt bist du?","Gebe bitt dein Alter an!\n\nINFO: Dies bleibt ein Geheimnis!","Weiter","Abbrechen");
- }
- }
- else
- {
- Kick(playerid);
- }
- }
- if(dialogid == DIALOG_CHAR3)
- {
- if(response)
- {
- if(IsNummeric(inputtext))
- {
- //new alterabfrage=strval(inputtext);
- if(strval(inputtext)>=18 && strval(inputtext) <=48)
- {
- pInfo[playerid][palter]=strval(inputtext);
- pInfo[playerid][peingeloggt]=1;
- pInfo[playerid][pneuling]=1;
- new query[256],passworteingabe[128];
- GetPVarString(playerid,"passwortvar",passworteingabe,128);
- mysql_format(dbhandle, query, sizeof(query), "INSERT INTO user (username, password) VALUES ('%e',MD5('%e'))",GetName(playerid),passworteingabe);
- mysql_function_query(dbhandle,query,true,"OnPlayerRegister","i",playerid);
- printf("%s",query);
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_CHAR3,DIALOG_STYLE_INPUT,"Wie alt bist du?","Eingabe Falsch!\n\nGebe bitt dein Alter an!\n\nINFO: Dies bleibt ein Geheimnis!","Weiter","Abbrechen");
- }
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_CHAR3,DIALOG_STYLE_INPUT,"Wie alt bist du?","Fehler Eingabe ist falsch!\n\nGebe bitt dein Alter an!\n\nINFO: Dies bleibt ein Geheimnis!","Weiter","Abbrechen");
- }
- }
- else
- {
- Kick(playerid);
- }
- }
- if(dialogid == DIALOG_LOGIN)
- {
- if(!response)return Kick(playerid);
- new query[256];
- mysql_format(dbhandle,query,sizeof(query),"SELECT * FROM user WHERE username='%e' AND password=MD5('%e')",GetName(playerid),inputtext);
- mysql_tquery(dbhandle,query,"OnPasswordResponse","i",playerid);
- return 1;
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- ClearChat(playerid)
- {
- for(new i = 0;i<100;i++)
- {
- SendClientMessage(playerid,COLOR_WHITE,"");
- }
- return 1;
- }
- savePlayer(playerid)
- {
- //Spieler Speichern
- if(pInfo[playerid][peingeloggt]!=1 || IsPlayerNPC(playerid))return 1;
- GetPlayerHealth(playerid,pInfo[playerid][pleben]),
- GetPlayerArmour(playerid,pInfo[playerid][prussi]);
- new query[256];
- mysql_format(dbhandle,query,sizeof(query),"UPDATE `user` SET `skin` = '%d', `alter` = '%d', `geschlecht` = '%d', `neuling` = '%d', `leben` = '%.0f', `russi` = '%.0f' WHERE `ID` = '%i'",GetPlayerSkin(playerid),
- pInfo[playerid][palter],pInfo[playerid][pgeschlecht],pInfo[playerid][pneuling],pInfo[playerid][pleben],pInfo[playerid][prussi],pInfo[playerid][pid]);
- mysql_pquery(dbhandle,query,"","");
- printf("%s",query);
- return 1;
- }
- LoadAccount(playerid)
- {
- // Account laden...
- new string[128];
- format(string, sizeof(string), "~g~Willkommen~n~~w~%s", GetName(playerid));
- GameTextForPlayer(playerid, string, 2500, 1);
- pInfo[playerid][peingeloggt]=1;
- pInfo[playerid][pid]=cache_get_field_content_int(0,"id",dbhandle);
- pInfo[playerid][palter]=cache_get_field_content_int(0,"alter",dbhandle);
- pInfo[playerid][pgeschlecht]=cache_get_field_content_int(0,"geschlecht",dbhandle);
- pInfo[playerid][pskin]=cache_get_field_content_int(0,"skin",dbhandle);
- pInfo[playerid][pneuling]=cache_get_field_content_int(0,"neuling",dbhandle);
- pInfo[playerid][pleben]=cache_get_field_content_float(0,"leben",dbhandle);
- pInfo[playerid][prussi]=cache_get_field_content_float(0,"russi",dbhandle);
- SetPlayerHealth(playerid,pInfo[playerid][pleben]);
- SetPlayerArmour(playerid,pInfo[playerid][prussi]);
- SetPlayerSkin(playerid, pInfo[playerid][pskin]);
- SpawnPlayer(playerid);
- TogglePlayerSpectating(playerid,0);
- SetCameraBehindPlayer(playerid);
- //Timer
- timer[playerid] = SetTimerEx("Second",1000,1,"i",playerid);
- return 1;
- }
- GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- return name;
- }
- IsNummeric(string[])
- {
- for(new i=0,j=strlen(string);i<j;i++)
- {
- if((string[i] > '9' || string[i] < '0'))return 0;
- }
- return 1;
- }
- AntiDeAMX()
- {
- new a[][] =
- {
- "Unarmed (Fist)",
- "Brass K"
- };
- #pragma unused a
- }
Advertisement
Add Comment
Please, Sign In to add comment