Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


deltahost

**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 100руб/мес, Текстовая 50руб/мес.
Страница 1 из 7 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 65
  1. #1
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Онлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    330
    Репутация:
    102 ±

    [Filterscript/Include] MapFix - исправления текстурных багов

     ᅠ  ᅠ  
    MapFix

    Исправления текстурных багов карты GTA San Andreas

    Описание:

    Данный скрипт исправляет большинство текстурных багов на карте GTA SA, такие как прохождение сквозь некоторые стены, окна, полы и т.д.
    Другими словами это "добавляет" коллизию тем объектам, которые её не имели.


    Список исправленных мест:

    Статус
    Координаты
    Локация
    Название дефайна
    Скриншот
    Исправлено
    1285.2668, 2530.0417, 13.3019
    Las Venturas
    MAPFIX_PLACE_1
    Исправлено
    2012.9233, -1598.4007, 16.3175
    Los Santos
    MAPFIX_PLACE_2
    Исправлено
    -1382.7746, 493.7839, 5.3882
    San Fierro
    MAPFIX_PLACE_3
    Исправлено
    -651.2021, -1688.8994, 41.7038
    Flint County
    MAPFIX_PLACE_4
    Исправлено
    -1405.6547, -3.0942, 9.0782
    San Fierro
    MAPFIX_PLACE_5
    Исправлено
    1915.1488, 2226.9431, 13.6563
    Las Venturas
    MAPFIX_PLACE_6
    Исправлено
    2112.5935, 2372.2631, 12.7533
    Las Venturas
    MAPFIX_PLACE_7
    Исправлено
    -1646.8326, 597.6365, 33.1171
    San Fierro
    MAPFIX_PLACE_8
    Исправлено
    -1951.7622, 744.4003, 46.5012
    San Fierro
    MAPFIX_PLACE_9
    Исправлено
    -2059.1304, 470.3058, 36.1723
    San Fierro
    MAPFIX_PLACE_10
    Исправлено
    388.9268, -2045.5015, 8.8358
    Los Santos
    MAPFIX_PLACE_11
    Исправлено
    2186.2938, -2207.8368, 14.5468
    Los Santos
    MAPFIX_PLACE_12
    Исправлено
    1039.5862, -1377.5670, 19.3621
    Los Santos
    MAPFIX_PLACE_13
    Исправлено
    501.7941, -1356.5953, 17.1328
    Los Santos
    MAPFIX_PLACE_14
    Исправлено
    -1536.2725, -448.4432, 7.1037
    San Fierro
    MAPFIX_PLACE_15
    Исправлено
    -1234.7112, 46.3853, 15.1335
    San Fierro
    MAPFIX_PLACE_16
    Исправлено
    2788.2073, -1358.6357, 26.5844
    Los Santos
    MAPFIX_PLACE_17
    Исправлено
    -2243.5947, 77.4637, 36.3203
    San Fierro
    MAPFIX_PLACE_18
    Исправлено
    -183.0642, 1129.1278, 20.7422
    Bone County
    MAPFIX_PLACE_19
    Исправлено
    1551.8811, 888.5751, 12.3458
    Las Venturas
    MAPFIX_PLACE_20
    Исправлено
    -1872.7406, 1436.3032, 8.1797
    San Fierro
    MAPFIX_PLACE_21
    Исправлено
    1773.3147, 2164.5311, 7.7141
    Las Venturas
    MAPFIX_PLACE_22
    Исправлено
    831.7307, -1056.5757, 30.9752
    Los Santos
    MAPFIX_PLACE_23
    Исправлено
    692.5116, -1427.0162, 15.8516
    Los Santos
    MAPFIX_PLACE_24
    Исправлено
    681.5706, -452.1212, -24.3172 *
    Welcome Pump interior
    MAPFIX_PLACE_25
    Исправлено
    2343.8516, 382.0144, 27.3888
    Red County
    MAPFIX_PLACE_26
    Исправлено
    1074.3558, 1399.0736, 6.8203
    Las Venturas
    MAPFIX_PLACE_27
    Исправлено
    2399.5431, 2159.3948, 11.8203
    Las Venturas
    MAPFIX_PLACE_28
    Исправлено
    2271.4592, 2349.8641, 20.8028
    Las Venturas
    MAPFIX_PLACE_29
    Исправлено
    537.3808, 47.7638, 21.3824
    Red County
    MAPFIX_PLACE_30
    Исправлено
    -2461.8761, -1393.9454, 341.8486
    Whetstone
    MAPFIX_PLACE_31
    Исправлено
    1077.5627, 1359.9211, 11.8203
    Las Venturas
    MAPFIX_PLACE_32
    Исправлено
    2350.2412, 1886.7163, 11.7423
    Las Venturas
    MAPFIX_PLACE_33
    Исправлено
    -2192.7471, 716.0967, 80.6718
    San Fierro
    MAPFIX_PLACE_34
    Исправлено
    2866.2266, -1406.0481, 11.9911
    Los Santos
    MAPFIX_PLACE_35
    Исправлено
    2827.9946, -1598.8704, 12.0903
    Los Santos
    MAPFIX_PLACE_36
    Исправлено
    2869.2391, -1438.4861, 12.9661
    Los Santos
    MAPFIX_PLACE_37
    Исправлено
    1006.4873, -919.7543, 47.6641
    Los Santos
    MAPFIX_PLACE_38
    Исправлено
    -2902.6482, 1245.4755, 8.0988
    San Fierro
    MAPFIX_PLACE_39
    Исправлено
    970.9012, -1039.2278, 31.0508
    Los Santos
    MAPFIX_PLACE_40
    Исправлено
    2402.2031, 2665.6541, 11.8203
    Las Venturas
    MAPFIX_PLACE_41
    Исправлено
    1199.4886, -919.9733, 44.1078
    Los Santos
    MAPFIX_PLACE_42
    Исправлено
    427.3731, -1639.7935, 48.1463
    Los Santos
    MAPFIX_PLACE_43
    Исправлено
    1301.0448, -968.4888, 39.3527
    Los Santos
    MAPFIX_PLACE_44
    Исправлено
    2513.9094, 1146.7094, 23.0232
    Las Venturas
    MAPFIX_PLACE_45
    Исправлено
    -1873.2948, -166.3317, 18.6917
    San Fierro
    MAPFIX_PLACE_46
    Исправлено
    1621.6163, -1715.4427, 29.2811
    Los Santos
    MAPFIX_PLACE_47
    Исправлено
    -1943.3566, 705.1246, 69.5194
    San Fierro
    MAPFIX_PLACE_48
    Исправлено
    -2459.3657, 766.3941, 45.1953
    San Fierro
    MAPFIX_PLACE_49
    Исправлено
    -1646.5916, 540.0665, 39.6923
    San Fierro
    MAPFIX_PLACE_50
    Исправлено
    2740.2881, -1263.7468, 60.5795
    Los Santos
    MAPFIX_PLACE_51
    Исправлено
    -748.8711, -1848.2692, 14.3224
    Flint County
    MAPFIX_PLACE_52
    Исправлено
    -617.5784, -1902.7026, 8.9671
    Flint County
    MAPFIX_PLACE_53
    Исправлено
    -409.2902, 2241.8831, 43.4297
    Bone County
    MAPFIX_PLACE_54
    Исправлено
    -1121.6782, 856.8758, 35.5781
    San Fierro / Tierra Robada
    MAPFIX_PLACE_55
    Исправлено
    1726.1298, 2120.0964, 13.2891
    Las Venturas
    MAPFIX_PLACE_56
    Исправлено
    1682.6901, 1389.3976, 15.9007
    Las Venturas
    MAPFIX_PLACE_57
    Исправлено
    2143.1971, 1617.6655, 1001.9688 *
    Caligula's basement interior
    MAPFIX_PLACE_58
    Исправлено
    1171.8207, 1227.8077, 11.8125
    Las Venturas
    MAPFIX_PLACE_59
    Исправлено
    -211.2371, 1055.4974, 24.9042
    Bone County
    MAPFIX_PLACE_60
    Исправлено
    2319.5928, 1732.5095, 11.8203
    Las Venturas
    MAPFIX_PLACE_61
    Исправлено
    2393.5303, 1481.5803, 11.8203
    Las Venturas
    MAPFIX_PLACE_62
    Исправлено
    -2691.3823, 514.2086, 9.7398
    San Fierro
    MAPFIX_PLACE_63
    Исправлено
    1004.0891, -1160.6143, 24.8594
    Los Santos
    MAPFIX_PLACE_64
    Исправлено
    808.2341, -1035.5371, 26.0581
    Los Santos
    MAPFIX_PLACE_65
    Исправлено
    1651.7191, -1331.5612, 108.0276
    Los Santos
    MAPFIX_PLACE_66
    Исправлено
    2190.9131, -1103.9921, 25.8452
    Los Santos
    MAPFIX_PLACE_67
    Исправлено
    2618.2036, 1075.6357, 11.7415
    Las Venturas
    MAPFIX_PLACE_68
    Исправлено
    1837.4878, 1285.5645, 9.5998
    Las Venturas
    MAPFIX_PLACE_69
    Исправлено
    1902.6581, -1054.9137, 24.0248
    Los Santos
    MAPFIX_PLACE_70
    Исправлено
    -640.5525, 2717.2556, 72.3751
    Bone County
    MAPFIX_PLACE_71
    Исправлено
    2419.3054, 2378.4685, 11.8203
    Las Venturas
    MAPFIX_PLACE_72
    Исправлено
    2527.654, -1679.3883, 1016.4985 *
    Sweet's house interior
    MAPFIX_PLACE_73
    Исправлено
    289.8807, -1630.0879, 34.3379
    Los Santos
    MAPFIX_PLACE_74
    Исправлено
    1861.8311, 1361.1387, 56.3731
    Las Venturas
    MAPFIX_PLACE_75
    Исправлено
    1705.14, 900.7234, 16.3982
    Las Venturas
    MAPFIX_PLACE_76
    Исправлено
    -878.8828, 1629.7646, 28.3272
    Tierra Robada
    MAPFIX_PLACE_77
    Исправлено
    -2103.4424, -497.6492, 49.5937
    San Fierro
    MAPFIX_PLACE_78
    Исправлено
    -2557.1016, 994.7551, 79.2891
    San Fierro
    MAPFIX_PLACE_79
    Исправлено
    -2276.9089, 916.6872, 67.6484
    San Fierro
    MAPFIX_PLACE_80
    Исправлено
    2402.0645, -1718.613, 14.622
    Los Santos
    MAPFIX_PLACE_81
    Исправлено
    2242.7214, 2233.1661, 11.7778
    Las Venturas
    MAPFIX_PLACE_82
    Исправлено
    -2317.0625, 767.5687, 56.8312
    San Fierro
    MAPFIX_PLACE_83
    Исправлено
    1085.4861, -1192.4487, 19.1758
    Los Santos
    MAPFIX_PLACE_84
    Исправлено
    1225.4695, 309.6244, 20.7578
    Los Santos
    MAPFIX_PLACE_85
    Исправлено
    -2739.4126, 838.3444, 58.2475
    San Fierro
    MAPFIX_PLACE_86
    Исправлено
    1331.8497, -1001.8965, 47.9052
    Los Santos
    MAPFIX_PLACE_87
    Исправлено
    -1806.1045, 1511.5961, -31.3402
    San Fierro
    MAPFIX_PLACE_88
    Исправлено
    -2339.7939, 799.7498, 42.9122
    San Fierro
    MAPFIX_PLACE_89
    Исправлено
    2088.5537, -2079.4468, 28.3991
    Los Santos
    MAPFIX_PLACE_90
    Исправлено
    -379.6471, -1439.0034, 26.7266
    Flint County
    MAPFIX_PLACE_91
    Исправлено
    -2575.5112, 1149.4088, 56.7266
    San Fierro
    MAPFIX_PLACE_92
    Исправлено
    -1801.0098, 1197.2461, 26.1194
    San Fierro
    MAPFIX_PLACE_93
    Исправлено
    -1391.2687, 2635.9026, 56.9844
    Tierra Robada / Bone County
    MAPFIX_PLACE_94
    Исправлено
    2037.3052, 2725.4265, 11.8203
    Las Venturas
    MAPFIX_PLACE_95
    Исправлено
    -2553.8484, 192.9495, 7.1427
    San Fierro
    MAPFIX_PLACE_96
    Исправлено
    878.6361, -1571.4884, 14.3906
    Los Santos
    MAPFIX_PLACE_97
    Исправлено
    771.4907, -3.4023, 1001.7277 **
    Los Santos Gym
    MAPFIX_PLACE_98
    Исправлено
    147.1183, -198.1062, 7.2813
    Red County
    MAPFIX_PLACE_99
    Исправлено
    364.2627, -1599.5103, 32.9711
    Los Santos
    MAPFIX_PLACE_100

    Заметки:
    • (*) - Интерьер ID 1
    • (**) - Интерьер ID 5


    Вы можете выключить исправление любого из мест в самом начале фильтрскрипта или перед инклудом.
    Например, написав это: #define DISABLE_MAPFIX_PLACE_1 // Таким образом это отключит фикс №1

    Как установить:

    • Filterscript версия
      1. Скачать mapfix.pwn по ссылкам ниже в папку filterscripts
      2. Открыть скачанный скрипт и скомпилировать его
      3. Открыть server.cfg и в строке filterscripts написать mapfix
    • Include версия
      1. Скачать mapfix.inc по ссылкам ниже в папку pawno/include
      2. Открыть свой гейммод и прописать следующее: "#include <mapfix>"
      3. Скомпилировать гейммод


    Скачать:



    С версии 1.1.1 это поддерживает Streamer Plugin от Incognito. Теперь объекты могут быть созданы через CreateDynamicObject. Для этого подключите стример и раскомментируйте "#define USE_INCOGNITO_STREAMER"


    Список изменений:

    Код:
    - v1.0.0 Начальный релиз (21 исправленных мест)
    
    - Добавлена Include версия
    
    - v1.1.1
    Добавлен новый фикс (MAPFIX_PLACE_22)
    Добавлены функции CreateMapFixObjects() и DestroyMapFixObjects()
    Совместимость со Streamer Plugin'ом
    
    - v1.2.2
    Добавлены новые фиксы (MAPFIX_PLACE_23 и MAPFIX_PLACE_24)
    Исправлена совместимость со Streamer Plugin'ом
    
    - v1.3.2
    Добавлены новые фиксы (MAPFIX_PLACE_25 - MAPFIX_PLACE_29)
    
    - v1.4.2
    Добавлены новые фиксы (MAPFIX_PLACE_30, MAPFIX_PLACE_31 и MAPFIX_PLACE_32)
    
    - v1.5.3
    Добавлены новые фиксы (MAPFIX_PLACE_33 - MAPFIX_PLACE_37)
    Теперь пол в интерьере в MAPFIX_PLACE_25 будет создаваться через функцию CreateObject (даже если подключен streamer)
    
    - v1.6.3
    Добавлены новые фиксы (MAPFIX_PLACE_38, MAPFIX_PLACE_39 и MAPFIX_PLACE_40)
    
    - v1.7.4
    Добавлены новые фиксы (MAPFIX_PLACE_41 - MAPFIX_PLACE_47)
    Полностью исправлен MAPFIX_PLACE_2
    
    - v1.8.5
    Добавлены новые фиксы (MAPFIX_PLACE_48, MAPFIX_PLACE_49 и MAPFIX_PLACE_50)
    Полностью исправлен MAPFIX_PLACE_47
    
    - v1.9.6
    Добавлены новые фиксы (MAPFIX_PLACE_51, MAPFIX_PLACE_52 и MAPFIX_PLACE_53)
    Полностью исправлен MAPFIX_PLACE_50
    Некоторые объекты теперь невидимые
    
    - v2.0.0
    Добавлены новые фиксы (MAPFIX_PLACE_54, MAPFIX_PLACE_55 и MAPFIX_PLACE_56)
    Изменена система отключения мест в скрипте
    
    - v2.1.1
    Добавлены новые фиксы (MAPFIX_PLACE_57 - MAPFIX_PLACE_64)
    Полностью исправлен MAPFIX_PLACE_39
    
    - v2.2.1
    Добавлены новые фиксы (MAPFIX_PLACE_65, MAPFIX_PLACE_66 и MAPFIX_PLACE_67)
    
    - v2.3.1
    Добавлен новый фикс (MAPFIX_PLACE_68)
    
    - v2.3.2
    Полностью исправлен MAPFIX_PLACE_2
    
    - v2.3.3
    Исправлена функция DestroyMapFixObjects()
    
    - v2.3.4
    Добавлены новые фиксы (MAPFIX_PLACE_69, MAPFIX_PLACE_70 и MAPFIX_PLACE_71)
    
    - v2.3.5
    Добавлен новый фикс (MAPFIX_PLACE_72)
    
    - v2.3.6
    Полностью исправлен MAPFIX_PLACE_28
    
    - v2.3.7
    Исправлено "мерцание" текстур при отдалении от объектов
    В связи с этим, при использовании Streamer'а объекты теперь будут создаваться только в определённом интерьере
    
    - v2.3.8
    Добавлен новый фикс (MAPFIX_PLACE_73)
    
    - v2.4.8
    Добавлен новый фикс (MAPFIX_PLACE_74)
    
    - v2.5.8
    Добавлены новые фиксы (MAPFIX_PLACE_75 - MAPFIX_PLACE_80)
    
    - v2.6.8
    Добавлен новый фикс (MAPFIX_PLACE_81)
    
    - v2.7.9
    Добавлены новые фиксы (MAPFIX_PLACE_82 - MAPFIX_PLACE_90)
    Мелкие улучшения
    
    - v2.8.0
    Совместимость с y_hooks (include-версия)
    Мелкие улучшения
    
    - v2.8.1
    Полностью исправлен MAPFIX_PLACE_4
    
    - v2.9.1
    Добавлены новые фиксы (MAPFIX_PLACE_91 - MAPFIX_PLACE_95)
    
    - v3.0.0
    Добавлены новые фиксы (MAPFIX_PLACE_96 - MAPFIX_PLACE_100)

    Благодарности:

    • Lordzy - мануал Transparent/Invisible Objects
    • Daniel_Cortez, Pottus - советы и предложения
    • ziggi - советы по коду, текстурный баг №81 (маппинг)
    • WoasryXxL - текстурный баг №2 (дополнил), 42, 45, 49, 50, 52, 53
    • Romzes - текстурный баг №24, 30, 38, 41, 47 (дополнил), 69, 70, 71
    • KrutoyKrosch - текстурный баг №4 (дополнил), 96
    • KinG7 - текстурный баг №91, 92, 93, 94, 95
    • Jimmi - текстурный баг №40, 72 (маппинг)
    • Kar - текстурный баг №2 (дополнил), 72
    • [CM]Rider - текстурный баг №18
    • Vadyanga - текстурный баг №22
    • Admigo - текстурный баг №25
    • Crayder - текстурный баг №31
    • Jimmi - текстурный баг №40
    • SoNik)) - текстурный баг №51
    • Vitalik_Gonsor - текстурный баг №54
    • brokens - текстурный баг №73
    • Apec - текстурный баг №74 (маппинг)


    Если вы знаете некоторые места с текстурными багами, которые ещё не исправлены - пожалуйста, сообщите о них в этой теме.
    Последний раз редактировалось Nexius_Tailer; 15.06.2017 в 21:55. Причина: v3.0.0

  2. 11 пользователя(ей) сказали cпасибо:
    Anton Styazhkin (12.10.2015)DeimoS (30.01.2016)Edwin (06.05.2017)Glant (25.08.2016)Guldan (26.11.2016)NewGreen (23.10.2015)Nurick (13.06.2016)Sp1ke (28.10.2015)Unreal (13.10.2015)Web (09.04.2017)ziggi (13.06.2016)
  3. #2
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    357
    Репутация:
    133 ±
    не легче было сделать это все в виде инклюда?

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

    Статус
    Онлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    330
    Репутация:
    102 ±
    Цитата Сообщение от wAx Посмотреть сообщение
    не легче было сделать это все в виде инклюда?
    Я подумал что удобно будет подгружать и выгружать эти объекты прямо во время выполнения сервера.

  5. #4
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,583
    Репутация:
    2081 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Я подумал что удобно будет подгружать и выгружать эти объекты прямо во время выполнения сервера.
    Это легко сделать и в инклуде, если при создании объектов сохранять их ID в массив.
    Да и смысл от макросов, если это совершенно автономный фильтрскрипт?
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

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

    Статус
    Онлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    330
    Репутация:
    102 ±
    Убедили-таки ;)
    Добавил Include-версию.

  7. #6
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,583
    Репутация:
    2081 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Убедили-таки ;)
    Добавил Include-версию.
    1. Уничтожения объектов вручную (чего можно было достичь при выгружени FS) нет.
    Что я имел в виду в посте выше: можно всего лишь создать функции CreateMapFixObjects и DestroyMapFixObjects, которые создают и удаляют объекты соответственно (и именно потому я написал в предыдущем посте о сохранении ID объектов в массив - для их последующего уничтожения).
    Затем можно сделать перехваты OnGameModeInit и OnFilterScriptInit, из которых будут вызываться указанные выше функции. Т.е. фиксы будут создаваться при загрузке мода, но их можно будет в любой момент отключить или включить обратно.

    2. Перечитайте ещё раз 2-ю часть урока по перехватам, особенно самое начало, про правила задания префиксов. Префикс из 2-3 букв может повториться в другом перехватчике, получим несовместимость с чьей-то ещё работой.

    3. Что это вообще такое?
    PHP код:
    #define MAPFIX_PLACE_1
    #define MAPFIX_PLACE_2
    #define MAPFIX_PLACE_3 
    Нет, я понимаю, это опции для отключения каких-либо фиксов, но зачем указывать их внутри инклуда?
    Во-первых, с таким же успехом можно просто закомментировать в нём пару строк, чтобы убрать создание ненужных объектов.
    Во-вторых, инклуды обычно не предназначены для редактирования.
    В вашем случае MAPFIX_PLACE_1 должно указываться внутри мода, а в инклуде должен проверяться только факт объявления этого макроса.
    Правда, так придётся указывать все 20 макросов, что выглядит просто ужасно, поэтому такие макросы должны не включать, а наоборот, выключать каждый фикс.
    Т.е. названия должны быть наподобие MAPFIX_DISABLE_1, MAPFIX_DISABLE_2, ..., MAPFIX_DISABLE_20.
    Соответственно в инклуде фикс осуществляется, если отключающий макрос НЕ был объявлен.

    4. Даже не знаю, что и сказать.
    PHP код:
    #if defined MAPFIX_VERSION\
            
    || defined _mapfix_included
            
    #endinput
    #endif 
    Зачем вообще нужно было проверять сразу 2 константы?
    Боитесь, что один раз оператор defined может не сработать?
    На всякий пожарный подскажу, лучше оставить проверку _mapfix_included, по аналогии со стандартными инклудами SA:MP.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

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

    Статус
    Онлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    330
    Репутация:
    102 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    1. Уничтожения объектов вручную (чего можно было достичь при выгружени FS) нет.
    Что я имел в виду в посте выше: можно всего лишь создать функции CreateMapFixObjects и DestroyMapFixObjects, которые создают и удаляют объекты соответственно (и именно потому я написал в предыдущем посте о сохранении ID объектов в массив - для их последующего уничтожения).
    Изначально так и было, но из-за того, что сделал сразу в фс, не хотел делать эти функции public'ами (чтобы можно было из мода вызывать через CallRemoteFunction). Возможно в include их сделаю.

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    2. Перечитайте ещё раз 2-ю часть урока по перехватам, особенно самое начало, про правила задания префиксов. Префикс из 2-3 букв может повториться в другом перехватчике, получим несовместимость с чьей-то ещё работой.
    Не знаю ни о какой второй части, потому как читал оригинальный урок от Y_less'а, и знаю о перехватах, уж будьте уверены.
    Двухбуквенные префиксы действительно встречаются часто, вопрос в том, какие. Префикс "ac_", "my_" и в таком духе конечно-же скорее всего выдаст несовместимость. А вот указывая длинные префиксы к функциям с длинными названиями иногда можно заработать лишний геморой.

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    3. Что это вообще такое?
    PHP код:
    #define MAPFIX_PLACE_1
    #define MAPFIX_PLACE_2
    #define MAPFIX_PLACE_3 
    Нет, я понимаю, это опции для отключения каких-либо фиксов, но зачем указывать их внутри инклуда?
    Во-первых, с таким же успехом можно просто закомментировать в нём пару строк, чтобы убрать создание ненужных объектов.
    Во-вторых, инклуды обычно не предназначены для редактирования.
    В вашем случае MAPFIX_PLACE_1 указывается внутри мода, а в инклуде проверяется только факт объявления этого макроса.
    Правда, так придётся указывать все 20 макросов, что выглядит просто ужасно, поэтому такие макросы должны не включать, а наоборот, выключать каждый фикс.
    Т.е. названия должны быть наподобие MAPFIX_DISABLE_1, MAPFIX_DISABLE_2, ..., MAPFIX_DISABLE_20.
    Соответственно в инклуде фикс осуществляется, если отключающий макрос НЕ был объявлен.
    Про "закомментировать в нём пару строк" - это менее удобно в поиске этих строк, в то время как их много и они лишь-бы где, а дефайн 1 и в начале.
    Про то, что инклуды не предназначены для редактирования - хм, возможно, но если кому-то будет нужно, он это сделает, т.к. это в его же интересах.
    Ну а с идеей "MAPFIX_DISABLE_1" полностью согласен, спасибо, реализую возможно.

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    4. Даже не знаю, что и сказать.
    PHP код:
    #if defined MAPFIX_VERSION\
            
    || defined _mapfix_included
            
    #endinput
    #endif 
    Зачем вообще нужно было проверять сразу 2 константы?
    Боитесь, что один раз оператор defined может не сработать?
    На всякий пожарный подскажу, лучше оставить проверку _mapfix_included, по аналогии со стандартными инклудами SA:MP.
    Зато я знаю что сказать.
    Т.к. я изначально сделал фс, мне не хотелось бы его редактировать по таким мелочам, на что поставил проверку в инклуде. 2 проверка, как всем известно, предотвращает повторное подключение одного и того-же файла, ну а первая против тех случаев, если кто-то додумается подключить инклуд mapfix к фс mapfix (да, нужно быть кем-то не очень адекватным для этого, но такое возможно).
    В фс же нет дефайна _mapfix_included, верно? А единственное, по чему можно узнать его локальное присутствие, это как раз MAPFIX_VERSION.
    Последний раз редактировалось Nexius_Tailer; 12.10.2015 в 21:14.

  9. #8
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,583
    Репутация:
    2081 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Не знаю ни о какой второй части, потому как читал оригинальный урок от Y_less'а, и знаю о перехватах, уж будьте уверены.
    Я про тот урок, который в моей подписи (разбит на 2 части). В нём оговорено много того, чего нет в уроках Y_Less'а (и теперь вряд ли будет после его слива).


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    А вот указывая длинные префиксы к функциям с длинными названиями иногда можно заработать лишний геморой.
    Естественно, нужно знать меру и не делать слишком длинные префиксы (лучше исходить из названий перехватываемых функций, чтобы с префиксом эти имена укладывались в лимит из 31 символа).
    Или под "геморроем" вы имели в виду что-то ещё?


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Про то, что инклуды не предназначены для редактирования - хм, возможно, но если кому-то будет нужно, он это сделает, т.к. это в его же интересах.
    Не возможно, а точно, это распространённая практика среди программистов на С/С++.
    Посмотрите работы других профессионалов - инклуды из YSI, например.


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    2 проверка, как всем известно, предотвращает повторное подключение одного и того-же файла, ну а первая против тех случаев, если кто-то додумается подключить инклуд mapfix к фс mapfix (да, нужно быть кем-то не очень адекватным для этого, но такое возможно).
    В фс же нет дефайна _mapfix_included, верно? А единственное, по чему можно узнать его локальное присутствие, это как раз MAPFIX_VERSION.
    Во-первых, не стоит подстраиваться под быдлокодеров в ущерб своим работам (хотя скорее, под психически нездоровых, быдлокодеры и то могут отличить FS от инклуда).
    Во-вторых, попробуйте посмотреть на всё это под другим углом. Вместо того, чтобы развивать одну, потенциально более гибкую в плане настроек версию, вы собираетесь поддерживать сразу две, взаимно усложняя обе. Выглядит это, мягко говоря, глупо.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

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

    Статус
    Онлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    330
    Репутация:
    102 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Естественно, нужно знать меру и не делать слишком длинные префиксы (лучше исходить из названий перехватываемых функций, чтобы с префиксом эти имена укладывались в лимит из 31 символа).
    Или под "геморроем" вы имели в виду что-то ещё?
    Именно про лимит я и говорил. Если вы делали более-менее большие проекты, вы будете знать, что под каждую функцию разный префикс писать не очень то и круто. mf_ в данной ситуации я считаю уникальным.

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Не возможно, а точно, это распространённая практика среди программистов на С/С++.
    Посмотрите работы других профессионалов - инклуды из YSI, например.
    Что верно то верно, но есть и такое понятие, как индивидуальность.

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Во-первых, не стоит подстраиваться под быдлокодеров в ущерб своим работам (хотя скорее, под психически нездоровых, быдлокодеры и то могут отличить FS от инклуда).
    Во-вторых, попробуйте посмотреть на всё это под другим углом. Вместо того, чтобы развивать одну, потенциально более гибкую в плане настроек версию, вы собираетесь поддерживать сразу две, взаимно усложняя обе. Выглядит это, мягко говоря, глупо.
    Сглупил, чтож. Буду развивать обе версии..

  11. #10
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,583
    Репутация:
    2081 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Если вы делали более-менее большие проекты, вы будете знать, что под каждую функцию разный префикс писать не очень то и круто.
    Разные префиксы для каждой функции? Где я говорил про такое?


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    mf_ в данной ситуации я считаю уникальным.
    Плохо считаете, значит. "My fix", "my file", "money fix" (фикс для чита на накрутку денег?) Список того, из чего ещё может получиться "mf", можно продолжать до бесконечности. Столько же будет и возможностей для совпадения префиксов.


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Что верно то верно, но есть и такое понятие, как индивидуальность.
    Это не оправдание отклонению от общепринятых практик, тем более настолько сомнительному в плане практичности. С вашей логикой любой костыль и недостаток можно спихнуть на "индивидуальность".

    Перенесём ваш пример в реальный мир.
    Представьте себе самолёт, в котором вроде бы всё сделано по стандартам. Но на высоте 6 км двигатели взрываются, потому что их поставщик решил проявить "сюрприз! индивидуальность!", отклонившись на пару миллиметров в конструкции одной из деталей.
    В результате имеем сотни погибших, но кому какое дело? Разработчики двигателей - свободные люди и не обязаны заморачиваться со стандартами!

    Теперь обратно к вашему инклуду. Ваша "индивидуальность", никого не убьёт, естественно. Но идея в том, что отклонение от стандартов никогда не приводит ни к чему хорошему. Ваш случай - не исключение.
    Посмотрите на другие профессионально выполненные инклуды (примеры я уже приводил) - в них во всех необязательные параметры указываются извне, т.е. из скрипта, использующего инклуд.
    Вы же заставляете обращаться со своим инклудом по особому, заставляя не указывать параметры извне, а открывать сам инклуд и редактировать его содержимое.
    В то же время вы настолько печётесь об удобстве других скриптеров, что тянете на себе сразу 2 разных версии одной и той же работы (инклуд и FS). Странно, не находите?



    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Сглупил, чтож. Буду развивать обе версии.
    Вообще-то никогда не поздно отказаться от одной из них, сбросив с себя груз в плане унификации двух совершенно разных по своей природе вещей (инклуд и ФС).
    Я, конечно, понимаю, что вы хотите сделать всё удобным для пользователей, но, как я говорил ранее, всему нужно знать меру.
    В использовании версии в виде FS нет никаких явных преимуществ - разве что можно включать/выключать фиксы, выгружая и загружая скрипт. Но то же самое можно сделать и в инклуде с помощью отдельных функций.
    В конце концов, сам фильтрскрипт можно переписать, как оболочку для инклуда. Либо сделать так, чтобы инклуд мог компилироваться автономно, как фильтрскрипт (такое уже сделано в одной из моих работ - dc_anims). Суть в том, что один и тот же код должен быть написан только один раз.
    Но, раз вы не хотите ничего предпринимать, думаю, вам будет бесполезно говорить что-либо ещё.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

 

 
Страница 1 из 7 123 ... ПоследняяПоследняя

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

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

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

Ваши права

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