[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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

  • public OnGameModeExit()
    {
    new fkasse[100];
    format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    if(dini_Exists(fkasse))
    {
    dini_IntSet(fkasse,"Grove",Kasse[Grove]);
    }



    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))
    {
    sSpieler[i][sLogin] = 0;
    SpielerSpeichern(i);
    aDuty[i] = 0;
    LieferantStart[i] = 0;
    LieferantLieferschein[i] = 0;
    PilotWare[i] = 0;
    Mute[i] = 0;
    Fahrschule[i] = 0;
    Automiete[i] = 0;
    GmbHWarenLSPD[i] = 0;
    }
    }
    return 1;
    }


    C:\Users\PM\Desktop\SA-MP Server\gamemodes\selfmade.pwn(415) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase




    1 Warning.

  • Beitrag von NoxiZ ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Problem selbst gefunden trotzdem danke ().
  • Gut nächstes problem!
    ich habe alle für die Fraktionskassen im Script nun funktionieren aber alle commands mit integern nichtmehr.
    wenn ich z.b. mich zum ballas leader machen will mit /makeleader 0 2 werd ich in die fraktion mit wert 1 gesetzt.
    außerde funktionier die funktion if(pid == INVALID_PLAYER_ID) nichtmehr, weil dort mit return der befehl trotzdem ausgeführt wird.


    ich poste mal alles was mit dem frakkassen zutun hat, vlt ist da ein gravierender fehler drin:



    enum Fraktionskassen
    {
    Grove,
    Ballas,
    LSPD,
    LSMD,
    FS,
    Transport
    };
    new Kasse[Fraktionskassen];


    public OnGameModeInit()
    {
    SetGameModeText("Selfmade");
    DisableInteriorEnterExits(); //Deaktiviert alle Interiors
    UsePlayerPedAnims(); //Aktiviert CJ Walkstyle für alle Skins
    EnableStuntBonusForAll(0); //Deaktiviert den Stuntbonus für alle Spieler

    new fkasse[100];
    format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    if(dini_Exists(fkasse))
    {
    Fkasseladen();
    print("Fraktionskassen.txt wurde geladen!");
    }
    else
    {
    CreateFkasse();
    }


    public OnGameModeExit()
    {
    Fkassespeichern();


    ocmd:fkasse(playerid,params[])
    {
    new leader[256];
    new geldgs = Kasse[Grove],geldbs = Kasse[Ballas],geldpd = Kasse[LSPD],geldmd = Kasse[LSMD],geldfs = Kasse[FS], geldgmbh = Kasse[Transport];
    if(sSpieler[playerid][Leader] < 1) return SendClientMessage(playerid,FehlerRot,"Du bist kein Leader!");
    if(sSpieler[playerid][Leader] == 1)
    {
    Kasse[Grove] = geldgs;
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgs);
    SendClientMessage(playerid,FrakGrau,leader);
    }
    if(sSpieler[playerid][Leader] == 2)
    {
    Kasse[Grove] = geldbs;
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldbs);
    SendClientMessage(playerid,FrakGrau,leader);
    }
    if(sSpieler[playerid][Leader] == 3)
    {
    Kasse[Grove] = geldpd;
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldpd);
    SendClientMessage(playerid,FrakGrau,leader);
    }
    if(sSpieler[playerid][Leader] == 4)
    {
    Kasse[Grove] = geldmd;
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldmd);
    SendClientMessage(playerid,FrakGrau,leader);
    }
    if(sSpieler[playerid][Leader] == 5)
    {
    Kasse[Grove] = geldfs;
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldfs);
    SendClientMessage(playerid,FrakGrau,leader);
    }
    if(sSpieler[playerid][Leader] == 6)
    {
    Kasse[Grove] = geldgmbh;
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgmbh);
    SendClientMessage(playerid,FrakGrau,leader);
    }
    return 1;
    }


    //FRAKTIONSKASSEN
    stock CreateFkasse()
    {
    new fkasse[100];
    format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    dini_Create(fkasse);
    dini_IntSet(fkasse,"Grove",0);
    dini_IntSet(fkasse,"Ballas",0);
    dini_IntSet(fkasse,"LSPD",0);
    dini_IntSet(fkasse,"LSMD",0);
    dini_IntSet(fkasse,"Fahrschule",0);
    dini_IntSet(fkasse,"Transport GmbH",0);
    return 1;
    }



    stock Fkassespeichern()
    {
    new fkasse[100];
    format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    if(dini_Exists(fkasse))
    {
    dini_IntSet(fkasse,"Grove",Kasse[Grove]);
    dini_IntSet(fkasse,"Ballas",Kasse[Ballas]);
    dini_IntSet(fkasse,"LSPD",Kasse[LSPD]);
    dini_IntSet(fkasse,"LSMD",Kasse[LSMD]);
    dini_IntSet(fkasse,"Fahrschule",Kasse[FS]);
    dini_IntSet(fkasse,"Transport GmbH",Kasse[Transport]);
    }
    return 1;
    }



    stock Fkasseladen()
    {
    new fkasse[100];
    format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    if(dini_Exists(fkasse))
    {
    Kasse[Grove] = dini_Int(fkasse,"Grove");
    Kasse[Ballas] = dini_Int(fkasse,"Ballas");
    Kasse[LSPD] = dini_Int(fkasse,"LSPD");
    Kasse[LSMD] = dini_Int(fkasse,"LSMD");
    Kasse[FS] = dini_Int(fkasse,"Fahrschule");
    Kasse[Transport] = dini_Int(fkasse,"Transport GmbH");
    }
    return 1;
    }


    da muss was sein, weil die commands vor dem einfügen dieser zeilen einwandfrei funktioniert haben.


  • ocmd:fkasse(playerid,params[])
    {
    new leader[256];
    new geldgs = Kasse[Grove],geldbs = Kasse[Ballas],geldpd = Kasse[LSPD],geldmd = Kasse[LSMD],geldfs = Kasse[FS], geldgmbh = Kasse[Transport];
    if(sSpieler[playerid][Leader] < 1) return SendClientMessage(playerid,FehlerRot,"Du bist kein Leader!");
    if(sSpieler[playerid][Leader] == 1)
    {
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgs);
    SendClientMessage(playerid,FrakGrau,leader);
    return 1;
    }
    else if(sSpieler[playerid][Leader] == 2)
    {
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldbs);
    SendClientMessage(playerid,FrakGrau,leader);
    return 1;
    }
    else if(sSpieler[playerid][Leader] == 3)
    {
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldpd);
    SendClientMessage(playerid,FrakGrau,leader);
    return 1;
    }
    else if(sSpieler[playerid][Leader] == 4)
    {
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldmd);
    SendClientMessage(playerid,FrakGrau,leader);
    return 1;
    }
    else if(sSpieler[playerid][Leader] == 5)
    {
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldfs);
    SendClientMessage(playerid,FrakGrau,leader);
    return 1;
    }
    else if(sSpieler[playerid][Leader] == 6)
    {
    format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgmbh);
    SendClientMessage(playerid,FrakGrau,leader);
    }
    return 1;
    }


    schreib mir mal eine PN ich helfe dir gerne


    LG,
    Genadj_Andrenov

    ...Lerne C#, JS für RageMP...

  • Hey, du hast bei OnGameModeExit die Klammer } nicht. genauso wie bei OnGameModeInit.

    Ich bin wieder da, MoFogga


    You're not completely useless. You can always serve as a bad example!

  • Beitrag von psyk. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hey,
    wenn ich es so einstelle, dass man Leute auf der MiniMap sehen kann habe ich das Problem, dass die Bots auch angezeigt werden in der Farbe. Weiß jemand zufällig wie ich dies beheben kann? Und zudem wie stelle ich die Farbe "Transparent" auf der Minimap beim normalen User ein?


    Mfg
    Drake.

    Mit freundlichen Grüßen,
    psyk.

  • Yo, wieso lässt sich nur ID 0 von der Datenbank editieren?



    stock GetClosestTree(playerid)
    {
    for(new i = 0; i < MAX_TREES; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, TREE_RANGE, TreeInfo[i][Tree_X], TreeInfo[i][Tree_Y], TreeInfo[i][Tree_Z]) && TreeInfo[i][Tree_Editmode] == 1)
    {
    SetPlayerProgressBarValue(playerid, CutProgressBar[playerid], TreeInfo[i][Tree_HP]);
    return i;
    }
    i++;
    }
    return -1;
    }



    CMD:editbaum(playerid, params[])
    {
    if(!IsPlayerAdmin(playerid))
    {
    return SendClientMessage(playerid, TREE_RED, "Du darfst diesen Befehl nicht benutzen!");
    }
    new id = GetClosestTree(playerid);



    if(id != -1)
    {
    DestroyDynamic3DTextLabel(TreeInfo[id][Tree_Label_ID]);
    PlayerBank[playerid][pEditingID] = id;
    SendClientMessage(playerid, TREE_RED, "{FFFF00}~k~~PED_SPRINT~{FFFFFF} halten um die Kamerasicht zu ändern."); //Taste wird von Spielereinstellung erkannt, nicht ändern!
    EditDynamicObject(playerid, TreeInfo[id][Tree_Object]);
    return 1;
    }

    else
    {
    SendClientMessage(playerid, TREE_RED, "Du musst in der Nähe von einem Baum sein um es editieren zu können!");
    }
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Warum hast du da 2x i++?
    Du überspringst somit immer einen Baum.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Hey, kann mir jemand sagen warum mir der Dialog nicht angezeigt wird?

  • Versuchs mal so:

    if(newstate == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    new header[64], DialogString[4096];
    for(new i = 0; i < sizeof(pCarshop); i++)
    {
    if(pCarshop[i][shopVehicleID] != vehicleid)
    continue;

    format(header, sizeof(header), "{FFFFFF}%s", Fahrzeugname[pCarshop[i][shopModelID] - 400]);
    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), "{247BA6}Fahrzeugpreis:{FFFFFF} %s\nKraftstoffverbrauch: {FFFFFF}Coming Soon\n{247BA6}Tankfassungsvermögen: {FFFFFF}Coming Soon\n{247BA6}Mindestlevel: {FFFFFF}Coming Soon\n{247BA6}KFZ Steuer: {FFFFFF}Coming Soon", pCarshop[i][shopPrice]);
    }
    ShowPlayerDialog(playerid, DIALOG_CARSHOP, DIALOG_STYLE_MSGBOX, header, DialogString, "Kaufen", "Aussteigen");
    }

  • Code
    if(IsPlayerDesktop(i))
    		{
    			new Temp[32];
    			format(Temp, 32, "%s ist seit %i Sekunden im Menü.", Playername(i), pInfo[i][pDesktopTime]);
    			SetPlayerChatBubble(i, Temp, 0xAA3333FF, 10.0, 1200);
    		}

    Hey, auf wieviel muss man das setzen...?


    bei 10000 geht es nur Name ist seit .. Sekunden im


    das Menü zeigt er nicht

  • Code
    if(IsPlayerDesktop(i))
    		{
    			new Temp[32];
    			format(Temp, 32, "%s ist seit %i Sekunden im Menü.", Playername(i), pInfo[i][pDesktopTime]);
    			SetPlayerChatBubble(i, Temp, 0xAA3333FF, 10.0, 1200);
    		}

    Hey, auf wieviel muss man das setzen...?


    bei 10000 geht es nur Name ist seit .. Sekunden im


    das Menü zeigt er nicht

    Mach mal so:

    if(IsPlayerDesktop(i))
    {
    new Temp[64];
    format(Temp, sizeof(Temp), "%s ist seit %i Sekunden im Menü.", Playername(i), pInfo[i][pDesktopTime]);
    SetPlayerChatBubble(i, Temp, 0xAA3333FF, 10.0, 1200);
    }