[help]
#2

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if (oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER && DMVTest[playerid] == 1 && vehicleid == dmvcar) SetVehicleParamsForPlayer(dmvcar,playerid,0,0);
    if (oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER && DMVTest[playerid] == 1 && vehicleid == dmvcar2) SetVehicleParamsForPlayer(dmvcar2,playerid,0,0);
    if (oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER && DrivingLicense[playerid] == 0 && DMVTest[playerid] == 0)
    {
      SendClientMessage(playerid,RED,"Warning: you might get caught for driving without a real driving license!");
      new star = GetPlayerWantedLevel(playerid);
      SetPlayerWantedLevel(playerid,star+1);
    }
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    switch(DMVCP[playerid])
    {
      case -1:
        {
          ShowMenuForPlayer(dmvoption[playerid],playerid);
        TogglePlayerControllable(playerid,0);
        }
      case 0:
        {
            if(!IsPlayerInVehicle(playerid,dmvcar))
            {
              SendClientMessage(playerid,RED,"You're not in the Admiral car!");
            }
            else
            {
              DisablePlayerCheckpoint(playerid);
              DMVCP[playerid]++;
              SetPlayerCheckpoint(playerid,DrivingSchoolCP[1][0],DrivingSchoolCP[1][1],DrivingSchoolCP[1][2],5.0);
              DMVCount[playerid] = 1;
              DMVT = SetTimerEx("DrivingTestCount",1000,0,"d",playerid);
              DMVT2 = SetTimerEx("DrivingTestCount2",1000,0,"d",playerid);
            }
        }
        case 1..26:
        {
          if(!IsPlayerInVehicle(playerid,dmvcar))
            {
              SendClientMessage(playerid,RED,"You're not in the Admiral car!");
            }
            else
            {
              DisablePlayerCheckpoint(playerid);
              SetPlayerCheckpoint(playerid,DrivingSchoolCP[DMVCP[playerid]+1][0],DrivingSchoolCP[DMVCP[playerid]+1][1],DrivingSchoolCP[DMVCP[playerid]+1][2],5.0);
              DMVCP[playerid]++;
            }
        }
        case 27:
        {
          new Float:VehHealth;
          new string[128];
          GetVehicleHealth(GetPlayerVehicleID(playerid),VehHealth);
          if (VehHealth < MINVEHHP)
            {
                SendClientMessage(playerid,RED,"You failed the test: you weren't driving safely!");
                DrivingLicense[playerid] = 0;
                DisablePlayerCheckpoint(playerid);
                DMVCP[playerid] = -1;
                format(string, sizeof(string), "Time: %d",DrivingTestTime[playerid]);
                SendClientMessage(playerid,YELLOW,string);
            DMVTest[playerid] = 0;
                KillTimer(DMVT);
                SetPlayerCheckpoint(playerid,-2037.1954,-94.4220,35.1641,2.0);
            }
            else if (DrivingTestTime[playerid] > TooSlow)
            {
                SendClientMessage(playerid,RED,"You failed the test: you were driving too slow!");
                DrivingLicense[playerid] = 0;
                DisablePlayerCheckpoint(playerid);
                DMVCP[playerid] = -1;
                format(string, sizeof(string), "Time: %d",DrivingTestTime[playerid]);
                SendClientMessage(playerid,YELLOW,string);
            DMVTest[playerid] = 0;
                KillTimer(DMVT);
                SetPlayerCheckpoint(playerid,-2037.1954,-94.4220,35.1641,2.0);
            }
            else if (DrivingTestTime[playerid] < TooFast)
            {
                SendClientMessage(playerid,RED,"You failed the test: you were driving too fast!");
                DrivingLicense[playerid] = 0;
                DisablePlayerCheckpoint(playerid);
                DMVCP[playerid] = -1;
                format(string, sizeof(string), "Time: %d",DrivingTestTime[playerid]);
                SendClientMessage(playerid,YELLOW,string);
            DMVTest[playerid] = 0;
                KillTimer(DMVT);
                SetPlayerCheckpoint(playerid,-2037.1954,-94.4220,35.1641,2.0);
            }
            else if (DrivingTestTime[playerid] > TooFast && DrivingTestTime[playerid] < TooSlow)
            {
                SendClientMessage(playerid,GREEN,"You passed the first test!");
                DMVCP[playerid] = 28;
                DMVTest2Barrels(playerid);
                DisablePlayerCheckpoint(playerid);
                SetPlayerCheckpoint(playerid,DrivingSchoolCP[28][0],DrivingSchoolCP[28][1],DrivingSchoolCP[28][2],5.0);
                SetPlayerPos(playerid,-2046.157592, -109.187286, 35.234008);
            }

        }
        case 28,29:
        {
            if(!IsPlayerInVehicle(playerid,dmvcar2))
            {
              SendClientMessage(playerid,RED,"You're not in the Admiral car!");
            }
            else
            {
              DisablePlayerCheckpoint(playerid);
              SetPlayerCheckpoint(playerid,DrivingSchoolCP[DMVCP[playerid]+1][0],DrivingSchoolCP[DMVCP[playerid]+1][1],DrivingSchoolCP[DMVCP[playerid]+1][2],5.0);
              DMVCP[playerid]++;
              SetPlayerObjectRot(playerid,barrier, 0, 270.6185, 3.4377);
            }
        }
        case 30:
        {
          if(!IsPlayerInVehicle(playerid,dmvcar2))
            {
              SendClientMessage(playerid,RED,"You're not in the Admiral car!");
            }
            else
            {
                new string[256];
              DisablePlayerCheckpoint(playerid);
              DMVCP[playerid] = -1;
              SendClientMessage(playerid,GREEN,"You passed the driving test! Here's your license. Drive safely!");
              DrivingLicense[playerid] = 1;
                SendClientMessage(playerid,LIGHTBLUE,"You earned a driving license. ( /licenses )");
                SetPlayerCheckpoint(playerid,-2037.1954,-94.4220,35.1641,2.0);
                format(string, sizeof(string), "Total Time: %d",DrivingTestTime[playerid]);
                SendClientMessage(playerid,YELLOW,string);
                DMVTest[playerid] = 0;
                KillTimer(DMVT);
            }
        }
    }
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    new Menu:Current = GetPlayerMenu(playerid);
    if (Current == dmvoption[playerid])
    {
        switch (row)
        {
          case 0:
            {
                if (GetPlayerMoney(playerid) < DrivingTestCash)
                {
                    SendClientMessage(playerid,RED,"You don't have enough cash");
                    ShowMenuForPlayer(dmvoption[playerid],playerid);
                    return 1;
                }
                if (DrivingLicense[playerid] == 1)
                {
                  SendClientMessage(playerid,RED,"You already have a license!");
                  return 1;
                }
                GivePlayerMoney(playerid,-DrivingTestCash);
                SetPlayerPos(playerid,-2027.8353, -98.8884, 35.1642);
                SetPlayerFacingAngle(playerid,355);
                SetCameraBehindPlayer(playerid);
                DisablePlayerCheckpoint(playerid);
                SetPlayerCheckpoint(playerid,DrivingSchoolCP[0][0],DrivingSchoolCP[0][1],DrivingSchoolCP[0][2],5.0);
                SendClientMessage(playerid,GREEN,"Get ready!");
                DMVCP[playerid]=0;
                SetPlayerInterior(playerid,0);
                DMVTest[playerid] = 1;
                SetVehicleParamsForPlayer(dmvcar,playerid,1,0);
            }
          case 1: {DisablePlayerCheckpoint(playerid);SendClientMessage(playerid,RED,"Alright, come back again!");SetPlayerCheckpoint(playerid,-2033.396606, -117.458976, 1035.171875,2.0);DMVCP[playerid]=-1;DMVTest[playerid] = 0;}
        }
        TogglePlayerControllable(playerid,1);
        HideMenuForPlayer(dmvoption[playerid],playerid);
    }
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
  TogglePlayerControllable(playerid,1);
  SetPlayerCheckpoint(playerid,-2037.1954,-94.4220,35.1641,2.0);
  SetPlayerPos(playerid,-2029.798217, -113.841880, 1035.171875);
    return 1;
}

