Benötige Dringend Hilfe Bei Meiner Erweiterung Des Bus Systems

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
  • Einen Schönen Abend wünsche ich


    ich brauche mal eure hilfe / ratschlag


    ich habe ein bussystem erstellt (Selfmade) also erkläre mal bischen wie ichs habe wie ichs machen möchte


    ALso Habe Ein Cmd Erstellt /fare [preis] dann gibt er den preis an dann kommt Busfahrer qini ist im dienst Preis: den ich angeben habe z.b /fare 10
    dann busfahrer qini ist im dienst 10$


    nun kann ein bürger andrer spieler /service eingeben öffnet sich ein dialog dort steht dann busdienst drinne er klickt drauf und alle busfahrer werden informiert der und der
    hat einen bus gerufen marker wird erstellt die den busfahrer dann sehen wo sich der typ befindet nun will ich haben das wenn der bus fahrer dort ist und der typ einsteigt das der


    Marker weg geht und das der preis von 10$ abgezogen wird nur ich weiss net wie ichs machen soll.... aber es ist kein fester preis.. mann kann zwischen 1 und 15$ auswehlen wie würde ich das am besten machen?


    Danke an alle die andworten!


    Mfg QiniLein :)

  • Wie man am besten das Geld abrechned? Am besten wenn der Spieler einsteigt und als Passagier drinnen ist es abziehen und natürlich Abfragen vorher ob Busfahrer im Dienst ist. Was du benötigst von Samp her sind folgende Funktionen

    Wenn ich dich falsch verstanden habe bitte genauer erläutern ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • dcmd_fare(playerid,params[])
    {
    new name[MAX_PLAYER_NAME], s[128];
    new vehicleid = GetPlayerVehicleID(playerid);
    new preis = strval(strget(params, 0));
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"acc/%s.ini",name);
    new nj = dini_Int(s, "Nebenjob");
    if(!strlen(params)) return SendClientMessage(playerid,Dunkelgrün,"/fare [Preis]");
    if(preis < 1 || preis > 15) return SendClientMessage(playerid,Rot,"Der Fahrpreis muss zwischen 1$ und 15$ sein!");
    if(nj == 1)
    {
    if(IsBusCar(vehicleid))
    {
    format(s, sizeof(s), "Busfahrer %s ist im dienst Preis: %d$", name, preis);
    SendClientMessageToAll(Hellblau, s);
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du bist in keinem Bus!");
    }
    }
    else SendClientMessage(playerid, Rot, "Du bist kein Busfahrer!");
    return 1;
    }

  • Machs also einfach so:

    new gBusFahrer[MAX_VEHICLES]; //Siehe HIER
    new gBusFare[MAX_PLAYERS]; //Siehe HIER


    public OnGameModeInit()
    {
    for(new vehicles = 0; vehicles < MAX_VEHICLES; vehicles++)
    {
    gBusFahrer[vehicles] = -1; //Siehe HIER
    }
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    gBusFare[playerid] = 0; //Siehe HIER
    return 1;
    }


    dcmd_fare(playerid,params[])
    {
    new name[MAX_PLAYER_NAME], s[128];
    new vehicleid = GetPlayerVehicleID(playerid);
    new preis = strval(strget(params, 0));
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"acc/%s.ini",name);
    new nj = dini_Int(s, "Nebenjob");
    if(!strlen(params)) return SendClientMessage(playerid,Dunkelgrün,"/fare [Preis]");
    if(preis < 1 || preis > 15) return SendClientMessage(playerid,Rot,"Der Fahrpreis muss zwischen 1$ und 15$ sein!");
    if(nj == 1)
    {
    if(IsBusCar(vehicleid))
    {
    format(s, sizeof(s), "Busfahrer %s ist im dienst Preis: %d$", name, preis);
    SendClientMessageToAll(Hellblau, s);
    gBusFare[playerid] = preis; //Siehe HIER
    gBusFahrer[GetPlayerVehicleID(playerid)] = playerid; //Siehe HIER
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du bist in keinem Bus!");
    }
    }
    else SendClientMessage(playerid, Rot, "Du bist kein Busfahrer!");
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_PASSENGER && gBusFare[gBusFahrer[GetPlayerVehicleID(playerid)]] != 0 && IsBusCar(GetPlayerVehicleID(playerid)))
    {
    GivePlayerMoney(playerid, -gBusFare[gBusFahrer[GetPlayerVehicleID(playerid)]]);
    GivePlayerMoney(gBusFahrer[GetPlayerVehicleID(playerid)], gBusFare[gBusFahrer[GetPlayerVehicleID(playerid)]]);
    new string[128], busname[MAX_PLAYER_NAME];
    GetPlayerName(gBusFahrer[GetPlayerVehicleID(playerid)], busname, sizeof(busname));
    format(string, sizeof(string), "Du hast %s für den Busticket %d$ bezahlt!", busname, gBusFare[gBusFahrer[GetPlayerVehicleID(playerid)]]);
    SendClientMessage(playerid, 0xFFFFFF00, string);
    }
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT && gBusFare[playerid] != 0)
    {
    gBusFare[playerid] = 0;
    gBusFahrer[GetPlayerVehicleID(playerid)] = -1;
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

    Einmal editiert, zuletzt von Templer ()