Beiträge von Jeffry

    ocmd:entmieten(playerid, params[])
    {
    #pragma unused params
    new HausID = GetNearHausID(playerid), SQL[300];
    if(HausID < 0)return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du bist nicht bei deinem Haus!");
    if(!strcmp(Haus[HausID][hBesitzer], GetName(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du kannst dich nicht aus deinem eigenen Haus ausmieten!");
    if(SpielerInfo[playerid][pHausgekauft] == 0)return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du bist nirgendwo eingemietet!");
    for(new i=0; i<30; i++)
    {
    if(!strcmp(GetName(playerid), HausMieter[HausID][i], true))
    {
    SendClientMessage(playerid, 0xFF0000FF, "[H-INFO] {FFFFFF}Du hast dich erfolgreich ausgemietet!");
    format(HausMieter[HausID][i], MAX_PLAYER_NAME, "-Niemand-");
    return 1;
    }
    }
    return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du bist hier nicht eingemietet!");
    }

    Ja, das liegt daran dass du kein dini verwendest, sondern etwas anderes, was es jetzt natürlich zerschossen hat.


    strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
    zu:
    strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-2, 255);
    Dann sollte es nach der neu-Registration wieder gehen.


    Dich selbst als Werber:
    Wie sieht der Code bei OnDialogResponse bei dir jetzt aus?

    case DIALOG_CARRADIO:
    {
    if(response)
    {
    switch(listitem)
    {
    case 0:
    {
    PlayAudioStreamForPlayer(playerid, "http://out04.t4e.dj:80/main_high.mp3");
    }
    case 1:
    {
    PlayAudioStreamForPlayer(playerid, "http://out04.t4e.dj:80/main_high.mp3");
    }
    case 2:
    {
    PlayAudioStreamForPlayer(playerid, "http://out04.t4e.dj:80/main_high.mp3");
    }
    }
    } //Die hier hat gefehlt.
    else
    {
    return 1;
    }
    }


    Zum if-else hat die Klammer nicht gepasst.

    Beim Login, nachdem sRPName geladen ist:
    format(string,sizeof(string),"%s",SpielerInfo[playerid][sRPName]);
    SpielerInfo[playerid][pLabel] = Create3DTextLabel(string,COLOR_WHITE,30.0,40.0,50.0,40.0,0);


    OnPlayerSpawn:
    Attach3DTextLabelToPlayer(SpielerInfo[playerid][pLabel], playerid, 0.0, 0.0, 0.7);


    Im enum zu SpielerInfo:
    Text3D:pLabel,


    Und beim Disconnect löschen.
    Delete3DTextLabel(SpielerInfo[playerid][pLabel]);

    Ändere mal alle diese hier:
    format(var, 32, "Werberstatusn=%d\n",PlayerInfo[playerid][pWerberStatus]);fwrite(hFile, var);
    zu:
    format(var, 32, "Werberstatusn=%d\r\n",PlayerInfo[playerid][pWerberStatus]);fwrite(hFile, var);


    Alle Zeilen davon, überall \r\n machen.


    Geht es dann? (Musst dich neu registrieren!)

    Willkommen auf Breadfish!



    Also das komplette Callback muss so aussehen, dann kannst du es einfach 1:1 übernehmen.
    public OnPlayerEnterCheckpoint(playerid)
    {
    SendClientMessage(playerid,HELLBLAU,"Doktor sagt: Hier bitteschön. Noch einen schönen Tag!");
    new string[145], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Brief: Hey %s . Hab mal für dich ein Geschenk.", pname);
    SendClientMessage(playerid,0x800000AA,string);
    SendClientMessage(playerid,0x800000AA,"Da ich ja eh bald verrecken werde, brauche ich das Geld nicht mehr. . .");
    SendClientMessage(playerid,0x800000AA,"Yo also, alle diese 50.000$ sind deine. Viel Spaß! Bye Bro, man sieht sich!");
    GivePlayerMoney(playerid,50000);
    DisablePlayerCheckpoint(playerid);
    return 1;
    }

    Das könnte man so machen, wenn man es hochzählen lassen will:
    if(dialogid == DIALOG_WERBER)
    {
    new path[64];
    if(response)
    {
    format(path, sizeof(path), "/accounts/%s.ini", inputtext);
    if(!fexist(path))
    {
    SendClientMessage(playerid, 0xFF0000FF, "Error: User existiert nicht.");
    return ShowPlayerDialog(playerid, DIALOG_WERBER, DIALOG_STYLE_INPUT, "Werber eintragen", "Trage nun bitte deinen Werber ein:", "Ok", "Niemand");
    }
    new status = dini_Int(path, "Werberstatus")+1;
    dini_IntSet(path, "Werberstatus", status);
    format(path, sizeof(path), "/accounts/%s.ini", SpielerName(playerid));
    dini_Set(path, "Werber", inputtext);
    new pID = GetIDFromName(inputtext);
    if(pID != INVALID_PLAYER_ID) SpielerInfo[pID][pWerberstatus] = status;
    }
    else
    {
    format(path, sizeof(path), "/accounts/%s.ini", SpielerName(playerid));
    dini_Set(path, "Werber", "-Niemand-");
    }
    return 1;
    }


    Shoxx: Beachte den Edit in Post #6 zum OnDialogResponse Teil, ich hatte den "Niemand" Teil unterschlagen. Ist jetzt dabei.

    Das kannst du machen, wenn der Rest auch so aufgebaut ist, ja.



    EDIT:
    Mir ist grade noch eingefallen, dass der Werber ja auch online sein könnte.
    Füge das hier beim OnDialogResponse-Teil von oben hinzu:
    new pID = GetIDFromName(inputtext);
    if(pID != INVALID_PLAYER_ID) SpielerInfo[pID][pWerberstatus] = 1;


    Und das hier ganz unten im Gamemode:
    stock GetIDFromName(name[])
    {
    new tmp[MAX_PLAYER_NAME];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, tmp, MAX_PLAYER_NAME))
    {
    if(!strcmp(name, tmp)) return i;
    }
    }
    return INVALID_PLAYER_ID;
    }