/spawnchange Problem

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

  • CMD:spawnchange(playerid)
    {
    ShowPlayerDialog(playerid, DIALOG_SPAWNCHANGE, DIALOG_STYLE_LIST, "Spawnchange", "Zivilisten Spawn (Strand LS)\nFraktion\nHaus", "Auswählen", "Abbrechen");
    return 1;
    }



    c
    ase DIALOG_SPAWNCHANGE:
    {
    if(response)
    {
    if(listitem == 0)// Zivi
    {
    Spieler[playerid][pSpawnChange] = 0;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen Spawn auf den Zivilisten Spawn gesetzt.");
    }
    if(listitem == 1) // Frak
    {
    if(Spieler[playerid][pFraktion] == 0)return SendClientMessage(playerid, COLOR_GREY, "** Du bist nicht Mitglied einer Fraktion.");
    Spieler[playerid][pSpawnChange] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen Spawn auf deinen Fraktions Spawn gesetzt.");
    }
    if(listitem == 2)// Zivi
    {
    Spieler[playerid][pSpawnChange] = 2;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen Spawn auf dein Haus gesetzt, sofern du eins besitzt oder eingemietet bist.");
    }
    }
    }



    Spawnchange funzt nicht ordentlich und wird nicht gespeichert warum?


    Wen der User /spawnchange eingibt und Haus angibt wird er im Haus nicht gespawnt?

  • Speichere dein Spieler einfach mal danach und schau ob das klappt.


    Aber sonst ist eig alles Richtig.




    case DIALOG_SPAWNCHANGE:
    {
    if(response)
    {
    if(listitem == 0)// Zivi
    {
    Spieler[playerid][pSpawnChange] = 0;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen Spawn auf den Zivilisten Spawn gesetzt.");
    SaveUserStats(playerid);
    }
    if(listitem == 1) // Frak
    {
    if(Spieler[playerid][pFraktion] == 0)return SendClientMessage(playerid, COLOR_GREY, "** Du bist nicht Mitglied einer Fraktion.");
    Spieler[playerid][pSpawnChange] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen Spawn auf deinen Fraktions Spawn gesetzt.");
    SaveUserStats(playerid);
    }
    if(listitem == 2)// Zivi
    {
    Spieler[playerid][pSpawnChange] = 2;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen Spawn auf dein Haus gesetzt, sofern du eins besitzt oder eingemietet bist.");
    SaveUserStats(playerid);
    }
    }
    }


  • if(Spieler[playerid][pSpawnChange] == 0) // Zivilist
    {
    SetPlayerPos(playerid, 154.3086,-1946.0225,5.0181);
    SetPlayerFacingAngle(playerid, 1.8650);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    switch(Spieler[playerid][pFraktion])
    {
    case 0: SetPlayerSkin(playerid, Spieler[playerid][pSkin]);
    case 1:{ SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]); SetPlayerColor(playerid, LSPD_DUTY);}
    case 2: SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    case 3:{ SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]); SetPlayerColor(playerid, SAMD_DUTY);}
    case 4: SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    case 5: SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    }
    }
    else if(Spieler[playerid][pSpawnChange] == 1) // Fraktion
    {
    switch(Spieler[playerid][pFraktion])
    {
    case 0: // Zivilist
    {
    SetPlayerSkin(playerid, Spieler[playerid][pSkin]);
    SetPlayerPos(playerid, 154.3086,-1946.0225,5.0181);
    SetPlayerFacingAngle(playerid, 1.8650);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    Spieler[playerid][pSpawnChange] = 0;
    SendClientMessage(playerid, COLOR_WHITE, "* Dein Spawn wurde auf den Zivilisten Spawn gesetzt.");
    }
    case 1: // LSPD
    {
    SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    SetPlayerPos(playerid, 258.3255,82.8243,1002.4453);
    SetPlayerFacingAngle(playerid, 1.1205);
    SetPlayerInterior(playerid, 6);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerColor(playerid, LSPD_DUTY);
    }
    case 2: // Russen Mafia
    {
    SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    SetPlayerInterior(playerid, 12);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerPos(playerid, 2324.4092,-1148.7240,1050.7101);
    SetPlayerFacingAngle(playerid, 359.3728);
    }
    case 3: // SAMD
    {
    SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerPos(playerid, 1176.7510,-1324.1151,14.0368);
    SetPlayerFacingAngle(playerid, 269.5287);
    }
    case 4: // GSF
    {
    SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    SetPlayerInterior(playerid, 8);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerPos(playerid, 2807.5308,-1174.7401,1025.5703);
    SetPlayerFacingAngle(playerid, 357.4926);
    }
    case 5: // Hitman
    {
    SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    SetPlayerInterior(playerid, 3);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerPos(playerid, -2636.9473,1403.3269,906.4609);
    SetPlayerFacingAngle(playerid, 0.6088);
    }
    }
    }
    else if(Spieler[playerid][pSpawnChange] == 2) // House
    {
    new hausIDx = Spieler[playerid][pHouseKey];
    if(hausIDx != -255)
    {
    if(Haus[hausIDx][hCreated] == 1)
    {
    if(Haus[hausIDx][EnterX] != 0.0 && Haus[hausIDx][ExitX] != 0.0)
    {
    SetPlayerInterior(playerid, Haus[hausIDx][hInterior]);
    SetPlayerVirtualWorld(playerid, hausIDx);
    SetPlayerPos(playerid, Haus[hausIDx][ExitX], Haus[hausIDx][ExitY], Haus[hausIDx][ExitZ]);
    switch(Spieler[playerid][pFraktion])
    {
    case 0: SetPlayerSkin(playerid, Spieler[playerid][pSkin]);
    case 1:{ SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]); SetPlayerColor(playerid, LSPD_DUTY);}
    case 2: SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    case 3:{ SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]); SetPlayerColor(playerid, SAMD_DUTY);}
    case 4: SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    case 5: SetPlayerSkin(playerid, Spieler[playerid][pFrakSkin]);
    }
    return 1;
    }
    else
    {
    Spieler[playerid][pSpawnChange] = 1;
    SpawnPlayerEx(playerid);
    }
    }
    else
    {
    Spieler[playerid][pSpawnChange] = 1;
    SpawnPlayerEx(playerid);
    }
    }
    else
    {
    Spieler[playerid][pSpawnChange] = 1;
    SpawnPlayerEx(playerid);
    }
    }
    return 1;
    }



    Gehört auch dazu sry

  • Zeig mir mal deine SaveUserStats(playerid);


    ich habe einen sehr starken verdacht.



    Und diesen würde ich zunächst nachgehen bevor wir hier überall eine extra speicher abfrage machen.


    Hinzu bitte auch nochmal wie dein Spieler geladen wird. Denn ich glaube da ist ein Fehler enthalten

  • Tu dir selbst den gefallen, und frag beim Hausab ob der Jenige in nem Haus eingemietet ist oder eins besitzt, kann sonst zu Fehlern kommen, sprich der User spawnt dann am 0 Punkt wenn er das Auswählt und keins der beiden zutrifft.


  • HideBusTextDraw(i);
    DisablePlayerCheckpointEx(i);
    UpdateDynamic3DTextLabelText(Vehicle[vehicleid][vehText], COLOR_LIGHTBLUE, "Leerfahrt");
    new randomGehalt = randomex(2750, 3100); // Maximum ungf. 35200$
    new randomSkill = randomex(1, 5);
    format(string, sizeof(string), COLOR_LIGHTBLUE"* Du erhälst am nächsten Payday %d$ gutgeschrieben. Erhaltene Exp: %d", randomGehalt, randomSkill); //2668
    SendClientMessage(i, COLOR_WHITE, string);
    Spieler[i][pJobMoney] += randomGehalt;
    Spieler[i][pJobCount] ++;
    GivePlayerBusSkill(i, randomSkill);
    PlayerPlaySound(i, 1057, 0, 0, 0);





    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\German\gamemodes\German.pwn(2668) : error 035: argument type mismatch (argument 3)
    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\GermanAges\gamemodes\German.pwn(2668) : warning 215: expression has no effect
    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\German\gamemodes\German.pwn(2668) : warning 215: expression has no effect
    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\German\gamemodes\German.pwn(2668) : warning 215: expression has no effect
    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\German\gamemodes\German.pwn(2668) : error 001: expected token: ";", but found ")"
    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\German\gamemodes\German.pwn(2668) : error 029: invalid expression, assumed zero
    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\German\gamemodes\German.pwn(2668) : fatal error 107: too many error messages on one line



    Warum ist doch richtig oder nicht?

  • Beitrag von FineTime ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Dummheit ().

  • HideBusTextDraw(i);
    DisablePlayerCheckpointEx(i);
    UpdateDynamic3DTextLabelText(Vehicle[vehicleid][vehText], COLOR_LIGHTBLUE, "Leerfahrt");
    new randomSkill = randomex(1, 2);
    format(string, sizeof(string), COLOR_LIGHTBLUE,"* Du erhälst am nächsten Payday 2900$ gutgeschrieben. Erhaltene Exp: %d", randomSkill); //2667
    SendClientMessage(i, COLOR_LIGHTBLUE, string);
    Spieler[i][pJobMoney] += 2900;
    Spieler[i][pJobCount] ++;
    GivePlayerBusSkill(i, randomSkill);
    PlayerPlaySound(i, 1057, 0, 0, 0);



    C:\Users\Natascha\Desktop\GTA SA Datein\GTA Scripts\German\gamemodes\German.pwn(2667) : error 035: argument type mismatch (argument 3)



    Warum kommt mismatch? :(