Jump to content
  • 0

Problema /fare


Mark S.

Question

Problema intalnita (descriere): Nu merge /fare daca sunt in autobuz merge dar la taxiuri nu merge.
Ero(area / rile) / warning-(ul / urile): nu am
Liniile de cod / sursa / script-ul:

 

new TransportDuty[MAX_PLAYERS];

//////apoi asta
new newstate = GetPlayerState(playerid);
    if(newstate == PLAYER_STATE_PASSENGER) // TAXI & BUSSES
    {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
//        new vehicleid = GetPlayerVehicleID(playerid);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(IsPlayerInVehicle(i, vehicleid) && TransportDuty > 0)
                {
                    if(GetPlayerMoney(playerid) < TransportValue)
                    {
                        format(string, sizeof(string), "* You need $%d to enter.", TransportValue);
                        SendClientMessage(playerid, COLOR_WHITE, string);
                        SafeRemovePlayerFromVehicle(playerid);
                    }
                    else
                    {
                        format(string, sizeof(string), "* Ai platit $%d soferului.", TransportValue);
                        SendClientMessage(playerid, COLOR_WHITE, string);
                        format(string, sizeof(string), "* Pasagerul %s a intrat in masina.", name);
                        SendClientMessage(i, COLOR_WHITE, string);
                        SafeGivePlayerMoney(playerid, - TransportValue);
                        TransportMoney += TransportValue;
                    }
                }
            }
        }
    }
////// onplayerconnect
TransportDuty[playerid] = 0;
/////onplayerdisconnect
    if(TransportDuty[playerid] == 1)
    {
        TaxiDrivers -= 1;
    }
    else if(TransportDuty[playerid] == 1)
    {
        BusDrivers -= 1;
    }

///onplayerstatechange
 if(TransportDuty[playerid] > 0)
        {
            if(TransportDuty[playerid] == 1)
            {
                TaxiDrivers -= 1;
            }
            else if(TransportDuty[playerid] == 1)
            {
                BusDrivers -= 1;
            }
            TransportDuty[playerid] = 0;
            format(string, sizeof(string), "* You are now Off Duty and earned $%d.", TransportMoney[playerid]);
            SendClientMessage(playerid, COLOR_WHITE, string);
            SafeGivePlayerMoney(playerid, TransportMoney[playerid]);
            /*ConsumingMoney[playerid] = 1;*/
            TransportValue[playerid] = 0;
            TransportMoney[playerid] = 0;
            SetPlayerToTeamColor(playerid);
        }
        if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
        {
            if(IsPlayerConnected(TransportDriver[playerid]))
            {
                TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
                TransportTime[TransportDriver[playerid]] = 0;
                TransportCost[TransportDriver[playerid]] = 0;
                format(string, sizeof(string), "~w~The ride cost~n~~r~$%d",TransportCost[playerid]);
                GameTextForPlayer(playerid, string, 5000, 1);
                format(string, sizeof(string), "~w~Passenger left the taxi~n~~g~Earned $%d",TransportCost[playerid]);
                GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
                SafeGivePlayerMoney(playerid, -TransportCost[playerid]);
                TransportCost[playerid] = 0;
                TransportTime[playerid] = 0;
                TransportDriver[playerid] = 999;
            }
        }
if(newstate == PLAYER_STATE_PASSENGER) // TAXI & BUSSES
    {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        new vehicleid = GetPlayerVehicleID(playerid);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2 && TransportDuty > 0)
                {
                    if(GetPlayerMoney(playerid) < TransportValue)
                    {
                        format(string, sizeof(string), "* You need $%d to enter.", TransportValue);
                        SendClientMessage(playerid, COLOR_WHITE, string);
                        SafeRemovePlayerFromVehicle(playerid);
                    }
                    else
                    {
              /*          if(TransportDuty == 1)
                        {
                            format(string, sizeof(string), "* You paid $%d to the Taxi Driver.", TransportValue);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                            format(string, sizeof(string), "* Passenger %s has entered your Taxi.", name);
                            SendClientMessage(i, COLOR_WHITE, string);
                            TransportTime = 1;
                            TransportTime[playerid] = 1;
                            TransportCost[playerid] = TransportValue;
                            TransportCost = TransportValue;
                            TransportDriver[playerid] = i;
                        }
                        else if(TransportDuty == 2)
                 */  //     {
                        format(string, sizeof(string), "* Ai platit $%d soferului.", TransportValue);
                        SendClientMessage(playerid, COLOR_WHITE, string);
                        format(string, sizeof(string), "* Pasagerul %s a intrat in masina.", name);
                        SendClientMessage(i, COLOR_WHITE, string);
                  //      }
                        SafeGivePlayerMoney(playerid, - TransportValue);
                        TransportMoney += TransportValue;
                    }
                }
            }
        }

