Probleme mit /frakwechsel

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 Breadfish :P


    Ich scripte(versuche xD ) zurzeit einen DM Mode. Ich möchte, dass der Spieler gegen einen Beitrag von 50000$ seine Fraktion wechseln kann ( Seine Fraktion muss man beim Register wählen).


    Nun hab ich aber das Problem, dass das Geld auf -50000 gesetzt wird anstatt es abzuziehen.
    Nun frage ich mich aber warum, denn beim Kauf einer Deagle hab ich das Geld punktgenau so abziehen lassen (Halt nur 1000$ anstatt 50000$)




    new PlayerMoney[MAX_PLAYERS];




    Befehl:


    if(strcmp(cmdtext,"/frakwechsel",true)==0)
    {
    ShowPlayerDialog(playerid, DIALOG_FRAKCHANGE, DIALOG_STYLE_MSGBOX,"Fraktionswechsel","Die Kosten des Fraktionswechsel betragen 50000$.\nBist du damit einverstanden?","Ja","Nein");
    return 1;
    }




    Bei OnDialogResponse :


    if(dialogid==DIALOG_FRAKCHANGE)
    {
    if(response == 1)
    {
    if(GetPlayerMoney(playerid) > 49999)
    {
    ShowPlayerDialog(playerid,DIALOG_FRAK,DIALOG_STYLE_LIST,"Fraktionswahl","LSPD\nMafia\nMedics\nBallas","Auswählen","Abbrechen");
    PlayerMoney[playerid] = PlayerMoney[playerid]-50000;
    UpdateMoney();
    }
    else{SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");}
    }
    if(response==0)
    {
    SendClientMessage(playerid,HELLGRÜN,"Denke daran, du kannst immer wann du willst einen Frakchange machen");
    }
    }



    Ich hoffe es kann mir wer helfen^^
    Falls ihr den Deagle Befehl sehen wollt, reinschreiben.



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

  • Veruch es mal mit

    if(dialogid==DIALOG_FRAKCHANGE)
    {
    if(response == 1)
    {
    if(GetPlayerMoney(playerid) > 49999)
    {
    ShowPlayerDialog(playerid,DIALOG_FRAK,DIALOG_STYLE_LIST,"Fraktionswahl","LSPD\nMafia\nMedics\nBallas","Auswählen","Abbrechen");
    GivePlayerMoney[playerid] = GivePlayerMoney[playerid]-50000;
    UpdateMoney();
    }
    else{SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");}
    }
    if(response==0)
    {
    SendClientMessage(playerid,HELLGRÜN,"Denke daran, du kannst immer wann du willst einen Frakchange machen");
    }
    }

  • Bringt mir ungefähr so viel:



    C:\Users\Ramin\Desktop\Dm Mode\gamemodes\tutorial.pwn(574) : error 028: invalid subscript (not an array or too many subscripts): "GivePlayerMoney"
    C:\Users\Ramin\Desktop\Dm Mode\gamemodes\tutorial.pwn(574) : warning 215: expression has no effect
    C:\Users\Ramin\Desktop\Dm Mode\gamemodes\tutorial.pwn(574) : error 001: expected token: ";", but found "]"
    C:\Users\Ramin\Desktop\Dm Mode\gamemodes\tutorial.pwn(574) : error 029: invalid expression, assumed zero
    C:\Users\Ramin\Desktop\Dm Mode\gamemodes\tutorial.pwn(574) : fatal error 107: too many error messages on one line



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

  • und so ??ß


  • Es heißt GivePlayerMoney(playerid, -50000); Und nein,es funktioniert nicht. Das hab ich selbstverständlich auch schon probiert.




    //Edit: Jetzt klappts auf einmal auch nicht mit der Desert Eagle...andere Varianten werden auch angenommen!



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

    Einmal editiert, zuletzt von Ramino ()

  • Versuch es mal mit
    PlayerMoney[playerid] -= 50000;


    /EDIT: Hier der Code wie es gehen müsste:
    if(dialogid==DIALOG_FRAKCHANGE)
    {
    if(response == 1)
    {
    if(PlayerMoney[playerid] > 49999)
    {
    ShowPlayerDialog(playerid,DIALOG_FRAK,DIALOG_STYLE_LIST,"Fraktionswahl","LSPD\nMafia\nMedics\nBallas","Auswählen","Abbrechen");
    PlayerMoney[playerid] -= 50000;
    UpdateMoney();
    }
    else SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    }
    if(response==0)
    {
    SendClientMessage(playerid,HELLGRÜN,"Denke daran, du kannst immer wann du willst einen Frakchange machen");
    }
    }


    LG, Zunno

  • Hm, ne klappt auch nicht. Das Geld geht in den Minusbereich und erst ab dann wird korrekt abgezogen.



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

    Einmal editiert, zuletzt von Ramino ()

  • Die Funktion hab ich auch so böse wie ich, einfach aus nem anderen Script genommen, weil der Server das Geld nicht aktualisiert hat.Heißt: Wenn man sich was gekauft hat, dann stand immernoch dieselbe Geldzahl da:


    Funktion:



    public UpdateMoney()
    {
    new i, j;
    for (i = 0, j = MAX_PLAYERS; i < j; i++)
    {
    if(GetPlayerMoney(i) > PlayerMoney[i])
    {
    new moneydif;
    moneydif = GetPlayerMoney(i)-PlayerMoney[i];
    GivePlayerMoney(i, - moneydif);
    }
    else if(GetPlayerMoney(i) < PlayerMoney[i])
    {
    if(IsPlayerInAnyVehicle(i))
    {
    if(GetPlayerInterior(i) == 1 || GetPlayerInterior(i) == 3)
    {
    PlayerMoney[i] = GetPlayerMoney(i);
    }
    else
    {
    new moneydif;
    moneydif = PlayerMoney[i]-GetPlayerMoney(i);
    GivePlayerMoney(i, moneydif);
    }
    }
    else
    {
    new moneydif;
    moneydif = PlayerMoney[i]-GetPlayerMoney(i);
    GivePlayerMoney(i, moneydif);
    }
    }
    }
    }




    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.