gangzone.ini
Уважаемый, включите свои мозги, скачайте мод и протестируйте его. И не несите такую ересь, насчет того, что данный мод - RLS.
Zangetsu
Это не RLS
______________________________________________
Услуги Pawn
Проверил - да, это не RLS. Но при взгляде на код всё равно возникает какое-то ощущение дежавю.
Например, часть макросов и переменных написана на транслите:
PHP код:
#define COLOR_SERYI 0xE6E6E6E6
#define COLOR_OTVET 0x83F9C8AA
#define COLOR_ALMAZ 0x00FFD5AA
#define MOROZ(%0) TogglePlayerControllable(playerid, %0);
new bool: akk[MAX_PLAYERS];
new bool: Dostup[MAX_PLAYERS];
new bool: Popitka[MAX_PLAYERS];
Одни переменные названы с маленькой буквы, другие - с большой. Определитесь уже.
PHP код:
new Menu: bomj[2];
new SelectCharPlace[MAX_PLAYERS];
new Parol[MAX_PLAYERS];
new TimerAkk[MAX_PLAYERS];
new arendascooter[MAX_PLAYERS];
Также в половине макросов не нужно ставить скобки и точку с запятой после функции - так макросы функций не делаются.
Такого даже в RLS не было.
Кроме того, часть макросов названа в верхнем регистре, часть - в нижнем. Опять же, отсутствие каких-либо вменяемых стандартов.PHP код:
#define com if(Login[playerid] == false) return SCM(playerid, COLOR_GREY, "Необходимо авторизоваться!");
#define flood if(AntiFlood[playerid] > gettime()) return SCM(playerid, COLOR_RED, "Не флуди!"); AntiFlood[playerid] = gettime()+1;
#define ESCM SCM(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду!");
#define ISCM SCM(playerid, COLOR_GREY, "Игрок не найден!");
#define LSCM SCM(playerid, COLOR_GREY, "Игрок не авторизовался!");
И... иногда есть некоторые вещи невозможно объяснить словами:
PHP код:
#define Kickk SetTimerEx("kick", 20, false, "i", playerid);
#define publics%0(%1) forward%0(%1); public%0(%1)
Едем дальше.
Это такая неудачная шутка, да?Код:public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new string[1400];
Как думаете, что это? Переменная, в которую записывается ID какого-то скутера?PHP код:
new scooter;
Да нифига подобного - это ID пикапа. Естественно, нельзя узнать об этом, не обыскав весь мод.PHP код:
stock Pickups()
{
scooter = CreatePickup(19134, 23, 1160.5629,-1771.9706,16.5938);
}
Шаг 1: Зарегистрироваться с паролем "a';DROP TABLE `accounts`;--" (без кавычек).PHP код:
format(src,sizeof(src),"`Pass` = '%s'",Player[i][pPass]);
Шаг 2: ...
Шаг 3: PROFIT.
В общем, назвать это "RLS" нельзя. Скорее, "new.pwn со всеми ужасами кодинга, перенесёнными из RLS на новый мод".
В текущем виде для обучения скриптингу не годится. Я бы упомянул о Правилах раздела, но, по-моему, тут уже нет смысла.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Daniel_Cortez
Уважаемый Daniel_Cortez, нисколько не сомневаюсь в ваших знаниях по pawn, но давайте по-порядку.
1. Переменные называю как хочу - моё право. Неважно, как они названы, от того, что я поменяю имена этим переменным, мод работать лучше не станет.
2. Насчёт new string[1400]; Что тут не так? Насколько мне известно, чтобы уместить огромный текст в диалоге, по другому не сделать.
3. Многое вами сказанное делает вывод о том, что вам просто уже не к чему придраться, и вы начинаете придираться к мелочам, которые на работоспособность мода не повлияют.
Делаем итог: Я НЕ считаю это "нубо-кодингом". Из RLS ничего не было перенесено, разве что только принцип оформления и названия некоторых переменных. И в этом нет ничего плохого
______________________________________________
Услуги Pawn
[сарказм]Правильно, а читаемость кода и простота сопровождения - это так, мелочи...[/сарказм]
Вы про этот, что ли?
К вам встречный вопрос: а зачем форматировать этот текст при каждом вызове? Содержимое строк как-то изменяется между показами диалога?PHP код:
f("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", Pravila[0],Pravila[1],Pravila[2],Pravila[3],Pravila[4],Pravila[5],Pravila[6],Pravila[7],Pravila[8],Pravila[9],Pravila[10],Pravila[11],Pravila[12],Pravila[13],Pravila[14],Pravila[15],Pravila[16],Pravila[17],Pravila[18]);
Достаточно объявить массив string отдельно в каждой ветке case и адекватно рассчитать его размер, исходя из ситуации.
Касаемо диалога с правилами: http://pro-pawn.ru/showthread.php?10012
В вашем случае нужно один раз (именно один раз, а не перед каждым показом диалога - в OnGameModeInit, например) пройтись циклом по массиву строк (от 0-го до предпоследнего элемента) и заменить символы конца строки ('\0') на перенос строки ('\n').
Как я уже сказал, важна не только работоспособность. Пора бы уже понять это.
В подтверждение приведу цитату Мартина Фаулера:
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
Об этом и была речь.
Считайте, как хотите, ваше право. Только не называйте себя после этого скриптером.
И уж тем более, не стоит выкладывать подобные поделия на всеобщее обозрение (ну разве что если вы захотите заработать + в репутацию на g-i - там и без того целая свалка говнокода). Из вашего кода новички ничему хорошему не научатся и только зря потеряют время.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Решил посмотреть "ненубовский" код.
Яндекс плохого не подскажетPHP код:
stock Register(i, passkey[])
{
new string[1400];
strmid(Player[i][pPass],passkey, 0, strlen(passkey), 20);
f("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", Pravila[0],Pravila[1],Pravila[2],Pravila[3],Pravila[4],Pravila[5],Pravila[6],Pravila[7],Pravila[8],Pravila[9],Pravila[10],Pravila[11],Pravila[12],Pravila[13],Pravila[14],Pravila[15],Pravila[16],Pravila[17],Pravila[18]);
SPD(i, 2, DSM, "Правила сервера", string, "Далее", "Назад");
}
gangzone.ini
Не всё
Daniel_Cortez
Насчёт читаемости кода: Начнём с того, что в первую очередь код должен понимать, как я минимум. Пишу я его в первую очередь для себя, а не для других. Начиналась моя жизнь в pawn с мода RLS. Я привык к нему, к его оформлению, и поэтому использую я именно его. Мне так проще, для меня этот код более читаем, и здесь нет ничего плохого. Другие люди так же просто понимают этот код, поэтому здесь вы не до конца правы.
Насчёт string недопонял вас. Если вы меня в чём-то упрекаете, мол я никчемный в pawn, так наоборот бы помогли сами.
Если сравнивать ВСЕ, подчеркиваю ВСЕ паблик моды (хорошие и плохие), то мой их код с моим и рядом не стоит, если я ошибаюсь, то покажите хотя бы 2-3 мода с кодом в целом, который был бы лучше моего.
Zangetsu
Ну извините! Писал мод на скорую руку, ему ещё и недели нет. И вы снова начинаете придираться к мелочам, чтобы (как я считаю) тупо набить себе посты
______________________________________________
Услуги Pawn
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)