si /fare
    if(strcmp(cmd,"/fare",true)==0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pJob] == 13 || PlayerInfo[playerid][pJob] == 14 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10)
            {
                if(TransportDuty[playerid] > 0)
                {
                    if(TransportDuty[playerid] == 1)
                    {
                        TaxiDrivers -= 1;
                    }
                    else if(TransportDuty[playerid] == 1)
                    {
                        BusDrivers -= 1;
                    }
                    TransportDuty[playerid] = 0;
                    format(string, sizeof(string), "* You are now Off Duty and earned $%d.", TransportMoney[playerid]);
                    SendClientMessage(playerid, COLOR_WHITE, string);
                    SafeGivePlayerMoney(playerid, TransportMoney[playerid]);
                    ConsumingMoney[playerid] = 1;
                    TransportValue[playerid] = 0;
                    TransportMoney[playerid] = 0;
                    return 1;
                }
                new Veh = GetPlayerVehicleID(playerid);
                new model = GetVehicleModel(Veh);
            /*    if(model == 123312 || model == 42012 || model == 11272 || model == 41253)
                {
                    if(GetPlayerState(playerid) == 2)
                    {
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
                        {
                            SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fare [price]");
                            return 1;
                        }
                        moneys = strval(tmp);
                        if(moneys < 1 || moneys > 999) { SendClientMessage(playerid, COLOR_GREY, "   Fare price must be between $1 and $999 !"); return 1; }
                        TaxiDrivers += 1; TransportDuty[playerid] = 2; TransportValue[playerid] = moneys;
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        format(string, sizeof(string), "[Advert] Taxi Driver %s is On Duty, /call 444 to call a taxi driver. Fare: $%d.", sendername, TransportValue[playerid]);
                        OOCNews(0xEDCA29AA,string);
                        SetPlayerToTeamColor(playerid);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   You are not the Driver !");
                        return 1;
                    }
                }
                else */if(model == 437 || model == 431 || model == 438 || model == 420)
                {
                    if(GetPlayerState(playerid) == 2)
                    {
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
                        {
                            SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fare [price]");
                            return 1;
                        }
                        moneys = strval(tmp);
                        if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, "   Fare price must be between $1 and $99999 !"); return 1; }
                        TransportDuty[playerid] = 2;
                        BusDrivers += 1; TransportDuty[playerid] = 1; TransportValue[playerid] = moneys;
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        format(string, sizeof(string), "Soferul %s este la datorie ca taximetrist, fare: $%d.", sendername, TransportValue[playerid]);
                        OOCNews(TEAM_GROVE_COLOR,string);
                        SetPlayerToTeamColor(playerid);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   You are not the Driver !");
                        return 1;
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   You are not in a Taxi / Bus !");
                }
            }
            else
            {
                SendClientMessage(playerid,COLOR_GREY,"   You are not a Taxi / Bus Driver !");
                return 1;
            }
        }
        return 1;
     }


 

 

Este modificat de mine in mare parte

 

 

 

Imagini / Video (optional):
Ati incercat sa rezolvati singur?: da am incerca mult si in zadar

Link to comment
Share on other sites

Recommended Posts

  • 0
    if(strcmp(cmd, "/fare", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
             if(PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10)
            {
                if(TransportDuty[playerid] > 0)
                {
                    if(TransportDuty[playerid] == 1)
                    {
                        TaxiDrivers -= 1;
                    }
                    TransportDuty[playerid] = 0;
                    format(string, sizeof(string), "* Acum numai esti la servici, ai castigat $%d pentru munca depusa.", TransportMoney[playerid]);
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                    SafeGivePlayerMoney(playerid, TransportMoney[playerid]);
                    ConsumingMoney[playerid] = 1; TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
                    return 1;
                }
                new Veh = GetPlayerVehicleID(playerid);
                new ass = GetVehicleModel(Veh);
                if(ass == 438 || ass == 420)
                {
                    if(GetPlayerState(playerid) == 2)
                    {
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
                        {
                            SendClientMessage(playerid,COLOR_RED,"/fare [price]");
                            return 1;
                        }
                        moneys = strval(tmp);
                        if(moneys < 1 || moneys > 500)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Pretul (Fare) trebuie sa fie cuprins intre $1 si $500 !");
                            return 1;
                        }
                        TaxiDrivers += 1;
                        TransportDuty[playerid] = 1;
                        TransportValue[playerid] = moneys;
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        format(string, sizeof(string), "Taximetristul %s este la servici, pret: $%d. Daca ai nevoie de un taxi, scrie /service", sendername, TransportValue[playerid]);
                        OOCNews(TEAM_GROVE_COLOR,string);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Nu esti taximetrist!");
                        return 1;
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "Nu esti intr-un taxi!");
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "Nu esti taximetrist sau sofer pe autobuz!");
                return 1;
            }
        }
        return 1;
     }
