Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 5 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 42

Тема: LLSDM

  1. #1
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±

    LLSDM


    beta

    LLSDM - выживание с одной жизнью. Десантируйтесь в тихое место и продвигайтесь в города лутаясь и попадая на билборды лидеров. Весь лут в транспорте. Это оружие и аптечки. В фургонах можно найти рюкзаки, которые увеличат место в инвентаре и позволят носить второе основное оружие. Но за все нужно платить. Собирай опыт и деньги из сумок для прокачки рюкзака. Они в инкассаторских машинах.

    P.S. В этой версии нет ТД. Она только для проверки систем. Сейчас активировано где-то 130 билбордов и создано 40 транспортных средств.
    Несколько месяцев отдыхал от SA-MP

    Разработка:


    Репозиторий: https://github.com/llsdm/LLSDM
    Скачать: https://github.com/llsdm/LLSDM/releases
    Вики: https://github.com/llsdm/LLSDM/wiki
    Веб настройка: https://github.com/llsdm/llsdm-web-settings
    Последний раз редактировалось m1n1vv; 11.08.2019 в 03:10.

  2. 2 пользователя(ей) сказали cпасибо:
    Kovshevoy (11.08.2019) SatanLxrd (27.08.2019)
  3. #2
    Аватар для Kovshevoy
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.07.2015
    Сообщений
    190
    Репутация:
    25 ±
    Не думал, что ты его выложишь. Однозначно респект, годная задумка.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Вот это всё
    1. mysql_tquery(mysql_connect_ID, !"SET CHARACTER SET 'utf8'", "", "");
    2. mysql_tquery(mysql_connect_ID, !"SET NAMES 'utf8'", "", "");
    3. mysql_tquery(mysql_connect_ID, !"SET character_set_client = 'cp1251'", "", "");
    4. mysql_tquery(mysql_connect_ID, !"SET character_set_connection = 'cp1251'", "", "");
    5. mysql_tquery(mysql_connect_ID, !"SET character_set_results = 'cp1251'", "", "");
    6. mysql_tquery(mysql_connect_ID, !"SET SESSION collation_connection = 'utf8_general_ci'", "", "");


    Можно заменить вот этой строчкой :)
    1. mysql_set_charset("cp1251");

    Вот тут подробнее расписывал почему так.




    Так как тема соответствует правилам, переношу её в основной раздел.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Вот это всё
    1. mysql_tquery(mysql_connect_ID, !"SET CHARACTER SET 'utf8'", "", "");
    2. mysql_tquery(mysql_connect_ID, !"SET NAMES 'utf8'", "", "");
    3. mysql_tquery(mysql_connect_ID, !"SET character_set_client = 'cp1251'", "", "");
    4. mysql_tquery(mysql_connect_ID, !"SET character_set_connection = 'cp1251'", "", "");
    5. mysql_tquery(mysql_connect_ID, !"SET character_set_results = 'cp1251'", "", "");
    6. mysql_tquery(mysql_connect_ID, !"SET SESSION collation_connection = 'utf8_general_ci'", "", "");


    Можно заменить вот этой строчкой :)
    1. mysql_set_charset("cp1251");

    Вот тут подробнее расписывал почему так.




    Так как тема соответствует правилам, переношу её в основной раздел.
    Спасибо

  6. #5
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Недочёты, общие для всего мода:
    • Релиз загружен в RAR-архиве. Этим форматом ещё кто-то пользуется?
    • В нескольких файлах табы смешаны с пробелами, равно как и есть лишние табы и пробелы в конце строк.
    • Во многих системах направо и налево используются перехваты коллбэков SA-MP - в таком виде перехваты вызываются только в порядке подключения инклудов и никак иначе. Но что, если понадобится перехваты одного коллбэка вызывать в одном порядке, а другого - в другом?


    Ещё несколько недочётов, которые заметил при беглом просмотре кода (вернее, в одном случайно выбранном файле: uiv.inc):
    • В самом начале файла:
      1. const //vehicleid
      2. AMBULANCE = 416,
      3. COLLECTOR = 428,
      4. TRUCK = 433,
      5. POLICE_VAN = 427,
      6. POLICE_LS = 596,
      7. POLICE_SF = 597,
      8. POLICE_LV = 598,
      9. POLICE_JEEP = 599;

      Глобальное пространство имён засоряется константами со слишком простыми названиями. Здесь есть смысл либо в названии констант добавить больше конкретики (например, не "AMBULANCE", а "VEHMODEL_AMBULANCE"), либо использовать static enum.

    • В функции TrunkOrRearDoorsOfVehicle():
      1. trunk =
      2. uiv_vehicleid[playerid] = 0;

      Это намеренно такой стиль для "двойного" присваивания? Спрашиваю потому, что ничего подобного видеть нигде не доводилось и этот код больше похож на ошибку, как будто забыли дописать присваивание к trunk, но по "счастливой" случайности код скомпилировался и ошибка осталась незамеченной.

    • В функции GetVehTrunk()
      1. new
      2. Float:dis;
      3. dis = dis/2 - distance;

      Здесь можно заметить сразу две ошибки: переменная dis используется в выражении, но не инициализирована (см. "warning 210"), и деление происходит на целое число (2) вместо вещественного (2.0), т.е. будет лишняя конверсия из "2" в "2.0" во время каждого выполнения функции GetVehTrunk().
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    1. Аналогичных констант для задач не будет. Так что без приставки.
    2. Делать из мухи слона? Что ли так сделать:
    PHP код:
    trunk uiv_vehicleid[playerid] = 0

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±

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

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    В admin_cmd_say мало выделил ячеек:

    1. new
    2. string[25] = !"Администратор ";
    3.  
    4. strcat(string, pInfo[playerid][pName]);
    5. strcat(string, !":{FFFFFF} ");
    6. strcat(string, params);
    7. SendClientMessageToAll(COLOR_ADMIN, string);

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Цитата Сообщение от execution Посмотреть сообщение
    В admin_cmd_say мало выделил ячеек:

    1. new
    2. string[25] = !"Администратор ";
    3.  
    4. strcat(string, pInfo[playerid][pName]);
    5. strcat(string, !":{FFFFFF} ");
    6. strcat(string, params);
    7. SendClientMessageToAll(COLOR_ADMIN, string);
    Строка упакована

  12. Пользователь сказал cпасибо:
    execution (11.08.2019)
  13. #10
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от m1n1vv Посмотреть сообщение
    1. Аналогичных констант для задач не будет. Так что без приставки.
    Ну так я потому и предложил static enum, чтобы хотя бы ограничить область видимости констант до одного инклуда и перестраховаться на случай совпадения имён. Вреда от этого никакого не будет в любом случае.


    Цитата Сообщение от m1n1vv Посмотреть сообщение
    2. Делать из мухи слона?
    Никто в этой теме слона не раздувает, просто указывают на возможные недочёты.


    Цитата Сообщение от m1n1vv Посмотреть сообщение
    Что ли так сделать:
    PHP код:
    trunk uiv_vehicleid[playerid] = 0
    В подобных случаях обычно так и делают (если не всегда, то точно в подавляющем большинстве из тех случаев, что приходилось наблюдать).


    В догонку, ещё один бросившийся в глаза недочёт, о котором забыл написать в прошлый раз: функции и переменные названы в разнобой, как будто над кодом работали два разных человека, ни разу не видевшие код друг у друга.
    Например, в том же uiv.inc: "SetVehicleDrop", "TrunkOrRearDoorsOfVehicle", но "GetVehTrunk".
    Или в billboards.inc: массивы с координатами билбордов названы "billboard_objects", "billboard_objects_logo", "billboard_block_objs_t1" и т.д., но массив с информацией о билбордах почему-то назван "BillboardInfo", в стиле CamelCase, как будто это функция. И это не говоря о "BILLBOARDS_NUMS_LEADER" и "BILLBOARDS_NUMS_LOGO", которые не константы.

    Также не совсем понятно на счёт этого коммита:
    https://github.com/llsdm/LLSDM/commi...16e54895f59d09
    Зачем нужно было в одном месте оставлять "return SendClientMessage(...)" как есть, а в другом переделывать в "SendClientMessage(...);\return 1;" ?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  14. Пользователь сказал cпасибо:
    m1n1vv (14.08.2019)
 

 
Страница 1 из 5 1 2 3 ... ПоследняяПоследняя

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

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

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

Ваши права

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