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

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

    Отображение гангзон

    Если гангзоны у меня в этом массиве, то как сделать чтобы они отображались на сервере?
    Код:
    new Float:GangZone[49][4] = {
    
    {-372.2925,-1432.8495, -382.8439,-1448.6632},
    {-85.6150,-1132.1643, -67.3869,-1120.7559},
    {-1016.7147,-600.9866, -1125.5768,-665.6058},
    {-1034.7889,-1226.8389, -1083.4275,-1136.3461},
    {-1078.9882,-1612.1904, -1126.7797,-1691.0603},
    {-401.6305,-1759.4034, -434.4098,-1756.0272},
    {-1655.3143,-2226.2542, -1610.1273,-2265.3086},
    {-2399.8899,-2168.4504, -2419.7776,-2208.2461},
    {-1581.3406,-2749.1577, -1515.4321,-2746.4409},
    {-302.1987,-2143.2571, -243.0864,-2207.5808},
    };
    Не злитесь. Я всего лишь учусь скриптить

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±

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

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    PHP код:
    for(new ii<sizeof(GangZone); i++)
        
    GangZoneShowForAll(GangZoneCreate(GangZone[i][0], GangZone[i][1], GangZone[i][2], GangZone[i][3]), 0xFFFFFFAA); 

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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Цитата Сообщение от Mazzilla Посмотреть сообщение
    PHP код:
    for(new ii<sizeof(GangZone); i++)
        
    GangZoneShowForAll(GangZoneCreate(GangZone[i][0], GangZone[i][1], GangZone[i][2], GangZone[i][3]), 0xFFFFFFAA); 
    Огромное всем спасибо

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

    А как создать цвет отдельно для каждой фракции? Т, е. у меня 4 фракции и я хочу 4 цвета. Тут 1 цвет указан
    Последний раз редактировалось Albert; 14.01.2015 в 21:02.
    Не злитесь. Я всего лишь учусь скриптить

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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Вот так загружается база данных о том кому какая зона пренадлежит:
    Код:
    stock LoadGang()
    {
    new gang[50];
    
    format(gang,sizeof(gang),"frack/gang.ini");
    new iniFile = ini_openFile (gang);
    {
    
    ini_getInteger(iniFile,"Band1",GangsInfo[1][Band]);
    ini_getInteger(iniFile,"Band2",GangsInfo[2][Band]);
    ini_getInteger(iniFile,"Band3",GangsInfo[3][Band]);
    ini_getInteger(iniFile,"Band4",GangsInfo[4][Band]);
    ini_getInteger(iniFile,"Band5",GangsInfo[5][Band]);
    ini_getInteger(iniFile,"Band6",GangsInfo[6][Band]);
    ini_getInteger(iniFile,"Band7",GangsInfo[7][Band]);
    ini_getInteger(iniFile,"Band8",GangsInfo[8][Band]);
    ini_getInteger(iniFile,"Band9",GangsInfo[9][Band]);
    ini_getInteger(iniFile,"Band10",GangsInfo[10][Band]);
    
    ini_closeFile(iniFile);
    }
    return true;
    }
    Переменная Band - хранит ID фракции.
    Как мне сделать чтобы гангзоны принимали цвет, соответствующей фракции? К примеру::

    гангзона 1 принимает цвет Band1
    гангзона 2 принимает цвет band2
    гангзона 3 принимает цвет band3 и т. д.




    Т. е. 10 зон. 4 фракции.
    1 фракция: голубой цвет
    2. фракция: серый цвет
    3. фракций: зелёный цвет
    4. фракция: красный цвет.


    Как мне поступить? Я путаюсь и не знаю
    Последний раз редактировалось Albert; 14.01.2015 в 22:13.
    Не злитесь. Я всего лишь учусь скриптить

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    static const
        
    fraction_colors[] = {
            
    0x0000FFFF// синий
            
    0xAAAAAAFF// серый
            
    0x00CC00FF// зелёный
            
    0xFF0000FF // красный
        
    }; 
    Используете например так:
    PHP код:
    fraction_colors[1// вернёт серый цвет ( 0xAAAAAAFF ) 

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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    куда мне константы эти вствлять?
    Не злитесь. Я всего лишь учусь скриптить

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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Ребята. Я не догоняю. Я хочу понять. "тыкните мне, пожалуйста, пальцем".
    Сделал по другому.
    Код:
    	 gang1 = GangZoneCreate (-372.2925,-1432.8495, -382.8439,-1448.6632);
    	 
    	gang2 = GangZoneCreate (-85.6150,-1132.1643, -67.3869,-1120.7559);
    	gang3 = GangZoneCreate (-1016.7147,-600.9866, -1125.5768,-665.6058);
    	
    	gang4 = GangZoneCreate (-1034.7889,-1226.8389, -1083.4275,-1136.3461);
    	
    	gang5 = GangZoneCreate (-1078.9882,-1612.1904, -1126.7797,-1691.0603);
    	gang6 = GangZoneCreate (-401.6305,-1759.4034, -434.4098,-1756.0272);
    	gang7 = GangZoneCreate (-1655.3143,-2226.2542, -1610.1273,-2265.3086);
    	gang8 = GangZoneCreate (-2399.8899,-2168.4504, -2419.7776,-2208.2461);
    	gang9 = GangZoneCreate (-1581.3406,-2749.1577, -1515.4321,-2746.4409);
    	gang10 = GangZoneCreate (-302.1987,-2143.2571, -243.0864,-2207.5808);
    	
    	 GangZoneShowForAll(gang1, 0x660000AA );
    	 GangZoneShowForAll(gang2, 0x660000AA );
    	 GangZoneShowForAll(gang3, 0x660000AA );
    	 GangZoneShowForAll(gang4, 0x00EEADDF );
    	 
    	 GangZoneShowForAll(gang5,  0x00EEADDF);
    	 GangZoneShowForAll(gang6,  0x00EEADDF);
    	 GangZoneShowForAll(gang7,   0xFF9900AA);
    	  
    	 GangZoneShowForAll(gang8,   0xFF9900AA);
    	 
          GangZoneShowForAll(gang9,  0xDDDD2357 );
           GangZoneShowForAll(gang10,  0xDDDD2357 );
    Как мне сделать следующее:
    Если Band1 = 1, то gang1 принимает цвет 1
    Если Band2 = 2, то gang2 принимает цвет 2
    Если Band3 = 3, то gang3 принимает цвет 3
    Если Ban4 = 1, то gang4 принимает цвет 1
    Т. е.
    1 = голубой
    2 = серый
    3 = зелёный
    4 = красный

    Лондлем написал мне
    Код:
    static const
        fraction_colors[] = {
            0x0000FFFF, // синий
            0xAAAAAAFF, // серый
            0x00CC00FF, // зелёный
            0xFF0000FF // красный
        };
    и
    Код:
    fraction_colors[1]
    А я не сообразил что это такое.
    Ну видемо первое нужно ко всем переменным, а второй на место цвета в GangZoneShowForAll(gang10, 0xDDDD2357 );
    К примеру:
    GangZoneShowForAll(gang10, fraction_colors[1]);

    А если эту зону захватит другая банда. Как переназначить цвет?
    Написать в скрипте захвата что fraction_colors[1] = fraction_colors[2] ? Я не соображаю.

    Мне ведь надо чтобы зоны меняли свой цвет во время игры. Я ведь потом сделаю систему захвата этих зон.
    Не злитесь. Я всего лишь учусь скриптить

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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Кто ищет - тот всегда найдёт.
    Код:
    stock ColorGang1()
    {
    if (GangsInfo[1][Band] == 1)
       {
       GangZoneShowForAll(gang1, 0x0000FFFF);
       }
    else if (GangsInfo[1][Band] == 2)
       {
       GangZoneShowForAll(gang1, 0xAAAAAAFF);
       }
    else if (GangsInfo[1][Band] == 3)
       {
       GangZoneShowForAll(gang1, 0x00CC00FF);
       }
    else if (GangsInfo[1][Band] == 4)
       {
       GangZoneShowForAll(gang1, 0xFF0000FF);
       }
       
    }
    
    stock ColorGang2()
    {
    if (GangsInfo[2][Band] == 1)
       {
       GangZoneShowForAll(gang2, 0x0000FFFF);
       }
    else if (GangsInfo[2][Band] == 2)
       {
       GangZoneShowForAll(gang2, 0xAAAAAAFF);
       }
    else if (GangsInfo[2][Band] == 3)
       {
       GangZoneShowForAll(gang2, 0x00CC00FF);
       }
    else if (GangsInfo[2][Band] == 4)
       {
       GangZoneShowForAll(gang2, 0xFF0000FF);
       }
    
    }
    
    stock ColorGang3()
    {
    if (GangsInfo[3][Band] == 1)
       {
       GangZoneShowForAll(gang3, 0x0000FFFF);
       }
    else if (GangsInfo[3][Band] == 2)
       {
       GangZoneShowForAll(gang3, 0xAAAAAAFF);
       }
    else if (GangsInfo[3][Band] == 3)
       {
       GangZoneShowForAll(gang3, 0x00CC00FF);
       }
    else if (GangsInfo[3][Band] == 4)
       {
       GangZoneShowForAll(gang3, 0xFF0000FF);
       }
    
    }
    
    
    stock ColorGang4()
    {
    if (GangsInfo[4][Band] == 1)
       {
       GangZoneShowForAll(gang4, 0x0000FFFF);
       }
    else if (GangsInfo[4][Band] == 2)
       {
       GangZoneShowForAll(gang4, 0xAAAAAAFF);
       }
    else if (GangsInfo[4][Band] == 3)
       {
       GangZoneShowForAll(gang4, 0x00CC00FF);
       }
    else if (GangsInfo[4][Band] == 4)
       {
       GangZoneShowForAll(gang4, 0xFF0000FF);
       }
    
    }
    
    stock ColorGang5()
    {
    if (GangsInfo[5][Band] == 1)
       {
       GangZoneShowForAll(gang5, 0x0000FFFF);
       }
    else if (GangsInfo[5][Band] == 2)
       {
       GangZoneShowForAll(gang5, 0xAAAAAAFF);
       }
    else if (GangsInfo[5][Band] == 3)
       {
       GangZoneShowForAll(gang5, 0x00CC00FF);
       }
    else if (GangsInfo[5][Band] == 4)
       {
       GangZoneShowForAll(gang5, 0xFF0000FF);
       }
    
    }
    
    stock ColorGang6()
    {
    if (GangsInfo[6][Band] == 1)
       {
       GangZoneShowForAll(gang6, 0x0000FFFF);
       }
    else if (GangsInfo[6][Band] == 2)
       {
       GangZoneShowForAll(gang6, 0xAAAAAAFF);
       }
    else if (GangsInfo[6][Band] == 3)
       {
       GangZoneShowForAll(gang6, 0x00CC00FF);
       }
    else if (GangsInfo[6][Band] == 4)
       {
       GangZoneShowForAll(gang6, 0xFF0000FF);
       }
    
    }
    
    stock ColorGang7()
    {
    if (GangsInfo[7][Band] == 1)
       {
       GangZoneShowForAll(gang7, 0x0000FFFF);
       }
    else if (GangsInfo[7][Band] == 2)
       {
       GangZoneShowForAll(gang7, 0xAAAAAAFF);
       }
    else if (GangsInfo[7][Band] == 3)
       {
       GangZoneShowForAll(gang7, 0x00CC00FF);
       }
    else if (GangsInfo[7][Band] == 4)
       {
       GangZoneShowForAll(gang7, 0xFF0000FF);
       }
    
    }
    
    stock ColorGang8()
    {
    if (GangsInfo[8][Band] == 1)
       {
       GangZoneShowForAll(gang8, 0x0000FFFF);
       }
    else if (GangsInfo[8][Band] == 2)
       {
       GangZoneShowForAll(gang8, 0xAAAAAAFF);
       }
    else if (GangsInfo[8][Band] == 3)
       {
       GangZoneShowForAll(gang8, 0x00CC00FF);
       }
    else if (GangsInfo[8][Band] == 4)
       {
       GangZoneShowForAll(gang8, 0xFF0000FF);
       }
    
    }
    
    stock ColorGang9()
    {
    if (GangsInfo[9][Band] == 1)
       {
       GangZoneShowForAll(gang9, 0x0000FFFF);
       }
    else if (GangsInfo[9][Band] == 2)
       {
       GangZoneShowForAll(gang9, 0xAAAAAAFF);
       }
    else if (GangsInfo[9][Band] == 3)
       {
       GangZoneShowForAll(gang9, 0x00CC00FF);
       }
    else if (GangsInfo[9][Band] == 4)
       {
       GangZoneShowForAll(gang9, 0xFF0000FF);
       }
    
    }
    stock ColorGang10()
    {
    if (GangsInfo[10][Band] == 1)
       {
       GangZoneShowForAll(gang10, 0x0000FFFF);
       }
    else if (GangsInfo[10][Band] == 2)
       {
       GangZoneShowForAll(gang10, 0xAAAAAAFF);
       }
    else if (GangsInfo[10][Band] == 3)
       {
       GangZoneShowForAll(gang10, 0x00CC00FF);
       }
    else if (GangsInfo[10][Band] == 4)
       {
       GangZoneShowForAll(gang10, 0xFF0000FF);
       }
    
    }
    Проблемма решена. Всем спасибо.
    Не злитесь. Я всего лишь учусь скриптить

  11. #10
    Аватар для gangzone.ini
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±
    Как по мне, так лучше сделать загрузку и сохранение через файлы/базу данных.

 

 

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

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

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

Ваши права

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