Pawno kann nicht von Dini lesen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    ich weiß nichtmehr weiter.
    Pawno kann nicht von der Datei Dini lesen, sie ist iminclude Ordner und auch #include <Dini> ist richtig.
    Was ist der Fehler?!


    MfG
    Tony

  • #include #include #include
    forward Ping2(playerid);forward OnPlayerUpdate(playerid);
    new spieler[MAX_PLAYER_NAME];new MAXPING = 400;//Gewünschter Pingnew Ping1[MAX_PLAYERS];
    enum Info{passwort[128], // 128 steht für die maximale länge des passwortsskin,};new pInfo[MAX_PLAYERS][INFO];new bool:loggedin[MAX_PLAYERS];
    #define Spielername#define COLOR_RED 0xAA3333AAmain(){ print("\n----------------------------------"); print("Shine to Night Reallife"); print("----------------------------------\n");}


    public OnGameModeInit(){ SetGameModeText("Shine to Night Reallife"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1;}
    public Ping2(playerid){Ping1[playerid] = 1;return 1;}
    public OnPlayerUpdate(playerid){new string[128];new pName[16];GetPlayerName(playerid, pName, sizeof(pName));if(GetPlayerPing(playerid) >= MAXPING && Ping1[playerid] == 1){format(string, sizeof(string), "* %s wurde gekickt wegen einem zu hohen Ping ! (Max Ping %d)", pName, MAXPING);SendClientMessageToAll(COLOR_RED, string);SendClientMessage(playerid, COLOR_RED, "* Du wurdest gekickt wegen einem zu hohen Ping !");Kick(playerid);}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 string[128]; format(string,sizeof(string),"[SPIELERINFO] Spieler %s hat den Server betreten",Spielername(playerid)); SendClientMessageToAll(0x00A91EFF,string); 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]."); } } Ping1[playerid] = 0; SetTimerEx("Ping2", 1000*10, false, "%d", playerid); return 1;}
    public OnPlayerDisconnect(playerid, reason){ new string[128]; format(string,sizeof(string),"[SPIELERINFO] Spieler %s hat den Server verlassen",Spielername(playerid)); SendClientMessageToAll(0x00A91EFF,string);
    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 } 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 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); } else // wenn das passwort nicht stimmt { SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!"); } } 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 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 SpielerName(playerid){new name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,sizeof(name));return name;}
    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;}</a_samp>


    </a_samp>


    </a_samp>
    Irgendwie komsich :D Aber da ist er :_D</a_samp>

  • Ich versuch es nochmal, das liegt an dem Forum ^^


    #include #include #include
    forward Ping2(playerid);forward OnPlayerUpdate(playerid);
    new spieler[MAX_PLAYER_NAME];new MAXPING = 400;//Gewünschter Pingnew Ping1[MAX_PLAYERS];
    enum Info{passwort[128], // 128 steht für die maximale länge des passwortsskin,};new pInfo[MAX_PLAYERS][INFO];new bool:loggedin[MAX_PLAYERS];
    #define Spielername#define COLOR_RED 0xAA3333AAmain(){ print("\n----------------------------------"); print("Shine to Night Reallife"); print("----------------------------------\n");}


    public OnGameModeInit(){ SetGameModeText("Shine to Night Reallife"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1;}
    public Ping2(playerid){Ping1[playerid] = 1;return 1;}
    public OnPlayerUpdate(playerid){new string[128];new pName[16];GetPlayerName(playerid, pName, sizeof(pName));if(GetPlayerPing(playerid) >= MAXPING && Ping1[playerid] == 1){format(string, sizeof(string), "* %s wurde gekickt wegen einem zu hohen Ping ! (Max Ping %d)", pName, MAXPING);SendClientMessageToAll(COLOR_RED, string);SendClientMessage(playerid, COLOR_RED, "* Du wurdest gekickt wegen einem zu hohen Ping !");Kick(playerid);}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 string[128]; format(string,sizeof(string),"[SPIELERINFO] Spieler %s hat den Server betreten",Spielername(playerid)); SendClientMessageToAll(0x00A91EFF,string); 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]."); } } Ping1[playerid] = 0; SetTimerEx("Ping2", 1000*10, false, "%d", playerid); return 1;}
    public OnPlayerDisconnect(playerid, reason){ new string[128]; format(string,sizeof(string),"[SPIELERINFO] Spieler %s hat den Server verlassen",Spielername(playerid)); SendClientMessageToAll(0x00A91EFF,string);
    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 } 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 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); } else // wenn das passwort nicht stimmt { SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!"); } } 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 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 SpielerName(playerid){new name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,sizeof(name));return name;}
    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;}
    </a_samp>


    </a_samp>


    </a_samp>
    //EDIT: Ich bekomme es nicht hin isn Forum zu posten also den Code Oo</a_samp>