Link to comment
Share on other sites

  • 0

Incearca

if(strcmp(cmd,"/fare",true)==0)
    {
        if(IsPlayerConnected(playerid))
        {

                new Veh = GetPlayerVehicleID(playerid);
                new mm = GetVehicleModel(Veh);
                if(TransportDuty[playerid] > 0)
                {
                    if(TransportDuty[playerid] == 1)
                    {
                        TaxiDrivers -= 1;
                    }
                    else if(TransportDuty[playerid] == 2)
                    {
                        BusDrivers -= 1;
                    }
                    TransportDuty[playerid] = 0;
                    format(string, sizeof(string), "* Ai iesit din slujba si ai castigat $%d.", TransportMoney[playerid]);
                    SendClientMessage(playerid, COLOR_WHITE, string);
                    SafeGivePlayerMoney(playerid, TransportMoney[playerid]);
                    TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
                    return 1;
                }
                if(PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10)
                {
                    if(mm == 438 || mm == 420)// Astea snt id-urile de la masini.
                    {
                        if(GetPlayerState(playerid) == 2)
                        {
                            tmp = strtok(cmdtext, idx);
                            if(!strlen(tmp))
                            {
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, ">>{FFFFFF}UTILIZEAZA: /fare [pret]");
                                return 1;
                            }
                            moneys = strval(tmp);
                            if(moneys < 1 || moneys > 10) { SendClientMessage(playerid, COLOR_GREY, "   Pretul trebuie sa fie intre $1 si $10 !"); return 1; }
                            TaxiDrivers += 1; TransportDuty[playerid] = 1; TransportValue[playerid] = moneys;
                            GetPlayerName(playerid,sendername,sizeof(sendername));
                            format(string, sizeof(string), "[ANUNT] Taximetristul %s a intrat pe traseu, /call 444 pentru a chema un taxi. Pret: $%d.", sendername, TransportValue[playerid]);
                            OOCNews(0xEDCA29AA,string);
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Nu esti soferul !");
                            return 1;
                        }
                    }
                }
                if(mm == 437) // Aici la fel
                {
                    if(GetPlayerState(playerid) == 2)
                    {
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
                        {
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, ">>{FFFFFF}UTILIZEAZA: /fare [pret]");
                            return 1;
                        }
                        moneys = strval(tmp);
                        if(moneys < 1 || moneys > 250) { SendClientMessage(playerid, COLOR_GREY, "   Biletul trebuie sa fie intre $1 si $250 !"); return 1; }
                        BusDrivers += 1; TransportDuty[playerid] = 2; TransportValue[playerid]= moneys;
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        format(string, sizeof(string), "Soferul de autocar %s a setat pretul excursiei, pret: $%d.", sendername, TransportValue[playerid]);
                        OOCNews(TEAM_GROVE_COLOR,string);
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nu esti soferul !");
                        return 1;
                    }
                }
                else
                {
                    SendClientMessage(playerid,COLOR_GREY,"   Nu esti Intr-un taxi sau autocar !");
                    return 1;
                }
        }
        return 1;
     }

 

 

Link to comment
Share on other sites

  • 0
Adrian_Petre Acum cu aceasta comanda scrie sunt la datorie pentru 10 dolari .... ... si imediat sub mai zice si ca nu sunt intrun autocar sau taxi. Altui player care e pe server  ii scrie mesaju ca e la datorie x pentru y$ si cand se urca nu se intampla nimic, deci acelasi lucru face ca inainte doar ca acum apare si mesajul ca nu sunt in taxi/autocar....
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.