public DrivingTestCount(playerid)
{
    if (DMVTest[playerid] == 0)
    {
      KillTimer(DMVT);
    }
    else
    {
        DrivingTestTime[playerid]++;
        DMVT = SetTimerEx("DrivingTestCount",1000,0,"d",playerid);
    }
    return 1;
}

public DrivingTestCount2(playerid)
{
    new string[128];
    if (DMVTest[playerid] == 0) { KillTimer(DMVT2); DrivingTestTime[playerid] = 0; }
    else
    {
    format(string, sizeof(string), "%d",DrivingTestTime[playerid]);
    GameTextForPlayer(playerid,string,1500,6);
    DMVT2 = SetTimerEx("DrivingTestCount2",1000,0,"d",playerid);
    }
    return 1;
k now ill post fs 2
Reply


Messages In This Thread
[help] - by sggassasin - 07.08.2009, 15:55
Re: [help] - by sggassasin - 07.08.2009, 15:55
Re: [help] - by sggassasin - 07.08.2009, 15:56
Re: [help] - by saiberfun - 07.08.2009, 15:57
Re: [help] - by sggassasin - 07.08.2009, 15:59
Re: [help] - by MPKaboose - 07.08.2009, 15:59
Re: [help] - by saiberfun - 07.08.2009, 16:00
Re: [help] - by sggassasin - 07.08.2009, 16:01
Re: [help] - by MPKaboose - 07.08.2009, 16:11
Re: [help] - by sggassasin - 08.08.2009, 02:35

Forum Jump:


Users browsing this thread: 5 Guest(s)