Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- #include <Dudb>
- #include <ocmd>
- #include <sscanf>
- #define rot 0xAA3333AA
- #pragma unused ret_memcpy
- #pragma unused pInfo
- enum Info
- {
- passwort[128],
- skin
- }
- new pInfo[MAX_PLAYERS][Info];
- new bool:loggedin[MAX_PLAYERS];
- new spieler[MAX_PLAYER_NAME];
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- // Don't use these lines if it's a filterscript
- SetGameModeText("Blank Script");
- 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 name[128], save[128]; // Dies machen wir um den Namen vom Spieler aufzuschreiben || Hiermit können wir sagen, dass etwas gespeichert werden soll
- GetPlayerName(playerid,name,sizeof(name)); // Dies sagt, er soll( vom Spieler, den namen, in der größe name aufschreiben)
- format(save,sizeof(save),"/Spieler/%s.ini",name); // Hier wird gechekt, wo der Spieler gespeichert ist, bzw. wo ein Spieler angelegt werden soll.
- if(dini_Exists(save)) // Hier wird geprüft, ob die Datei des Spielers schon existiert.
- { // Wenn ja, sende einen Text und lade den Skin und das Geld
- SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
- SendClientMessage(playerid, 0xFFFFFFAA, "Dein Account wurde wiedererkannt.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt einloggen.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /login [passwort].");
- GivePlayerMoney(playerid,dini_Int(save,"Geld")); // Hier wird das geld dem Spieler gegeben, was er vorher hatte
- SetPlayerSkin(playerid,dini_Int(save,"Skin")); // Hier wird der Skin des Spielers geladen
- }
- else
- {
- if(!dini_Exists(save)) // Wenn kein Spieler mit dem Namen existiert
- { //Sende einen Text
- SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
- SendClientMessage(playerid, 0xFFFFFFAA, "Du hast noch keinen Account.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt registrieren.");
- SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /register [passwort].");
- }
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- new name[128], save[128];// Gleiche
- GetPlayerName(playerid,name,sizeof(name)); // wie
- format(save,sizeof(save),"/Spieler/%s.ini",name);// oben
- if(dini_Exists(save)) // steht
- {
- dini_IntSet(save,"Geld",GetPlayerMoney(playerid)); // speichert das aktuelle Geld, was der Spieler zum schluss hatte
- dini_IntSet(save,"Skin",GetPlayerSkin(playerid));
- dini_FloatSet(save,"PosX", x);
- dini_FloatSet(save,"PosY", y);
- dini_FloatSet(save,"PosZ", z);}
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- new name[128], save[128];// Gleiche
- GetPlayerName(playerid,name,sizeof(name)); // wie
- format(save,sizeof(save),"/Spieler/%s.ini",name);// oben
- if(loggedin[playerid] == false) //Wenn er nicht eingeloggt ist
- {
- SendClientMessage(playerid, 0xAA3333AA, "Du musst dich Einloggen bevor du spawnst!");
- Kick(playerid); // Kicke den Spieler
- }
- SetPlayerSkin(playerid,dini_Int(save,"Skin")); //lade und setze den gespeicherten Skin
- SetPlayerPos(playerid, dini_Float(save,"PosX"), dini_Float(save,"PosY"), dini_Float(save,"PosZ"));
- 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(strget(cmdtext,0), "/register", true) == 0)
- {
- new save[40]; // Erstelle einen neuen String "save", wobei 40 Wörter verwendet werden können.
- GetPlayerName(playerid,spieler,sizeof(spieler));
- format(save, sizeof(save),"Spieler/%s.ini",spieler); //Speicherort
- if(!dini_Exists(save)) // wenn der Spieler sich regestriert und es noch keine .ini Datei mit seinem Namen gibt
- {
- dini_Create(save); // Erstelle eine Neue .ini Datei
- dini_IntSet(save,"passwort",udb_hash(strget(cmdtext,1))); // Setze in die .ini Datei(save,"dass passwort", welches er eingegeben hat) || das udb_hash verschlüsselt das Passwort in der .ini. Dazu benötigen wir die oben angegebene Include DUBD.
- SendClientMessage(playerid, 0x33AA33AA, "***Dein Account wurde erfolgreich registriert***");
- SendClientMessage(playerid, 0x33AA33AA, "***Nutze /login [Passwort] um dich einzuloggen***");
- }
- else
- {
- if(dini_Exists(save)) // Wenn beim regestrieren die Datei schon besteht
- {
- SendClientMessage(playerid, 0xAA3333AA, "Der Account ist bereits registriert");
- }
- }
- return 1;
- }
- if(strcmp(strget(cmdtext,0), "/login", true) == 0)
- {
- new save[40], s2[256]; //gleiche wie oben
- GetPlayerName(playerid,spieler,sizeof(spieler));
- format(save,sizeof(save),"Spieler/%s.ini",spieler);
- if(dini_Exists(save)) // wenn Datei existiert
- {
- s2=dini_Get(save,"passwort"); // lade das Passwort
- if(strval(s2)==udb_hash(strget(cmdtext,1))) // wenn die Eingabe nach /login mit dem Passwort von der registration übereinstimmt
- {
- loggedin[playerid] = true; //sage dem Server, dass der Spieler eingeloggt ist.
- SendClientMessage(playerid, 0x33CCFFAA, "***Du hast dich erfolgreich eingeloggt***");
- SpawnPlayer(playerid);
- SetPlayerPos(playerid, dini_Float(save,"PosX"), dini_Float(save,"PosY"), dini_Float(save,"PosZ"));
- }
- else // wenn das passwort nicht stimmt
- {
- SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!");
- }
- }
- }
- 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)
- {
- 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[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- stock strget(strx[], pos, search = ' ') {
- new arg, ret[128], idxx;
- for (new i = 0; i < strlen(strx); i++) {
- if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
- arg++;
- if (arg == pos + 1){
- ret[i-idxx] = EOS;
- return ret;
- } else if (arg == pos)
- idxx= i+1;
- }
- else if (arg == pos)
- ret[i - idxx] = strx[i];
- }
- return ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement