Beiträge von Jeffry

    format(string,sizeof(string),"INSERT INTO gangwar (id,owner,maxX,maxY,minX,minY,flaggeX,flaggeY,flaggeZ,erstellt) VALUES (%d,'%s','%f','%f','%f','%f','%f','%f','%f','%s')",
    i,GZ[i][owner],GZ[i][max_x],GZ[i][max_y],GZ[i][min_x],GZ[i][min_y],GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],GZ[i][erstellt]);
    format(string,sizeof(string),"%s ON DUPLICATE KEY UPDATE `owner`='%s',`maxX`=%f,`maxY`=%f,`minX`=%f,`minY`=%f,`flaggeX`=%f,`flaggeY`=%f,`flaggeZ`=%f,`erstellt`='%s';",
    string, GZ[i][owner],GZ[i][max_x],GZ[i][max_y],GZ[i][min_x],GZ[i][min_y],GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],GZ[i][erstellt]);

    Deshalb einfach
    GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
    bei OnPlayerConnect hinsetzen. Dann hast du den Namen in dieser Variable, und das auslesen aus der Datei sparst du dir auch, ebenso wie das speichern.

    Speichern:
    format(var, 32, "pName=%s\n",PlayerInfo[playerid][pName]);fwrite(hFile, var);


    Auslesen:
    if( strcmp( key , "pName" , true ) == 0 ) { val = ini_GetValue( Data ); format(PlayerInfo[playerid][pName], MAX_PLAYER_NAME, val); }

    Also da hast du garantiert bei der Aufnahme einen Fehler gemacht. Normalerweise haben die NPCs mehrere 100 Kilobyte, deine Datei hat gerade mal 80 Bytes.
    Nehme den NPC nochmals neu auf.


    => Gehe an die Position an der du starten willst
    => /ofrecord Joe
    => Laufe deine Strecke ab
    => /stoprecord


    Dann sollte es passen.

    Verbindet sich der NPC überhaupt auf den Server?
    Hast du den NPC auch richtig aufgenommen?


    Klappt es, wenn du bei OnPlayerConnect:
    if(IsPlayerNPC(playerid)) SpawnPlayer(playerid);


    setzt?



    Hast du NPCs ingame, bei denen es klappt?

    SpawnPlayer bei OnPlayerSpawn ist eine schlechte Idee.


    if(IsPlayerNPC(playerid)){
    printf("Name = %s", getName(playerid));
    if(!strcmp(getName(playerid), "Joe", true)){
    printf("Skin 33 zu ID %d", playerid);
    RepairAnims(playerid);
    SetPlayerSkin(playerid, 33);
    ApplyAnimation(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0, 0);
    }
    return 1;
    }


    Was wird geprintet, wenn du es so laufen lässt?

    stock Login(playerid,key[])
    {
    new SpielerDatei[256], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",name);
    if(!strcmp(key,dini_Get(SpielerDatei,"Passwort"),false))
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast dich erfolgreich eingeloggt!");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte logge dich mit deinem Passwort in deinem Account ein!","Okay","Abbrechen");
    return 1;
    }
    }

    Zudem ist das ganze in dcmd / ocmd / strcmp
    Könnte das eventuell Jemand in nur einer einzigen Definition machen ?


    Das zu ändern ist nicht schwer, du kopierst das Zeug unter ocmd einfach unter dcmd, der Rest bleibt gleich. Nur bei strcmp zu ändern wird es kompliziert.
    Entweder du nutzt strcmp und eines der anderen gleichzeitig, oder du musst den strcmp Befehl eben umschreiben.


    Am besten du versuchst dich daran mal, und wenn Fragen auftreten erstellst du einen Thread und erklärst dein Problem.

    Dann hast du es nicht richtig gemacht.
    Oder du öffnest die pawno.exe über eine Verknüpfung, die auf eine alte Version verlinkt ist.


    Starte mal die pawno.exe direkt in deinem Server/pawno/pawno.exe und öffne damit deinen Gamemode. Wenn du die aktuellen Includes hast, muss es klappen.

    Und wenn es dann immer noch nicht klappt ist das wahrscheinlich ein SA:MP Bug, oder?


    Eigentlich nicht, sonst würde es bei mir auch nicht klappen.
    Dann liegt es vielleicht an deinem Spiel, außer es klappt bei dem anderen Spieler auch nicht.


    Ich kann es mir aber ehrlich gesagt nicht vorstellen.