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

    Статус
    Оффлайн
    Регистрация
    03.05.2014
    Сообщений
    15
    Репутация:
    0 ±

    Номера на авто

    Помогите решить проблему с номерами на авто.

    Номера до парковки

    Номера после парковки.
    1 авто
    2 авто
    3 авто

    Надо чтобы номера были как на первой картинке ( Номера до парковки )
    Номера от 00-01 до 01-00 паркуются нормально(ид1 до 100), а уже от ида авто 101 номера 00-101
    1 авто
    Код:
    				
    if(d == 100) { g++; d=0;}
    if(d<300)
    {
     if(d<10) format(number,sizeof(number),"{FF0000}NN{000000}0%d-0%d",g,d);
    else format(number,sizeof(number),"{FF0000}NN{000000}0%d-%d",g,d);
    2 авто
    Код:
    					
    if(d == 100) { g++; d=0;}
    if(d<300)
    {
    if(d<10) format(number,sizeof(number),"{FF0000}NN {000000}0%d-0%d",g,d);
    else format(number,sizeof(number),"{FF0000}NN {000000}0%d-%d",g,d);
    3 авто
    Код:
    if(d == 100) { g++; d=0;}
    if(d<300)
    {
    if(d<10) format(number,sizeof(number),"{FF0000}NN {000000}0%d-0%d",g,d);
    else format(number,sizeof(number),"{FF0000}NN{000000}0%d-%d",g,d);
    На авторынке 300 авто если что

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

    Статус
    Оффлайн
    Регистрация
    03.05.2014
    Сообщений
    15
    Репутация:
    0 ±
    up up up

  3. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Пункт #7.
    Вся формула для всех номеров будет выглядеть так:
    PHP код:
    format(number,sizeof(number),"{FF0000}NN{000000}%02d-%02d"d/100d%100); 
    Где "d" - переменная с ID автомобиля (или согласно чему у тебя высчитывается номер).
    Алгоритм прост: номера двузначные и каждая новая сотня означает новый "раздел" => чтоб узнать номер этого "раздела", достаточно разделить ID автомобиля на 100, а остатком от деления и будет наш номер (с помощью знака "процент" как раз и узнаём остаток от деления)
    Если номера станут трёхзначными - дели на 1000, и т.д.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    03.05.2014
    Сообщений
    15
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Пункт #7.
    Вся формула для всех номеров будет выглядеть так:
    PHP код:
    format(number,sizeof(number),"{FF0000}NN{000000}%02d-%02d"d/100d%100); 
    Где "d" - переменная с ID автомобиля (или согласно чему у тебя высчитывается номер).
    Алгоритм прост: номера двузначные и каждая новая сотня означает новый "раздел" => чтоб узнать номер этого "раздела", достаточно разделить ID автомобиля на 100, а остатком от деления и будет наш номер (с помощью знака "процент" как раз и узнаём остаток от деления)
    Если номера станут трёхзначными - дели на 1000, и т.д.
    Помогите записать)
    Все варианты уже испробовал.... Номера всё равно 00-250 ( на сервере 300 авто )
    PHP код:
    if(== 100) { g++; d=0;}
    if(
    d<300)
    {
        if(
    d<10format(number,sizeof(number),"{FF0000}NN {000000}0%d-0%d",g,d);
        else 
    format(number,sizeof(number),"{FF0000}NN {000000}0%d-%d",g,d); 

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, так дай полный код. Что мне этот огрызок?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    03.05.2014
    Сообщений
    15
    Репутация:
    0 ±
    Тут номера на всех авто (до парковки всё норм )
    PHP код:
        new g=0,d=0,e=1,z=1,t=1,number[256];
        for(new 
    1CAR_AMOUNTc++)
        {
            
    d++;
            if(
    BoatVeh(c) || PlaneVeh(c) || BikeVeh(c)) { Gas[c] = GasMax*1000000000; }
            else { 
    Gas[c] = 50; }
            
    EngineCar[c] = 0;
            
    LightCar[c] = 0;
            
    format(number,sizeof(number),"{FF0000}NN {000000}%d"100000+random(99999));
            
    SetVehicleNumberPlate(cnumber);
            if(
    MAX_BUYABLE_CARS c)
            {
            if(
    == 100) { g++; d=0;}
            if(
    d<300)
            {
                if(
    d<10format(number,sizeof(number),"{FF0000}NN {000000}0%d-0%d",g,d);
                else 
    format(number,sizeof(number),"{FF0000}NN {000000}0%d-%d",g,d);
                
    SetVehicleNumberPlate(cnumber);
            }
            } 
    А тут уже парковка авто. Номера после парковки 00-120 или 00-222 ( Должно быть 02-22 )
    PHP код:
      else if(listitem == 2)
                {
                    new 
    number[256];
                    
    GetPlayerName(playeridsendernamesizeof(sendername));
                    if(
    PlayerInfo[playerid][pCarKey] != -&& strcmp(sendernameCarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
                    {
                        if(
    IsPlayerInVehicle(playerid,PlayerInfo[playerid][pCarKey]+1))
                        {
                            new 
    FloatXFloatYFloatZFloatA;
                            
    GetVehiclePos(PlayerInfo[playerid][pCarKey]+1XYZ);
                            
    GetVehicleZAngle(PlayerInfo[playerid][pCarKey]+1A);
                            
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX] = X;
                            
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY] = Y;
                            
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ] = Z;
                            
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle] = A;
                            
    DestroyVehicle(PlayerInfo[playerid][pCarKey]+1);
                            
    BuyableCar[PlayerInfo[playerid][pCarKey]] = CreateVehicle(CarsInfo[PlayerInfo[playerid][pCarKey]][vModel], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo], -1);
                            new 
    d,g;
                            
    PlayerInfo[playerid][pCarKey]+1;
                            if(
    == 100) { g++; d=0;}
                            if(
    d<300)
                            {
                                if(
    d<10format(number,sizeof(number),"{FF0000}NN {000000}0%d-0%d",g,d);
                                else 
    format(number,sizeof(number),"{FF0000}NN {000000}0%d-%d",g,d);
                                
    SetVehicleNumberPlate(PlayerInfo[playerid][pCarKey]+1number);
                                
    SetVehicleToRespawn(BuyableCar[PlayerInfo[playerid][pCarKey]]);
                            }
                            
    SendClientMessage(playeridCOLOR_LIGHTRED"NN: Вы успешно припарковали свой транспорт.");
                            
    EngineCar[PlayerInfo[playerid][pCarKey]+1] = 0;
                        } 

  7. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, ну вот
    PHP код:
    new g=0,d=0,e=1,z=1,t=1,number[256];
    for(new 
    1CAR_AMOUNTc++)
    {
        
    d++;
        if(
    BoatVeh(c) || PlaneVeh(c) || BikeVeh(c)) { Gas[c] = GasMax*1000000000; }
        else { 
    Gas[c] = 50; }
        
    EngineCar[c] = 0;
        
    LightCar[c] = 0;
        
    format(number,sizeof(number),"{FF0000}NN {000000}%d"100000+random(99999));
        
    SetVehicleNumberPlate(cnumber);
        if(
    MAX_BUYABLE_CARS c)
        {
            
    format(number,sizeof(number),"{FF0000}NN{000000}%02d-%02d"d/100d%100);
            
    SetVehicleNumberPlate(cnumber);
        }
        
    else if(
    listitem == 2)
    {
        new 
    number[256];
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        if(
    PlayerInfo[playerid][pCarKey] != -&& strcmp(sendernameCarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
        {
            if(
    IsPlayerInVehicle(playerid,PlayerInfo[playerid][pCarKey]+1))
            {
                new 
    FloatXFloatYFloatZFloatA;
                
    GetVehiclePos(PlayerInfo[playerid][pCarKey]+1XYZ);
                
    GetVehicleZAngle(PlayerInfo[playerid][pCarKey]+1A);
                
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX] = X;
                
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY] = Y;
                
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ] = Z;
                
    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle] = A;
                
    DestroyVehicle(PlayerInfo[playerid][pCarKey]+1);
                
    BuyableCar[PlayerInfo[playerid][pCarKey]] = CreateVehicle(CarsInfo[PlayerInfo[playerid][pCarKey]][vModel], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ], CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo], -1);
                new 
    d;
                
    PlayerInfo[playerid][pCarKey]+1;
                if(
    d<300)
                {
                    
    format(number,sizeof(number),"{FF0000}NN{000000}%02d-%02d"d/100d%100);
                    
    SetVehicleNumberPlate(PlayerInfo[playerid][pCarKey]+1number);
                    
    SetVehicleToRespawn(BuyableCar[PlayerInfo[playerid][pCarKey]]);
                }
                
    SendClientMessage(playeridCOLOR_LIGHTRED"NN: Вы успешно припарковали свой транспорт.");
                
    EngineCar[PlayerInfo[playerid][pCarKey]+1] = 0;
            } 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. Пользователь сказал cпасибо:
    man876 (23.02.2016)
  9. #8
    Аватар для man876
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2014
    Сообщений
    15
    Репутация:
    0 ±
    Все работает, большое спасибо)

 

 

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

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

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

Ваши права

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