Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±

    Вопрос про авто

    Добрый день делал на сервер автомобили такси/автобусы

    на пример: Работа такси pJob = 2

    я не работаю в такси у меня pJob = 0 я сажусь в машину такси и легко катаюсь на ней меня не выкидывает и надпись не появляется "Вы не таксист" Помогите вот код полный

    PHP код:
    public OnPlayerStateChange(playeridnewstateoldstate)
    {
        
    Freeze[playerid] = 1;
        new 
    newcars GetPlayerVehicleID(playerid);
        if(
    newstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_DRIVER)
        {
            if(
    Fuell[newcars] < 0)
            {
                
    SendClientMessage(playeridCOLOR_GREEN"В машине нету бензина!!!");
                
    PlayerInfo[playerid][pFuelcar] = 0;
                return 
    1;
            }
            if(
    zavodis[playerid] == false || zavodis[playerid] == true)
            {
                
    SendClientMessage(playeridCOLOR_GREEN"Чтобы завести двигатель нажмите кнопку '2' или введите /en");
            }
            return 
    1;
        }
        if(
    newstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_DRIVER)
        {
            if(
    newcars SFa[0] || newcars SFa[1])
            {
                if(
    PlayerInfo[playerid][pMember] == && PlayerInfo[playerid][pLeader] == 3) { }        
                        else
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"Вы не солдат армии SFa");
                    
    RemovePlayerFromVehicle(playerid);
                }
                return 
    1;
            }
            if(
    newcars MSFa[0] || newcars MSFa[1])
            {
                if(
    PlayerInfo[playerid][pMember] == && PlayerInfo[playerid][pLeader] == 3)
                {
                    if(
    MatInfo[newcars-MSFa[0]][mLoad] >= 10000)
                    {
                        
    format(Stringerssizeof(Stringers), "Компоненты материалов в вертолёте: %d/10000"MatInfo[newcars-MSFa[0]][mLoad]);
                        
    SendClientMessage(playeridCOLOR_GREENStringers);
                        
    SendClientMessage(playeridCOLOR_WHITE"Отвезите материалы на зону 69");
                        
    DisablePlayerCheckpoint(playerid);
                        
    SetPlayerCheckpoint(playerid, -1572.793351.404017.328110.0);
                        
    VertMats[playerid] = 2;//Доставка на склад армии SFa
                    
    }
                    else
                    {
                        
    format(Stringerssizeof(Stringers), "Компоненты материалов в вертолёте: %d/10000"MatInfo[newcars-MSFa[0]][mLoad]);
                        
    SendClientMessage(playeridCOLOR_GREENStringers);
                        
    SendClientMessage(playeridCOLOR_WHITE"Отправляйтесь на загрузку материалов");
                        
    SetPlayerCheckpoint(playerid, -1469.23861489.33048.250110.0);
                        
    VertMats[playerid] = 1;//Отправляем на загрузку
                    
    }
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"Вы не солдат армии SFa");
                    
    RemovePlayerFromVehicle(playerid);
                }
                    return 
    1;
            }
            if(
    newcars bus[0] && newcars bus[1])
            {
                if(
    PlayerInfo[playerid][pJob] == 1) { }
                else
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"Вы не автобусник (( /gps - Мэрия ))");
                    
    RemovePlayerFromVehicle(playerid);
                }
                return 
    1;
            }
            if(
    newcars <= taxi[0] && newcars >= taxi[1])
            {
                if(
    PlayerInfo[playerid][pJob] == 2) { }
                else
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"Вы не таксист (( /gps - Мэрия ))");
                    
    RemovePlayerFromVehicle(playerid);
                }
                return 
    1;
            }
            if(
    newcars <= razprod[0] && newcars >= razprod[1])
            {
                if(
    PlayerInfo[playerid][pJob] == 4) { }
                else
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"Вы не развозчик продуктов! (( /gps - Мэрия ))");
                    
    RemovePlayerFromVehicle(playerid);
                }
                return 
    1;
            }
            if(
    newcars <= inkoscar[0] && newcars >= inkoscar[1])
            {
                if(
    PlayerInfo[playerid][pJob] == 6)
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"(( Команды: /emptykass - открыть машину для загрузки денег!!! ))");
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"Вы не инкассаторщик! (( /gps - Мэрия ))");
                    
    RemovePlayerFromVehicle(playerid);
                }
            }
            return 
    1;
        }
        if(
    newstate == PLAYER_STATE_DRIVER && !SpecialVehicle(newcars))
        {
            
    STimer[playerid] = SetTimerEx("UpdateSpeedometr"100true"d"playerid);
            
    TextDrawShowForPlayer(playeridBox[0]);
            
    TextDrawShowForPlayer(playeridSpeedometr[0]);
            
    TextDrawShowForPlayer(playeridSpeedometr[1]);
            
    TextDrawShowForPlayer(playeridSpeedometr[2]);
            
    TextDrawShowForPlayer(playeridSpeedometr[3]);
            return 
    1;
        }
        if(
    newstate == PLAYER_STATE_ONFOOT)//выходит скрываем
        
    {
            
    TextDrawHideForPlayer(playeridBox[0]);
            
    TextDrawHideForPlayer(playeridSpeedometr[0]);
            
    TextDrawHideForPlayer(playeridSpeedometr[1]);
            
    TextDrawHideForPlayer(playeridSpeedometr[2]);
            
    TextDrawHideForPlayer(playeridSpeedometr[3]);
            
    KillTimer(STimer[playerid]);
            return 
    1;
        }
        return 
    1;

    вообщем помогите!!!
    Последний раз редактировалось Dima_Tushin; 05.11.2014 в 20:19.

  2. #2
    Аватар для iDiego
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.10.2014
    Сообщений
    49
    Репутация:
    0 ±
    автомобили точно правильно привязал?

  3. #3
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Все правильно!

  4. #4
    Аватар для Wise
    Пользователь

    Статус
    Оффлайн
    Регистрация
    30.10.2014
    Сообщений
    148
    Репутация:
    37 ±
    Так какое значение переменной pJob присваивается работа таксиста? 2 или 5?
    Вот пробуй. Если ID у работы таксиста другой, то замени.
    PHP код:
    if(newcars <= taxi[0] && newcars >= taxi[1])
    {
      if(
    PlayerInfo[playerid][pJob] != 2)
      {
         
    SendClientMessage(playeridCOLOR_WHITE"Вы не таксист (( /gps - Мэрия ))");
         
    RemovePlayerFromVehicle(playerid);
      }
      else return 
    true;


  5. #5
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    не помогло!

  6. #6
    Аватар для Wise
    Пользователь

    Статус
    Оффлайн
    Регистрация
    30.10.2014
    Сообщений
    148
    Репутация:
    37 ±
    Цитата Сообщение от Dima_Tushin Посмотреть сообщение
    не помогло!
    В проверке всё правильно. Лично проверил, всё хорошо работает.
    Скинь код где ты создаёшь транспорт такси.

  7. #7

  8. #8
    Аватар для by-web
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.11.2014
    Сообщений
    6
    Репутация:
    0 ±
    Цитата Сообщение от Dima_Tushin Посмотреть сообщение
    PHP код:
            if(newcars <= taxi[0] && newcars >= taxi[1])
            {
                
    printf("%d"PlayerInfo[playerid][pJob]);
                if(
    PlayerInfo[playerid][pJob] == 2) { }
                else
                {
                    
    SendClientMessage(playeridCOLOR_WHITE"Вы не таксист (( /gps - Мэрия ))");
                    
    RemovePlayerFromVehicle(playerid);
                }
                return 
    1;
            } 
    Замени этот участок кода и посмотри что напишет в консоль, когда сядешь в такси. Если не напишет, то условие не выполняется, то есть не правильно привязан транспорт к переменной.

  9. #9
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Цитата Сообщение от tspnik Посмотреть сообщение
    В загрузке аккаунта, не правильно рассчитал sscanf, или вообще не рассчитывал, так же возможно добавил его на другую строку не по счету...
    а причем тут sscanf?

    - - - Добавлено - - -

    Решил проблему сам ЗакрытО!

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •