Парень, ты кажется порталом ошибся, раз сравниваешь томаса с П-И юзерами П-П. Во-первых, код лично этого мода достаточно не плохой, разве что пару замечаний, но это не суть. Во-вторых, насколько я знаю, gangzone не стала бы пользоваться паблик скриптами, а от томаса макавели уж точно.
ПС: ТС, мне тоже кажется что мод надо чуть переделать чтоб было заметно что это GangWar
Я тоже думал что в воскр. будет новая версия xD
А зачем тогда AntiDeAMX вшила если мод выложен для паблика, не когда не понимал таких людей)
Не сразу увидел что там в моде ркон меняется, понял теперь..
_______
Зачем искать задейфайнено ли MAX_PLAYERS, если в samp он по умолчанию есть и не надо беспокоится что константу украли)PHP код:
#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 5
#else
#define MAX_PLAYERS 5
#endif
________PHP код:
#undef MAX_PLAYERS
#define MAX_PLAYERS 5
Анти ДБ словно портухой маленького дитя отпорол)) бывают же случаи такие когда случайно наехал или под машину спецом кто то кинулся
________
Если не ошибаюсь то в паблике смерти надо делать проверку убийцы на INVALID_PLAYER_ID(может и ошибаюсь даже, но я делал когда то для того чтобы не было ошибок при смерти где массивы убийцы)
Не буду придираться к остальным мелочам, мод прекрасный в плане пострелушек, удачного написания дальнейшего кода =)
Последний раз редактировалось vovandolg; 11.04.2016 в 14:13.
[Anticheat]___Invisible Fly Hack
[Anticheat]____Weapon/Ammo Hack
[Function]______ResetPlayerWeaponSlot
[Function]_______FIX_SetPlayerAmmo
[ServerMod]______TDM | Zombie Apokalypse
Несколько придирок...
#1.
Может я и путаю, но DC вроде бы рекомендовал, и приводил аргументы на счет playerid, params[] (см. Мифы о PAWN скриптинге (цикл уроков)). А еще ничего не возвращается, а это ведь паблик.PHP код:
CMD:menu(playerid)
{
ShowPlayerDialog(playerid, DIALOGUE_MENU, DIALOG_STYLE_LIST, "{0099CC}Меню игрока", "\
1. Статистика\n\
2. Список команд\n\
3. Личные настройки\n\
4. Настройки безопасности\n\
5. Связь с администрацией\n\
6. Улучшение\n\
7. Правила сервера\n\
8. Изменить имя\n\
9. Дополнительно", "Выбрать", "Закрыть");
}
#2
Я считаю, что переменную надо было объявить после всех проверок (и таких в моде дофига).PHP код:
new
Float: max_health;
GetPlayerHealth(playerid, max_health);
if(p_virable[playerid][p_heal] == 0) return SendClientMessage(playerid, COLOR_LIGHTGREY, "У Вас нет аптечки!");
Дальше смотреть не стал, уверен можно еще много чего можно было сделать оптимальней. Возможно это не так уж и важна, но OnPlayerRangName(playerid) так же считаю не уместным названием. Лучше бы переименовать на GetPlayerRang или что то на подобие. Будет время отпишусь еще )
И еще, вам не кажется что это лишний код?
ПС: См. CMD:ans (1788 строка)PHP код:
static const
fmt_str0[] = "Администратор %s[%d] для %s[%d]: %s",
fmt_str1[] = "Администратор %s[%d] для %s[%d]: %s";
new
str0[sizeof fmt_str0 + 31 + MAX_PLAYER_NAME*2 + 144],
str1[sizeof fmt_str1 + 31 + MAX_PLAYER_NAME*2 + 144];
format(str0, sizeof(str0), fmt_str0, p_info[playerid][p_name], playerid, p_info[params[0]][p_name], params[0], params[1]);
SendClientMessage(params[0], 0xFF9945AA, str0);
format(str1, sizeof(str1), fmt_str1, p_info[playerid][p_name], playerid, p_info[params[0]][p_name], params[0], params[1]);
SendAdminMessage(0xFF9945AA, str1);
Последний раз редактировалось Иван Бубнов; Сегодня в 08:21.
Аргументируйте. Его по сути компилятор сам допишет, но дабы в этом убедиться, сейчас скомпилирую какую нибудь команду с/без params, после компиляции выходные файлы декомпилирую, посмотрим результаты А вообще, кажется это пациент цикла уроков xD
Причем тут стиль?
А это:PHP код:
Вот это:
new
Float: max_health;
И это:
new Float: max_health;
Стиль.
Неиспользуемый код.PHP код:
GetPlayerHealth(playerid, max_health);
А на счет ретурнов и названий некоторых костылей вы промолчали.
- - - Добавлено - - -
UPD: Декомпилировал этот участок кода:
Насколько я понял, params нужен чтобы удовлетворить DC_CMD:PHP код:
CMD:test(playerid, params[])
{
return 1;
}
CMD:tet(playerid)
{
}
И еще, результаты декомпиляции команд:PHP код:
public OnPlayerCommandText(playerid, cmdtext)
{
return DC_CMD(playerid, cmdtext);
}
PHP код:
public cmd_test()
{
return 1;
}
public cmd_tet()
{
return 0;
}
Последний раз редактировалось Иван Бубнов; Сегодня в 08:21.
Ну ладно, убери GetPlayerHealth и я посмотрю как у тебя будет работать команда)
Дал результаты декомпилятор? - нет)
Используй GetPlayerHealth после условия, это как минимум правильный вариант. Ибо до проверки if(p_virable[playerid][p_heal] == 0) она нигде не используется. Зачем выделять лишний память.
Последний раз редактировалось Иван Бубнов; 11.04.2016 в 18:12.
Последний раз редактировалось Иван Бубнов; Сегодня в 08:21.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)