Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if defined _savesys_included
- #endinput
- #endif
- #define _savesys_included
- //WICHTIG: Dieses Include ist ausschließlich nur für die Community der EmP hergestellt worden.
- // Bei anderwertiger Verwendung müssen folgende untengenannte Personen informiert und um Erlaubnis
- // gebeten werden.
- //
- //BEACHTE: Der Prefix muss per "Replace" verändert werden und darf max. 3 Zeichen besitzen.
- // Aufgrund eines define Fehlers bei forward´s muss es per Hand Geschehen.
- // Bei der Überschreibung muss Groß-/Kleinschreibung beachtet werden.
- //
- // Der Prefix in diesem Dokument lautet: SAS
- //
- //
- // Include Credits:
- // LaVey (Programmierer und Konzeptierung)
- //
- //Notwendigkeiten damit dieses Include in Scripts funktioniert
- /*
- - Bei der Funktion wo die Daten in die Variablen gelesen werden, darf keine Passwort Abfrage sein,
- muss bei vorhandener Datei 'true' wiedergeben und bei Verwendung sollte er die alte Datei löschen.
- - Die Variablen dürfen keine PVar´s sein
- - Die Variable pLostKey in der enum-Struktur muss auch vorhanden sein
- - enum-Strukturen müssen kompatible eingefügt sein
- - Präprozessoren Einstellungen durchführen
- - Achten Sie auf Variablen, die Fehler in mySQL verursachen könnten (Beispiel: Int)
- - Das Include muss unterhalb der SpielerDefinition (bsp. PlayerInfo) platziert werden
- */
- #include <a_mysql>
- #define SAS_SQL_HOST MySQL_HOST
- #define SAS_SQL_USER MySQL_USER
- #define SAS_SQL_PASSWORD MySQL_PASSWORD
- #define SAS_SQL_TABLE "samp_players"
- #define SAS_SQL_DATABASE MySQL_DB
- #define SAS_PLAYER_NAME_FIELD "SpielerName"
- #define SAS_PLAYER_VW 50
- #define SAS_PLAYER_PASSWORD "SpielerPasswort"
- //#define SAS_PLAYER_LOSTPW(%0) PlayerInfo[%0][pLostKey] //Bitte auch nicht vergessen in 'PVarSaveSystem' einzutragen /* NOCH NICHT FERTIG */
- #define SAS_PLAYER_SAVING_SET(%0,%1) gPlayerSaving[%0] = %1 //Sollte nicht per SQL gespeichert werden
- #define SAS_PLAYER_SAVING_GET(%0) gPlayerSaving[%0] //Sollte nicht per SQL gespeichert werden
- #define SAS_PLAYER_LOGGED_IN_SET(%0,%1) SetPVarInt(%0,"PlayerLogged",%1) //Sollte nicht per SQL gespeichert werden
- #define SAS_PLAYER_LOGGED_IN_GET(%0) GetPVarInt(%0,"PlayerLogged") //Sollte nicht per SQL gespeichert werden
- #define SAS_OLD_USER_FILE_FUNCTION "OnPlayerLogInOLD" //Sollte vielleicht ausgelassen werden.
- #define SAS_LOG_IN_CONFIGURATION "OnPlayerLogIn"
- #define SAS_REGISTER_CONFIGURATION "OnPlayerRegister"
- #define SAS_PASSWORD_SIZEOF 129
- #define SAS_MIN_PASSWORD_LENGTH 3
- #define SAS_MAX_PASSWORD_LENGTH 16
- enum pss_sys
- {
- sasName[32],
- sasType,
- sasEnumNumber[128],
- sasDefault[128],
- };
- new PVarSaveSystem[][pss_sys] = {
- {"Level", 0, "SpielerLevel", "1"},
- {"Respekt", 0, "SpielerRespekt", "1"},
- {"Passwort", 2, "SpielerPasswort", ""},
- {"Geld", 0, "SpielerGeld", "0"},
- {"Quick", 0, "SpielerQuick", "0"},
- {"Admin", 0, "SpielerAdmin", "0"},
- {"Skin", 0, "SpielerSkin", "0"},
- {"Stufe", 0, "SpielerStufe", "0"},
- {"Branche", 0, "SpielerBranche", "0"},
- {"Unterkunft", 0, "SpielerUnterkunft", "-1"},
- {"Payday", 0, "SpielerPayday", "0"},
- {"Stumm", 0, "SpielerStumm", "0"},
- {"MotelDauer", 0, "SpielerMotelDauer", "0"},
- {"FrakKonto", 0, "SpielerFrakKonto", "0"},
- {"BrancheSpent", 0, "SpielerBrancheSpent", "0"},
- {"Knast", 0, "SpielerKnast", "0"},
- {"KnastZeit", 0, "SpielerKnastZeit", "0"},
- {"KnastKaution", 0, "SpielerKnastKaution", "0"},
- {"LostVehicles", 0, "SpielerLostVehicles", "0"},
- {"LostVehicleCost", 0, "SpielerLostVehicleCost", "0"},
- {"LostVehicleModel", 0, "SpielerLostVehicleModel", "0"},
- {"InventarMenge", 1, "SpielerInventarMenge", "0"},
- {"InventarMax", 1, "SpielerInventarMax", "50.0"},
- {"WeaponRohlinge", 2, "SpielerWeaponRohlinge", "0"},
- {"AmmoMaterials", 2, "SpielerAmmoMaterials", "0"},
- {"VehicleKeys", 2, "SpielerVehicleKeys", "-1"},
- {"RohFisch", 2, "SpielerRohFisch", "0"},
- {"RohPlant", 2, "SpielerRohPlant", "0"},
- {"Drugs", 2, "SpielerDrugs", "0"},
- {"WeaponProjectile", 2, "SpielerWeaponProjectile", "0"},
- {"CarThiefTime", 0, "SpielerCarThiefTime", "0"},
- {"Organisation", 0, "SpielerOrganisation", "0"},
- {"StufeOrganisation", 0, "SpielerStufeOrganisation", "0"},
- {"MiniJob", 0, "SpielerMiniJob", "0"},
- {"MiniJobSkills", 2, "SpielerMiniJobSkills", "0-0-0"},
- {"OnDutyOfficial", 0, "SpielerOnDutyOfficial", "0"},
- {"Houses", 0, "SpielerHouses", "0"},
- {"MaxHouses", 0, "SpielerMaxHouses", "2"},
- {"SpawnHouse", 0, "SpielerSpawnHouse", "0"},
- {"SpawnHouseTemplate", 0, "SpielerSpawnHouseTemplate", "0"},
- {"Wanted", 0, "SpielerWanted", "0"},
- {"PremiumPunkte", 0, "SpielerPremiumPunkte", "0"},
- {"DrugFactory", 0, "SpielerDrugFactory", "0"},
- {"ConsumedDrugs", 2, "SpielerConsumedDrugs", "0"},
- {"MindCode", 2, "SpielerMindCode", "0"},
- {"MaxMinds", 0, "SpielerMaxMinds", "10"},
- {"Minds",0,"SpielerMinds","0"},
- {"AdminOnDuty",0,"SpielerAdminOnDuty","0"},
- {"QuestInfo",2,"SpielerQuestInfo","0,0"},
- {"Tutorial",0,"SpielerTutorial","0"},
- {"LastPosition",2,"SpielerLastPosition","0"},
- {"InteriorID",0,"SpielerInteriorID","0"},
- {"TimeBan",0,"SpielerTimeBan","0"},
- {"TimeBanGrund",2,"SpielerTimeBanGrund","0"},
- {"DutySkin",0,"SpielerDutySkin","0"},
- {"Vehicles",0,"SpielerVehicles","0"},
- {"MaxVehicles",0,"SpielerMaxVehicles","3"},
- {"HelpBox",0,"SpielerHelpBox","1"},
- {"Lizenzen",2,"SpielerLizenzen","0,0"},
- {"LizenzenTime",2,"SpielerLizenzenTime","0,0"},
- {"LostGeheimzahl",0,"SpielerLostGeheimzahl","0"},
- {"WeaponSkill",2,"SpielerWeaponSkill","0"},
- {"TotenStatus",0,"SpielerTotenStatus","0"},
- {"TotenZeit",0,"SpielerTotenZeit","0"},
- {"TotenKrankenhaus",0,"SpielerTotenKrankenhaus","0"},
- {"Alkohol",2,"SpielerAlkohol","0,0"},
- {"Kisten",0,"SpielerKisten","0"},
- {"HausAbmahnung",0,"SpielerHausAbmahnung","0"},
- {"AllowedToGet",0,"SpielerAllowedToGet","0"},
- {"TestSkin",0,"SpielerTestSkin","0"},
- {"SeeConnection",0,"SpielerSeeConnection","0"},
- {"Accessory",2,"SpielerAccessory","0"}
- };
- #if !defined PRESSED
- #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- #endif
- #define SAS_DIALOG 2000
- //new PlayerCacheData[MAX_PLAYERS][sizeof(PVarSaveSystem)][64];
- // Old Pos Files
- /*
- {3927.0, 564.86114501953, -1876.6134033203, 3.5893173217773, 0.0, 0.0, 303.5},
- {3927.0, 563.91851806641, -1874.5614013672, 3.4788494110107, 0.0, 6.25, 284.4951171875},
- {3927.0, 563.31878662109, -1872.2543945313, 3.6198387145996, 0.0, 0.5, 271.24133300781},
- {1610.0, 566.02752685547, -1879.3833007813, 2.9029607772827, 0.0, 0.0, 0.0},
- {1641.0, 564.93988037109, -1879.2976074219, 2.9249949455261, 2.0, 0.0, 357.5},
- {1643.0, 563.4521484375, -1879.3100585938, 2.916339635849, 2.0, 0.0, 0.0},
- {1461.0, 556.39477539063, -1877.2852783203, 3.8329367637634, 0.0, 0.0, 104.0},
- {1598.0, 562.46136474609, -1878.6851806641, 3.2899911403656, 0.0, 0.0, 0.0}
- */
- new SAS_JS[][][] = {
- {"Willkommen", "Schoen Sie hier auf~n~~n~~b~~h~Elegant modernes Pathos~n~~n~~w~zu sehen :D~n~~n~Waehlen Sie diese Option ~n~um sich zu registrieren~n~oder anzumelden."},
- {"Lost PW", "Sie haben Ihr Passwort~n~vergessen?~n~~n~Kein Problem!~n~Einfach Wegwerf-Passwort~n~anfordern."},
- {"Change Name", "Mit falschem Accountnamen~n~auf den Server gejoint?~n~~n~Aender Sie diesen hier!"}
- };
- new Float:SAS_JS_Pos[][] = {
- {299.000000, 109.000000, 244.000000, 134.000000},
- {424.000000, 121.000000, 375.000000, 142.000000},
- {575.000000, 109.000000, 516.000000, 132.000000}
- };
- new Text:SAS_TextHeader[3];
- new Text:SAS_TextDescription[3];
- new gSASConnection;
- new bool:gSASGameModeRestart;
- new Text:SASBlackScreen;
- forward OnPlayerLoadData(query[], index, extraid, connectionHandle);
- forward OnPlayerSaveData(query[], index, extraid, connectionHandle);
- forward OnPlayerVerify(query[], index, extraid, connectionHandle);
- forward LoadNextItemForPlayer(playerid, nextid);
- enum sasInfo
- {
- sasName[MAX_PLAYER_NAME],
- sasEnumNumber[MAX_PLAYER_NAME],
- sasType,
- }
- /*stock CreatingSaveRepository(playerid)
- {
- for(new rep; rep != sizeof(PVarSaveSystem); rep++)
- {
- switch(PVarSaveSystem[rep][sasType])
- {
- case 0: format(PlayerCacheData[playerid][rep], 64, "%d", GetPVarInt(playerid, PVarSaveSystem[rep][sasEnumNumber]));
- case 1: format(PlayerCacheData[playerid][rep], 64, "%f", GetPVarFloat(playerid, PVarSaveSystem[rep][sasEnumNumber]));
- case 2: GetPVarString(playerid, PVarSaveSystem[rep][sasEnumNumber], PlayerCacheData[playerid][rep], 64);
- }
- }
- }*/
- stock CheckIfColoumnExist(table[], column[])
- {
- format(StockString, StockStringLength, "SHOW COLUMNS FROM %s LIKE '%s';", table, column);
- mysql_query(StockString, -1, -1, gSASConnection);
- mysql_store_result(gSASConnection);
- if (mysql_num_rows(gSASConnection))
- {
- mysql_free_result(gSASConnection);
- return true;
- }
- mysql_free_result(gSASConnection);
- return false;
- }
- stock InitilizeDataForPlayer(playerid)
- {
- for(new reset; reset != sizeof(PVarSaveSystem); reset++)
- {
- switch(PVarSaveSystem[reset][sasType])
- {
- case 0: SetPVarInt(playerid, PVarSaveSystem[reset][sasEnumNumber], strval(PVarSaveSystem[reset][sasDefault]));
- case 1: SetPVarFloat(playerid, PVarSaveSystem[reset][sasEnumNumber], floatstr(PVarSaveSystem[reset][sasDefault]));
- case 2: SetPVarString(playerid, PVarSaveSystem[reset][sasEnumNumber], PVarSaveSystem[reset][sasDefault]);
- }
- }
- SAS_PLAYER_LOGGED_IN_SET(playerid, -1);
- DeletePVar(playerid, SAS_PLAYER_PASSWORD);
- SetPVarInt(playerid, "LoadingPlayerData", sizeof(PVarSaveSystem));
- format(StockString, StockStringLength, "SELECT %s FROM %s WHERE %s = '%s' LIMIT 1;", SAS_PLAYER_NAME_FIELD, SAS_SQL_TABLE, SAS_PLAYER_NAME_FIELD, GetName(playerid));
- mysql_query_callback(playerid, StockString, "OnPlayerVerify", 1, gSASConnection); //mysql_query(query, -1, -1, gSASConnection);
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", "Einen Moment bitte..\n\nIhre Umgebung wird gerade initialisiert.", "Warten..", "");
- return 1;
- }
- stock PrepareEnumFields()
- {
- new File:enumFields = fopen("enumFields.txt", io_read), File:enumFieldsComplete = fopen("enumFieldsComplete.txt", io_append);
- new rstring[128], output[256];
- while(fread(enumFields, rstring))
- {
- strdel(rstring, strlen(rstring)-2, strlen(rstring));
- format(output, sizeof(output), "{\"%s\", 0, \"Spieler%s\", \"0\"},\r\n", rstring, rstring);
- fwrite(enumFieldsComplete, output);
- }
- fclose(enumFields);
- fclose(enumFieldsComplete);
- }
- stock InitializeJoinObjects(playerid, bool:reset = false)
- {
- if(IsPlayerNPC(playerid)) return false;
- for(new td; td != sizeof(SAS_JS); td++)
- {
- if(reset)
- {
- TextDrawHideForPlayer(playerid, SAS_TextHeader[td]);
- TextDrawHideForPlayer(playerid, SAS_TextDescription[td]);
- }
- else
- {
- TextDrawShowForPlayer(playerid, SAS_TextHeader[td]);
- TextDrawShowForPlayer(playerid, SAS_TextDescription[td]);
- }
- }
- SetPlayerVirtualWorld(playerid, (reset ? 0 : SAS_PLAYER_VW));
- TogglePlayerControllable(playerid, reset);
- if(reset)
- {
- // new time[3];
- // gettime(time[0], time[1], time[2]);
- // SetPlayerTime(playerid, time[0], time[1]);
- SetCameraBehindPlayer(playerid);
- CancelSelectTextDraw(playerid);
- }
- else
- {
- SelectTextDraw(playerid, 12582690);
- SetPlayerPos(playerid, 572, -1874, 10);
- SetPlayerCameraPos(playerid, 572, -1874, 4.5);
- SetPlayerCameraLookAt(playerid, 565, -1876, 3.6);
- SetPlayerWeather(playerid, 10);
- SetPlayerTime(playerid, 20, 30);
- }
- return true;
- }
- stock LoadPlayerData(playerid)
- {
- if(GetPVarInt(playerid, "SAS_LoginStep") == 1) return false;
- new playername[MAX_PLAYER_NAME], query[512], load, length = sizeof(query);
- GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
- SetPVarInt(playerid, "SAS_LoginStep", 1);
- format(query, length, "SELECT %s FROM %s WHERE %s = '%s' LIMIT 1;", PVarSaveSystem[load][sasName], SAS_SQL_TABLE, SAS_PLAYER_NAME_FIELD, playername);
- mysql_query_callback(playerid, query, "OnPlayerLoadData", load, gSASConnection);
- return true;
- }
- stock SavePlayerData(playerid, bool:direct = false)
- {
- new playername[MAX_PLAYER_NAME], query[512], save, length = sizeof(query), maxsave = (direct ? sizeof(PVarSaveSystem) : 1);
- GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
- if(!direct && SAS_PLAYER_SAVING_GET(playerid) > 0) return false;
- if(!direct) CreatingSaveRepository(playerid);
- SAS_PLAYER_SAVING_SET(playerid, sizeof(PVarSaveSystem) + (direct ? 1 : 0));
- for(; save != maxsave; save++)
- {
- switch(PVarSaveSystem[save][sasType])
- {
- case 0: format(query, length, "UPDATE %s SET %s = '%d' WHERE %s = '%s' LIMIT 1;", SAS_SQL_TABLE, PVarSaveSystem[save][sasName], GetPVarInt(playerid, PVarSaveSystem[save][sasEnumNumber]), SAS_PLAYER_NAME_FIELD, playername);
- case 1: format(query, length, "UPDATE %s SET %s = '%f' WHERE %s = '%s' LIMIT 1;", SAS_SQL_TABLE, PVarSaveSystem[save][sasName], GetPVarFloat(playerid, PVarSaveSystem[save][sasEnumNumber]), SAS_PLAYER_NAME_FIELD, playername);
- case 2:
- {
- new result[128];
- GetPVarString(playerid, PVarSaveSystem[save][sasEnumNumber], result, sizeof(result));
- format(query, length, "UPDATE %s SET %s = '%s' WHERE %s = '%s' LIMIT 1;", SAS_SQL_TABLE, PVarSaveSystem[save][sasName], result, SAS_PLAYER_NAME_FIELD, playername);
- }
- }
- if(direct) mysql_query(query, -1, -1, gSASConnection);
- else mysql_query_callback(playerid, query, "OnPlayerSaveData", save, gSASConnection);
- }
- return true;
- }
- public OnPlayerLoadData(query[], index, extraid, connectionHandle)
- {
- if(GetPVarInt(index, "LoadingPlayerData") == 0 || sizeof(PVarSaveSystem) - GetPVarInt(index, "LoadingPlayerData") != extraid) return 1;
- new nextid;
- ShowPlayerDialogEx(index, -1, DIALOG_STYLE_MSGBOX, "EmP", "Closing...", "Ok", "");
- format(StockString, StockStringLength, "Derzeit werden Ihre Spielstände geladen, weshalb wir Sie um ein wenig Geduld bitten!\n\nDer Fortschritt liegt derzeit bei: %.2f Prozent", floatsub(100, floatmul(floatdiv(100, sizeof(PVarSaveSystem)), GetPVarInt(index, "LoadingPlayerData"))));
- ShowPlayerDialogEx(index, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP - Spielerdaten", StockString, "Warten..", "");
- //format(StockString, StockStringLength, "~n~~n~~g~...Lade Daten...~n~~w~%.2f Prozent", floatsub(100, floatmul(floatdiv(100, sizeof(PVarSaveSystem)), GetPVarInt(index, "LoadingPlayerData"))));
- //GameTextForPlayer(index, StockString, 1200, 3);
- mysql_store_result(gSASConnection);
- new result[512];
- mysql_retrieve_row(gSASConnection);
- mysql_fetch_field_row(result, PVarSaveSystem[extraid][sasName], gSASConnection);
- switch(PVarSaveSystem[extraid][sasType])
- {
- case 0: { SetPVarInt(index, PVarSaveSystem[extraid][sasEnumNumber], strval(result)); }
- case 1: { SetPVarFloat(index, PVarSaveSystem[extraid][sasEnumNumber], floatstr(result)); }
- case 2: {
- if(!strcmp(PVarSaveSystem[extraid][sasEnumNumber],SAS_PLAYER_PASSWORD,false) && !strcmp(result,"NULL",true) && strlen(result) > 0){
- result[0] = EOS;
- }
- SetPVarString(index, PVarSaveSystem[extraid][sasEnumNumber], result);
- }
- }
- SetPVarInt(index, "LoadingPlayerData", GetPVarInt(index, "LoadingPlayerData") - 1);
- nextid = sizeof(PVarSaveSystem) - GetPVarInt(index, "LoadingPlayerData");
- mysql_free_result(gSASConnection);
- if(GetPVarInt(index, "LoadingPlayerData") == 0)
- {
- //GameTextForPlayer(index," ",1200,3);
- ShowPlayerDialogEx(index, -1, DIALOG_STYLE_MSGBOX, "EmP", "Closing...", "Ok", "");
- SAS_PLAYER_LOGGED_IN_SET(index, 0);
- SetPVarInt(index, "PlayerFilesLoaded", 1);
- DeletePVar(index, "SAS_LoginStep");
- SpawnPlayer(index);
- }
- else
- {
- // ladevorgang der Spielerdaten verzögern
- // print("Loading...");
- // SetTimerEx("LoadNextItemForPlayer",75,false,"dd",index,nextid);
- LoadNextItemForPlayer(index,nextid);
- }
- return 1;
- }
- public LoadNextItemForPlayer(playerid, nextid)
- {
- format(StockString, StockStringLength, "SELECT %s FROM %s WHERE %s = '%s' LIMIT 1;", PVarSaveSystem[nextid][sasName], SAS_SQL_TABLE, SAS_PLAYER_NAME_FIELD, GetName(playerid));
- // printf("Query: %s", string);
- mysql_query_callback(playerid, StockString, "OnPlayerLoadData", nextid, gSASConnection);
- return 1;
- }
- public OnPlayerSaveData(query[], index, extraid, connectionHandle)
- {
- new counter = sizeof(PVarSaveSystem) - SAS_PLAYER_SAVING_GET(index), length = 512, playername[MAX_PLAYER_NAME];
- GetPlayerName(index, playername, MAX_PLAYER_NAME);
- // format(playername, MAX_PLAYER_NAME, gPlayerName[index]);
- if(index > MAX_PLAYERS - 1 || counter != extraid || counter <= -1 || extraid >= sizeof(PVarSaveSystem)) return false;
- if(counter == 0 && IsPlayerConnected(index))
- {
- SetPVarInt(index, "SAS_LoginStep", 2);
- format(query, length, "Hallo %s und Herzlich Willkommen auf EmP!\nKlicken Sie mit der linken Maustaste auf 'Go!' bzw. drücken Sie die ENTER-Taste um fortzufahren!\n\nWir wünschen dir ne schöne Spielzeit.\n\nDas EmP Projekt", playername);
- ShowPlayerDialogEx(index, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", query, "Go!", "");
- }
- /*SAS_PLAYER_SAVING_SET(index, SAS_PLAYER_SAVING_GET(index) - 1);
- switch(PVarSaveSystem[counter][sasType])
- {
- case 0: format(query, length, "UPDATE %s SET %s = '%d' WHERE %s = '%s' LIMIT 1;", SAS_SQL_TABLE, PVarSaveSystem[counter][sasName], strval(PlayerCacheData[index][counter]), SAS_PLAYER_NAME_FIELD, playername);
- case 1: format(query, length, "UPDATE %s SET %s = '%f' WHERE %s = '%s' LIMIT 1;", SAS_SQL_TABLE, PVarSaveSystem[counter][sasName], floatstr(PlayerCacheData[index][counter]), SAS_PLAYER_NAME_FIELD, playername);
- case 2: format(query, length, "UPDATE %s SET %s = '%s' WHERE %s = '%s' LIMIT 1;", SAS_SQL_TABLE, PVarSaveSystem[counter][sasName], PlayerCacheData[index][counter], SAS_PLAYER_NAME_FIELD, playername);
- }
- mysql_query_callback(index, query, "OnPlayerSaveData", counter + 1, gSASConnection);*/
- return 1;
- }
- public OnPlayerVerify(query[], index, extraid, connectionHandle)
- {
- switch(extraid)
- {
- case 1: //Überprüfen der vorhandenen Spielerdatei
- {
- new /*oldfile = CallLocalFunction(SAS_OLD_USER_FILE_FUNCTION, "d", index), */playername[MAX_PLAYER_NAME];
- GetPlayerName(index, playername, MAX_PLAYER_NAME);
- mysql_store_result(gSASConnection);
- // if(oldfile > 0) mysql_free_result(gSASConnection);
- if(mysql_num_rows(gSASConnection) > 0)
- {
- mysql_free_result(gSASConnection);
- SetPVarInt(index, "PlayerHasAccount", 1);
- }
- else
- {
- mysql_free_result(gSASConnection);
- format(query, 128, "INSERT INTO %s (%s) VALUES('%s');", SAS_SQL_TABLE, SAS_PLAYER_NAME_FIELD, playername);
- mysql_query_callback(index, query, "OnPlayerVerify", 2, gSASConnection); //mysql_query(query, -1, -1, gSASConnection);
- }
- SetPlayerPos(index, 572.0, -1874.0, 10.0);
- SetPlayerCameraPos(index, 572.0, -1874.0, 4.5);
- SetPlayerCameraLookAt(index, 565, -1876, 3.6);
- //SetPlayerWeather(playerid, 10);
- //SetPlayerTime(playerid, 20, 30);
- ShowPlayerDialogEx(index,-1,DIALOG_STYLE_MSGBOX,"Closing","Closing Dialog","Zurück","");
- if(SAS_PLAYER_LOGGED_IN_GET(index) == -3) SpawnPlayer(index);
- else SAS_PLAYER_LOGGED_IN_SET(index, -2);
- }
- case 2: //Neuen Spielereintrag in Datenbank erstellen
- {
- }
- }
- return 1;
- }
- //GameMode Überschreibungen
- forward SAS_OnGameModeInit();
- forward SAS_OnGameModeExit();
- forward SAS_OnPlayerConnect(playerid);
- forward SAS_OnPlayerDisconnect(playerid, reason);
- forward SAS_OnPlayerSpawn(playerid);
- forward SAS_OnPlayerRequestClass(playerid, classid);
- forward SAS_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
- forward SAS_OnPlayerClickTextDraw(playerid, Text:clickedid);
- forward SAS_OnPlayerCommandText(playerid, cmdtext[]);
- public OnGameModeInit()
- {
- //PrepareEnumFields(); //Wird nur verwendet um große enums leicht zu konvertieren :-p
- gSASConnection = 1;
- // gSASConnection = mysql_connect(databaseHost,databaseUser,databaseName,databasePassword);
- /*print("-> Aktualisiere MySQL Datenbank...");
- new query[128], length = sizeof(query);
- for(new x; x != sizeof(PVarSaveSystem); x++)
- {
- if(CheckIfColoumnExist(SAS_SQL_TABLE, PVarSaveSystem[x][sasName])) continue;
- switch(PVarSaveSystem[x][sasType])
- {
- case 0: format(query, length, "ALTER TABLE %s ADD %s INTEGER NOT NULL DEFAULT '%d';", SAS_SQL_TABLE, PVarSaveSystem[x][sasName], strval(PVarSaveSystem[x][sasDefault]));
- case 1: format(query, length, "ALTER TABLE %s ADD %s FLOAT NOT NULL DEFAULT '%f';", SAS_SQL_TABLE, PVarSaveSystem[x][sasName], floatstr(PVarSaveSystem[x][sasDefault]));
- case 2: format(query, length, "ALTER TABLE %s ADD %s VARCHAR(128) NOT NULL DEFAULT '%s';", SAS_SQL_TABLE, PVarSaveSystem[x][sasName], PVarSaveSystem[x][sasDefault]);
- }
- mysql_query(query, -1, -1, gSASConnection);
- }*/
- for(new td; td != sizeof(SAS_JS); td++)
- {
- SAS_TextHeader[td] = TextDrawCreate(SAS_JS_Pos[td][0], SAS_JS_Pos[td][1], SAS_JS[td][0]);
- TextDrawAlignment(SAS_TextHeader[td], 2);
- TextDrawBackgroundColor(SAS_TextHeader[td], -1);
- TextDrawFont(SAS_TextHeader[td], 3);
- TextDrawLetterSize(SAS_TextHeader[td], 0.409999, 1.700000);
- TextDrawTextSize(SAS_TextHeader[td], 20.0, 100.0);
- TextDrawColor(SAS_TextHeader[td], -1);
- TextDrawSetOutline(SAS_TextHeader[td], 0);
- TextDrawSetProportional(SAS_TextHeader[td], 1);
- TextDrawSetShadow(SAS_TextHeader[td], 0);
- TextDrawSetSelectable(SAS_TextHeader[td], 1);
- SAS_TextDescription[td] = TextDrawCreate(SAS_JS_Pos[td][2], SAS_JS_Pos[td][3], SAS_JS[td][1]);
- TextDrawBackgroundColor(SAS_TextDescription[td], -1);
- TextDrawFont(SAS_TextDescription[td], 1);
- TextDrawLetterSize(SAS_TextDescription[td], 0.239999, 1.100000);
- TextDrawColor(SAS_TextDescription[td], -1);
- TextDrawSetOutline(SAS_TextDescription[td], 0);
- TextDrawSetProportional(SAS_TextDescription[td], 1);
- TextDrawSetShadow(SAS_TextDescription[td], 0);
- }
- SASBlackScreen = TextDrawCreate(-20.000000,2.000000,"|");
- TextDrawUseBox(SASBlackScreen,1);
- TextDrawBoxColor(SASBlackScreen,0x000000ff);
- TextDrawTextSize(SASBlackScreen,660.000000,22.000000);
- TextDrawAlignment(SASBlackScreen,0);
- TextDrawBackgroundColor(SASBlackScreen,0x000000ff);
- TextDrawFont(SASBlackScreen,3);
- TextDrawLetterSize(SASBlackScreen,1.000000,52.200000);
- TextDrawColor(SASBlackScreen,0x000000ff);
- TextDrawSetOutline(SASBlackScreen,1);
- TextDrawSetProportional(SASBlackScreen,1);
- TextDrawSetShadow(SASBlackScreen,1);
- //LoginObjekte
- CreateObject(3927, 564.86114, -1876.61340, 3.58931, 0.0, 0.0, 303.5, SAS_PLAYER_VW);
- CreateObject(3927, 563.91851, -1874.56140, 3.47884, 0.0, 6.25, 284.49511, SAS_PLAYER_VW);
- CreateObject(3927, 563.31878, -1872.25439, 3.61983, 0.0, 0.5, 271.24133, SAS_PLAYER_VW);
- CreateObject(1610, 566.02752, -1879.38330, 2.90296, 0.0, 0.0, 0.0, SAS_PLAYER_VW);
- CreateObject(1641, 564.93988, -1879.29760, 2.92499, 2.0, 0.0, 357.5, SAS_PLAYER_VW);
- CreateObject(1643, 563.45214, -1879.31005, 2.91633, 2.0, 0.0, 0.0, SAS_PLAYER_VW);
- CreateObject(1461, 556.39477, -1877.28527, 3.83293, 0.0, 0.0, 104.0, SAS_PLAYER_VW);
- CreateObject(1598, 562.46136, -1878.68518, 3.28999, 0.0, 0.0, 0.0, SAS_PLAYER_VW);
- return CallLocalFunction("SAS_OnGameModeInit", "");
- }
- public OnGameModeExit()
- {
- gSASGameModeRestart = true;
- TextDrawDestroy(SASBlackScreen);
- return CallLocalFunction("SAS_OnGameModeExit", "");
- }
- public OnPlayerConnect(playerid)
- {
- if(IsPlayerNPC(playerid)) SAS_PLAYER_LOGGED_IN_SET(playerid, 1);
- else InitilizeDataForPlayer(playerid);
- SendClientMessage(playerid,COLOR_RED,"Umgebung wird initialisiert ... Bitte warten ...");
- // GameTextForPlayer(playerid, "~r~Umgebung wird initialisiert~n~~n~~h~...Bitte warten...", 60000, 3);
- SetPVarInt(playerid, "SAS_LoginStep", 6);
- TextDrawShowForPlayer(playerid, SASBlackScreen);
- SetSpawnInfo( playerid, 0, 0, 564.86114, -1876.61340, 3.58931, 269.15, 0, 0, 0, 0, 0, 0 );
- return CallLocalFunction("SAS_OnPlayerConnect", "d", playerid);
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(IsPlayerNPC(playerid)) return 1;
- new password[256];
- GetPVarString(playerid, SAS_PLAYER_PASSWORD, password, sizeof(password));
- //if(SAS_PLAYER_LOGGED_IN_GET(playerid) > 0 && !gSASGameModeRestart) SavePlayerData(playerid);
- if(!strlen(password) && !gSASGameModeRestart && SAS_PLAYER_LOGGED_IN_GET(playerid) == 0)
- {
- new string[128], playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
- format(string, sizeof(string), "DELETE FROM %s WHERE %s = '%s' AND Passwort = 'Nichts';", SAS_SQL_TABLE, SAS_PLAYER_NAME_FIELD, playername);
- mysql_query(string, -1, -1, gSASConnection);
- }
- return CallLocalFunction("SAS_OnPlayerDisconnect", "dd", playerid, reason);
- }
- public OnPlayerSpawn(playerid)
- {
- if((GetPVarInt(playerid, "PlayerFilesLoaded") > 0 || GetPVarInt(playerid, "LoadingPlayerData") > 0) && !IsPlayerNPC(playerid))
- {
- InitializeJoinObjects(playerid,true);
- InitializeJoinObjects(playerid);
- if(GetPVarInt(playerid, "PlayerHasAccount") == 1)
- {
- DeletePVar(playerid, "PlayerHasAccount");
- return LoadPlayerData(playerid);
- }
- DeletePVar(playerid, "LoadingPlayerData");
- DeletePVar(playerid, "PlayerFilesLoaded");
- SetPVarInt(playerid, "SAS_LoginStep", 998);
- GameTextForPlayer(playerid, " ", 1000, 3);
- TextDrawHideForPlayer(playerid, SASBlackScreen);
- for(new x; x != 30; x++) SendClientMessage(playerid, COLOR_WHITE, " ");
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "|~~> EmP Login <~~|");
- SendClientMessage(playerid, COLOR_WHITE, "* Navigieren Sie mit Ihrer Maus und klicken Sie auf das gewünschte Element.");
- SendClientMessage(playerid, COLOR_WHITE, "* Wir wünschen Ihnen viel Spaß auf unserem Server :)");
- SendClientMessage(playerid, COLOR_WHITE, "* Mäty & Templer!");
- return 1;
- }
- return CallLocalFunction("SAS_OnPlayerSpawn", "d", playerid);
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return CallLocalFunction("SAS_OnPlayerCommandText", "ds", playerid, cmdtext);
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- if(IsPlayerNPC(playerid)) SpawnPlayer(playerid);
- if(GetPVarInt(playerid, "LoadingPlayerData") > 0 && SAS_PLAYER_LOGGED_IN_GET(playerid) == -2 && !IsPlayerNPC(playerid))
- {
- new string[256], playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
- SAS_PLAYER_LOGGED_IN_SET(playerid, -3);
- if(SAS_PLAYER_SAVING_GET(playerid) > 0)
- {
- SetPVarInt(playerid, "SAS_LoginStep", 2);
- format(string, sizeof(string), "Einen Moment bitte %s,\n\nEs wird derzeit noch der Spielstand vom vorherigen Spieler gespeichert.\nWir bitten um ein bisschen Geduld...", playername);
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", string, "Warten..", "");
- return 1;
- }
- SetPVarInt(playerid, "SAS_LoginStep", 2);
- //format(string, sizeof(string), "Hallo %s und Herzlich Willkommen auf EmP!\nKlicken Sie mit der linken Maustaste auf 'Go!' bzw. drücken Sie die ENTER-Taste um fortzufahren!\n\nWir wünschen dir ne schöne Spielzeit.\n\nDas EmP Projekt", playername);
- //ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", string, "Go!", "");
- SpawnPlayer(playerid);
- return 1;
- }
- return CallLocalFunction("SAS_OnPlayerRequestClass", "dd", playerid, classid);
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new iDialogText[128] = "\0";
- if(dialogid == SAS_DIALOG)
- {
- new playerstep = GetPVarInt(playerid, "SAS_LoginStep"), string[256];
- switch(playerstep)
- {
- case 1: //Laden der Spielstände in den Cache vom MySQL Server
- {
- format(string, sizeof(string), "Derzeit werden Ihre Spielstände geladen, weshalb wir Sie um ein wenig Geduld bitten!\n\nDer Fortschritt liegt derzeit bei: %.2f Prozent", floatsub(100, floatmul(floatdiv(100, sizeof(PVarSaveSystem)), GetPVarInt(playerid, "LoadingPlayerData"))));
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP - Spielerdaten", string, "Warten..", "");
- }
- case 2: //1. Dialog beim Connecten
- {
- DeletePVar(playerid, "SAS_LoginStep");
- SpawnPlayer(playerid);
- }
- case 3: //Anmelden (bzw. neues Passwort setzen :-p)
- {
- if(!response) return SetPVarInt(playerid, "SAS_LoginStep", 998);
- new error[128], password[24];
- SetPVarInt(playerid, "SAS_LoginOldStep", 3);
- SetPVarInt(playerid, "SAS_LoginStep", 999);
- if(sscanf(inputtext, "s[24]", password)) format(error, sizeof(error), "* Ihr eingegebenes Passwort enthält ungültige Zeichen.\n\nÜberprüfen Sie Ihre Eingabe.");
- if(strlen(inputtext) < SAS_MIN_PASSWORD_LENGTH || strlen(inputtext) > SAS_MAX_PASSWORD_LENGTH || !strcmp(inputtext,"Nothing",false)) format(error, sizeof(error), "* Ihr Passwort entspricht nicht entweder der\n\t-> Mindestlänge von %d Zeichen\noder\n\t-> Höchstlänge von %d Zeichen", SAS_MIN_PASSWORD_LENGTH, SAS_MAX_PASSWORD_LENGTH);
- //Verschlüsselung Whirpool
- new new_password[1024],
- new_playerPassword[1024];
- WP_Hash(new_password,512,password);
- GetPVarString(playerid, SAS_PLAYER_PASSWORD, new_playerPassword, sizeof(new_playerPassword));
- WP_Hash(new_playerPassword,512,playerPassword);
- printf("Password for %s |\n\t%s\n\t%s", GetName(playerid), new_password, new_playerPassword);
- if(!strlen(new_playerPassword) || !strcmp(new_playerPassword,"Nichts",true))
- {
- CallLocalFunction(SAS_REGISTER_CONFIGURATION, "d", playerid);
- }
- else if(strcmp(new_password, new_playerPassword, false) != 0) format(error, sizeof(error), "* Ihr eingegebes Passwort stimmt nicht mit Ihrem Spielstand überein!\n\nÜberprüfen Sie Ihre Eingabe.");
- if(strlen(error)) return ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP - Fehler", error, "Zurück", "");
- SAS_PLAYER_LOGGED_IN_SET(playerid, 1);
- SetPVarString(playerid, SAS_PLAYER_PASSWORD, new_password);
- InitializeJoinObjects(playerid, true);
- return CallLocalFunction(SAS_LOG_IN_CONFIGURATION, "d", playerid);
- }
- case 4: //ChangeName
- {
- if(!response) return SetPVarInt(playerid, "SAS_LoginStep", 998);
- new changename, newname[MAX_PLAYER_NAME], error[256], playername[MAX_PLAYER_NAME], playerPassword[24];
- GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
- GetPVarString(playerid, SAS_PLAYER_PASSWORD, playerPassword, sizeof(playerPassword));
- SetPVarInt(playerid, "SAS_LoginOldStep", 4);
- SetPVarInt(playerid, "SAS_LoginStep", 999);
- if(sscanf(inputtext, "s[20]", newname)) format(error, sizeof(error), "Unzulässige Zeichen in Ihrer Eingabe entdeckt!\n\nBitte überprüfen Sie Ihre Eingabe...");
- if(strlen(newname) < 3 || strlen(newname) > MAX_PLAYER_NAME - 4) format(error, sizeof(error), "Die Länge Ihres neuen Namens ist nicht zulässig!\n\nBeachten Sie bitte die:\n\t-> Mindestlänge von 3 Zeichen\n\t-> Höchstlänge von %d Zeichen", MAX_PLAYER_NAME - 4);
- if(strlen(error)) return ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP - Fehler", error, "Zurück", "");
- changename = SetPlayerName(playerid, newname);
- if(changename == -1) format(error, sizeof(error), "Ihr eingegebener Name %s wird bereits von einem anderen Spieler auf dem Server genutzt!\n\nWählen Sie bitte einen anderen...", newname);
- if(changename == 0) format(error, sizeof(error), "Ihr eingegebener Name %s entspricht dem gleichen Namen, jenen Sie bereits benutzen!\n\nBenützen Sie bitte einen anderen...", newname);
- if(strlen(error)) return ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP - Fehler", error, "Zurück", "");
- DeletePVar(playerid, "SAS_LoginOldStep");
- DeletePVar(playerid, "SAS_LoginStep");
- if(!strlen(playerPassword))
- {
- format(string, sizeof(string), "DELETE FROM %s WHERE %s = '%s' LIMIT 1;", SAS_SQL_TABLE, SAS_PLAYER_NAME_FIELD, playername);
- mysql_query(string, -1, -1, gSASConnection);
- }
- InitializePlayerForMindSys(playerid);
- // format(gPlayerName[playerid], MAX_PLAYER_NAME, newname); // Übernehmen für den Spielernamen
- InitilizeDataForPlayer(playerid);
- ForceClassSelection(playerid);
- TogglePlayerSpectating(playerid, 0);
- return 1;
- }
- case 5: //Wenn Spielerstand gespeichert wird und neuer Spieler gerade jetzt kommt
- {
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
- format(string, sizeof(string), "Einen Moment bitte %s,\n\nEs wird derzeit noch der Spielstand vom vorherigen Spieler gespeichert.\nWir bitten um ein bisschen Geduld...", playername);
- return ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", string, "Warten..", "");
- }
- case 6: //Wenn Spieler derzeit auf den Server verbindet
- {
- return ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", "Einen Moment bitte..\n\nIhre Umgebung wird gerade initialisiert.", "Warten..", "");
- }
- case 7:
- {
- return SetPVarInt(playerid, "SAS_LoginStep", 998);
- }
- case 999: //Dialog Fehlermeldungen
- {
- new playername[MAX_PLAYER_NAME], playerPassword[24];
- GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
- GetPVarString(playerid, SAS_PLAYER_PASSWORD, playerPassword, sizeof(playerPassword));
- playerstep = GetPVarInt(playerid, "SAS_LoginOldStep");
- SetPVarInt(playerid, "SAS_LoginStep", playerstep);
- DeletePVar(playerid, "SAS_LoginOldStep");
- switch(playerstep)
- {
- case 3:
- {
- if(!strlen(playerPassword)) format(string, sizeof(string), "Hallo %s,\n\nSie sind gerade dabei den Server zum ersten mal zu betreteten!\n\nUm eine Sicherheit für Ihre Spielstände zu garantieren, müssen Sie\nnun ein persönliches Passwort setzen.", playername);
- else format(string, sizeof(string), "Willkommen zurück %s,\n\nBitte gebe nun dein persönliches Passwort ein um dich zu verifizieren.\n\nAchte bitte auf Groß-/Kleinschreibung", playername);
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_PASSWORD, "EmP", string, "Login", "Zurück");
- }
- case 4:
- {
- format(string, sizeof(string), "Sie sind gerade dabei Ihren SpielerNamen %s in einen anderen Namen umzuändern.\n\nBeachten Sie die Mindestlänge von 1 Zeichen oder die Höchstlänge von %d Zeichen.", playername, MAX_PLAYER_NAME - 4);
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_INPUT, "EmP", string, "Change", "Zurück");
- }
- }
- }
- }
- return 1;
- }
- if(strlen(inputtext)) format(iDialogText,128,inputtext);
- return CallLocalFunction("SAS_OnDialogResponse", "dddds", playerid, dialogid, response, listitem, iDialogText);
- }
- public OnPlayerClickTextDraw(playerid, Text:clickedid)
- {
- if(GetPVarInt(playerid, "SAS_LoginStep") == 998) {
- GetPVarString(playerid, SAS_PLAYER_PASSWORD, StockString, StockStringLength);
- ShowPlayerDialogEx(playerid,-1,DIALOG_STYLE_MSGBOX,"Closing","Closing Dialog","Zurück","");
- if(clickedid == SAS_TextHeader[0]) //LogIn / Register
- {
- if(!strlen(StockString)) format(FormatString, FormatStringLength, "Hallo %s,\n\nSie sind gerade dabei den Server zum ersten mal zu betreteten!\n\nUm eine Sicherheit für Ihre Spielstände zu garantieren, müssen Sie\nnun ein persönliches Passwort setzen.", GetName(playerid));
- else format(FormatString, FormatStringLength, "Willkommen zurück %s,\n\nBitte gebe nun dein persönliches Passwort ein um dich zu verifizieren.\n\nAchte bitte auf Groß-/Kleinschreibung", GetName(playerid));
- SetPVarInt(playerid, "SAS_LoginStep", 3);
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_PASSWORD, "EmP", FormatString, "Login", "Zurück");
- }
- else if(clickedid == SAS_TextHeader[1]) //Passwort vergessen
- {
- SetPVarInt(playerid, "PlayerLogged", 1);
- if(GetPVarInt(playerid,"SpielerLostGeheimzahl") != 0)
- {
- format(FormatString, FormatStringLength, "Sie haben bereits eine Geheimzahl gezogen, bitte eröffnen Sie im Forum unter der Kategorie 'Passwort vergessen'\neinen Post mit Ihrer Geheimzahl und Ihrem Spielernamen.\n\nIhre Geheimzahl lautet:\n\t\t\t\t\t\t\t%d\nINFO: Eventuell würde es den Vorgang beschleunigen, wenn Sie spezifische Daten zu Ihrem Konto nennen.", GetPVarInt(playerid,"SpielerLostGeheimzahl"));
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", FormatString, "Zurück", "");
- SetPVarInt(playerid, "PlayerLogged", 0);
- return 1;
- }
- SetPVarInt(playerid, "SAS_LoginStep", 7);
- SetPVarInt(playerid, "SpielerLostGeheimzahl", (10000+MRandom(89999)));
- format(FormatString, FormatStringLength, "Ihre Geheimzahl wurde erstellt!\nBitte schreiben Sie im Forum unter der Kategorie 'Passwort vergessen' einen Post und\nschreiben Sie mit Ihrem Benutzernamen folgende Geheimzahl dazu:\n\n\t\t\t\t\t%d\n\nINFO: Eventuell würde es den Vorgang beschleunigen, wenn Sie spezifische Daten zu Ihrem Konto nennen.", GetPVarInt(playerid,"SpielerLostGeheimzahl"));
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_MSGBOX, "EmP", FormatString, "Dankeschön", "");
- SetPVarInt(playerid, "PlayerLogged", 0);
- }
- else if(clickedid == SAS_TextHeader[2]) //Change Name
- {
- SetPVarInt(playerid, "SAS_LoginStep", 4);
- format(FormatString, FormatStringLength, "Sie sind gerade dabei Ihren SpielerNamen %s in einen anderen Namen umzuändern.\n\nBeachten Sie die Mindestlänge von 1 Zeichen oder die Höchstlänge von %d Zeichen.", GetName(playerid), MAX_PLAYER_NAME - 4);
- ShowPlayerDialogEx(playerid, SAS_DIALOG, DIALOG_STYLE_INPUT, "EmP", FormatString, "Change", "Zurück");
- }
- return 1;
- }
- return CallLocalFunction("SAS_OnPlayerClickTextDraw", "dd", playerid, _:clickedid);
- }
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit SAS_OnGameModeInit
- #if defined _ALS_OnGameModeExit
- #undef OnGameModeExit
- #else
- #define _ALS_OnGameModeExit
- #endif
- #define OnGameModeExit SAS_OnGameModeExit
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect SAS_OnPlayerConnect
- #if defined _ALS_OnPlayerDisconnect
- #undef OnPlayerDisconnect
- #else
- #define _ALS_OnPlayerDisconnect
- #endif
- #define OnPlayerDisconnect SAS_OnPlayerDisconnect
- #if defined _ALS_OnPlayerSpawn
- #undef OnPlayerSpawn
- #else
- #define _ALS_OnPlayerSpawn
- #endif
- #define OnPlayerSpawn SAS_OnPlayerSpawn
- #if defined _ALS_OnPlayerRequestClass
- #undef OnPlayerRequestClass
- #else
- #define _ALS_OnPlayerRequestClass
- #endif
- #define OnPlayerRequestClass SAS_OnPlayerRequestClass
- #if defined _ALS_OnDialogResponse
- #undef OnDialogResponse
- #else
- #define _ALS_OnDialogResponse
- #endif
- #define OnDialogResponse SAS_OnDialogResponse
- #if defined _ALS_OnPlayerClickTextDraw
- #undef OnPlayerClickTextDraw
- #else
- #define _ALS_OnPlayerClickTextDraw
- #endif
- #define OnPlayerClickTextDraw SAS_OnPlayerClickTextDraw
- #if defined _ALS_OnPlayerCommandText
- #undef OnPlayerCommandText
- #else
- #define _ALS_OnPlayerCommandText
- #endif
- #define OnPlayerCommandText SAS_OnPlayerCommandText
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement