führeschein

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 leute,
    ich bin dabei für jemanden ein füuhrerschein zu scripten nur bin ich leider nich nicht so erfahren ich send mal die codes:



    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/fuhrer/%s.txt",name);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    savefu(playerid);
    return 1;
    }




    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(!IsPlayerFuhrer(playerid,1))return RemovePlayerFromVehicle(playerid);
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 7654)
    {
    if(response)
    {
    if(listitem == 0)
    {
    new pID;
    new rank;
    GivePlayerMoney(playerid, -50000);//geld anpassem
    SendClientMessage(playerid,ROT,"You've bought a ...");
    SetPVarInt(pID,"führerschein",rank);
    SpielerSpeichern(pID);
    }
    }
    }
    return 1;
    }
    stock IsPlayerFuhrer(playerid,rang)
    {
    if(GetPVarInt(playerid,"führerschein")>=rang)return 1;
    return 0;
    }
    stock savefu(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/fuhrer/%s.txt",name);
    dini_IntSet(Spielerdatei,"führerschein",GetPVarInt(playerid,"führerschein"));


    }
    return 1;
    }
    stock loadfu(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/fuhrer/%s.txt",name);
    SetPVarInt(playerid,"führerschein",dini_Int(Spielerdatei,"führerschein"));
    return 1;
    }



    ocmd:fuehrerschein(playerid,params[])
    {


    if(IsPlayerFuhrer(playerid,1))return SendClientMessage(playerid,ROT,"Du hast schon den führershein!");

    ShowPlayerDialog(playerid,7654,DIALOG_STYLE_LIST,"Führerschein","Führerschein kaufen","Ok","Cancel");
    return 1;
    }

    //edit das problem ist dass zum einen die datei nicht erstllet wird im ordner fuhrer und zweitens man kann immer /fuehrerschein machen


  • Why ne Funktion ins nichts? :D


    public OnPlayerConnect(playerid)
    {
    /* new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/fuhrer/%s.txt",name);*/ // Funktion ins nichts -.-
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    savefu(playerid);
    return 1;
    }




    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(!IsPlayerFuhrer(playerid,1))return RemovePlayerFromVehicle(playerid);
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 7654)
    {
    if(response)
    {
    if(listitem == 0)
    {
    new pID;
    new rank;
    GivePlayerMoney(playerid, -50000);//geld anpassem
    SendClientMessage(playerid,ROT,"You've bought a ...");
    SetPVarInt(pID,"führerschein",rank);
    SpielerSpeichern(pID);
    }
    }
    }
    return 1;
    }
    /*stock IsPlayerFuhrer(playerid,rang)
    {
    if(GetPVarInt(playerid,"führerschein")>=rang)return 1;
    return 0;
    }*/
    stock savefu(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/fuhrer/%s.txt",name);
    if(!dini_Exists(Spielerdatei))return dini_Create(Spielerdatei);
    dini_IntSet(Spielerdatei,"führerschein",GetPVarInt(playerid,"führerschein"));


    }
    return 1;
    }
    stock loadfu(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/fuhrer/%s.txt",name);
    if(!dini_Exists(Spielerdatei))return dini_Create(Spielerdatei);
    SetPVarInt(playerid,"führerschein",dini_Int(Spielerdatei,"führerschein"));
    return 1;
    }



    ocmd:fuehrerschein(playerid,params[])
    {


    if(GetPVarInt(playerid,"führerschein") == 1)return SendClientMessage(playerid,FARBE,"Du hast bereits den Führerschein!");
    ShowPlayerDialog(playerid,7654,DIALOG_STYLE_LIST,"Führerschein","Führerschein kaufen","Ok","Cancel");
    return 1;
    }

  • das ist ja meine frage :S
    hier als ich das anders versucht habe:

    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
    dini_IntSet(Spielerdatei,"führerschein",GetPVarInt(playerid,"führerschein"));


    }
    return 1;
    }
    //und
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"führerschein",dini_Int(Spielerdatei,"führerschein"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    //edit oh doch es wird angezeigt dann ist jetzt mein problem dass man nicht vom auto geschmissen wird wenn man ohne führerschein reingeht und man immer /fuehrerschein machen kann und der dialog tacuht auf
    //edit2 mir fällt gerade auf was ich falsh gemachhthabe ich probs mal


    //edit 3 doch nicht
    //edit$ :D wie mache ich das der den rang 1 führerschein bekommt?

    Einmal editiert, zuletzt von Nixon ()

  • erstmak vielen dank mastho jetzt habe ich aber nich das problem dass wenn ich in ein fahrzeug gehe dass ich immer in ein fahrzeug gehen kann auch wenn ich kein führerscehin habe


    //edit das hier wäre der code unter onplayerentervehicle:

    if(!IsPlayerFuhrer(playerid,1))return RemovePlayerFromVehicle(playerid);


    //edit 2 bitte versuchts wenigstens