N0rax
Kopfgeldjäger
|
|
Registrierung: |
15.05.2010, 21:10 |
User-Info: |
Grand Theft AWESOME V |
Homepage: |
http://youtube.com/whizkey |
Lieblings-GTA: |
GTA: San Andreas |
Script Editor: |
Pawno |
PSN-ID: |
mike7363 |
Social Club: |
V12_WhizKey |
Beiträge: |
612
|
|
Also alles wird in einer INI abgespeichert, ich zeig dir mal wie ich das mein: Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| //HIER IST DER HACKEN public OnPlayerConnect(playerid) { /*TextDrawShowForPlayer(playerid,levelanzeige[playerid]); TextDrawShowForPlayer(playerid,Uhr);*/ TogglePlayerClock(playerid,true); new name[128], save[128]; GetPlayerName(playerid,name,sizeof(name)); format(save,sizeof(save),"/Spieler/%s.ini",name); if(dini_Exists(save)) { // Wenn ein Spieler mit dem Namen existiert SendClientMessage(playerid,COLOR_YELLOW,"*************************************************"); SendClientMessage(playerid, 0x33CCFFAA, "Herzlich willkommen im sXp-Network SA-MP 0.3a Server!"); SendClientMessage(playerid, 0xFFFFFFAA, "Du bist bereits Registriert! Logge dich bitte ein!"); SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /login [passwort]."); //SendClientMessage(playerid, 0xFFFFFFAA, "Solltest du Spawnen ohne das du dich Einloggst, wirst du sofort gekickt!"); SendClientMessage(playerid, 0xFFFFFFAA, "Gebe /help für Informationen ein."); SendClientMessage(playerid,COLOR_YELLOW,"*************************************************"); 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 SetPlayerPkt(playerid,dini_Int(save,"Scorep")); SetPlayerWantedLevel(playerid,dini_Int(save, "Wanted")); SetPlayerLevel(playerid,dini_Int(save, "Level")); SetPlayerCoins(playerid,dini_Int(save, "Coins")); GivePlayerMoney(playerid,dini_Int(save, "Bank")); deaths[playerid]=dUserINT(PlayerName(playerid)).("Tode"); // <=== bank[playerid]=dUserINT(PlayerName(playerid)).("Bank"); // <=== } else { if(!dini_Exists(save)) // Wenn kein Spieler mit dem Namen existiert { //Sende einen Text SendClientMessage(playerid, 0x33CCFFAA, "Herzlich willkommen im sXp-Network SA-MP 0.3a Server!"); SendClientMessage(playerid, 0xFFFFFFAA, "Du besitzt noch kein Account, bitte Registriere dich!"); SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /register [passwort]."); //SendClientMessage(playerid, 0xFFFFFFAA, "Solltest du Spawnen ohne das du dich Registrierst & Einloggst, wirst du sofort gekickt!"); SendClientMessage(playerid, 0xFFFFFFAA, "Gebe /help für Informationen ein."); } } return 1; }
// DAS HIER FUNKTIONIERT DA DIE DATEN ABGESPEICHERT WERDEN public OnPlayerDisconnect(playerid, reason) { rStreamDisconnect(playerid); 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)); // speichert den aktuellen Skin, welchne der Spieler zum schluss hatte dini_IntSet(save,"Scorep",GetPlayerPkt(playerid)); dini_IntSet(save,"Wanted",GetPlayerWantedLevel(playerid)); dini_IntSet(save,"Level", GetPlayerLevel(playerid)); dini_IntSet(save,"Coins", GetPlayerCoins(playerid)); dini_IntSet(save,"Bank", bank[playerid]); dini_IntSet(save,"Tode", deaths[playerid]); } return 1; }
////////////LOGIN UND REGISTER FUNKTIONIEREN AUCH
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 ==="); GameTextForPlayer(playerid,"~g~Du hast dich erfolgreich eingeloggt!",5,5000); SpawnPlayer(playerid); } else // wenn das passwort nicht stimmt { SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!"); GameTextForPlayer(playerid,"~r~Passwort Falsch!",5,5000); } } return 1; }
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"); GameTextForPlayer(playerid,"~r~Der Account ist bereits registriert",5,5000); } } return 1; } | Ich glaube DAS ist der Fehler beim CONNECTEN: deaths[playerid]=dUserINT(PlayerName(playerid)).("Tode"); // <=== bank[playerid]=dUserINT(PlayerName(playerid)).("Bank"); // <=== Bei den anderen oben ists ja anders, da die ihre eigene parameter haben (GivePlayerMoney etc..) das ist nur eine neue variable die für das BANK und für die TODE einig sind.. Und so wirds in der INI abgespeichert: scriptfiles/Spieler/***.ini passwort=***** Geld=89083 Skin=0 Scorep=80 Wanted=0 Level=10 Coins=53 Bank=101 Tode=2 Tode und BANK ist vorhanden, nur sie werden nicht geladen
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 16.05.2010, 20:24 von N0rax.
|
|