Просмотр полной версии : [Вопрос] По зашитному, коду.
Zeror_Dalglish
08.06.2014, 16:11
http://pro-pawn.ru/showthread.php?9142-%D0%9F%D0%BE-%D1%86%D0%B8%D1%84%D0%B5%D1%80%D0%B1%D0%BB%D0%B0%D1%82%D1%83 вот, только что расчертил подобное, но я не знаю как сделать что бы каждый раз рандомно было, да использовать функцию рандом в форматирование но как, можете пример показать?
Ну, например
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button[index_1] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button[index_1] == textdraw_pass_panel_button[index_2])
{
textdraw_pass_panel_button[index_1] = random(10);
index_2 = -1;
}
}
}
textdraw_pass_panel_button - ваш массив, в котором хранятся ID текстдравов кнопок
Zeror_Dalglish
08.06.2014, 16:54
Ну, например
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button[index_1] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button[index_1] == textdraw_pass_panel_button[index_2])
{
textdraw_pass_panel_button[index_1] = random(10);
index_2 = -1;
}
}
}
textdraw_pass_panel_button - ваш массив, в котором хранятся ID текстдравов кнопок
Они до нажатия, должны уже в разном порядке быть. Если я правильно понимаю выше код ставить в паблик кликобельный ТД
Они до нажатия, должны уже в разном порядке быть. Если я правильно понимаю выше код ставить в паблик кликобельный ТД
Нет. Перед формированием текстдравов нужно ставить. И да, я немного не так объяснил. Сделаем иначе
В начало мода
new textdraw_pass_panel_button_string[10];//Атдуши назвал :3
#define TEXTDRAW_BUTTON_PASSWORD[%0] text_draw_name[%0]
Где text_draw_name - массив, в котором хранятся ID текстдравов КНОПОК (куда цифры вставлять будем). Причём это обязательно должен быть отдельный массив, а не общий для всех текстдравов этого меню.
И теперь перед тем, как показывать игроку текстдрав,
new text_string[2];
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]] == textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_2]])
{
textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]]);
TextDrawSetString(TEXTDRAW_BUTTON_PASSWORD[index_1], text_string);// Функцию замените на то, что вам нужно. С текстдравами давно не работал и не помню уже ничего
}
Zeror_Dalglish
08.06.2014, 17:37
Где text_draw_name - массив, в котором хранятся ID текстдравов КНОПОК (куда цифры вставлять будем). Причём это обязательно должен быть отдельный массив, а не общий для всех текстдравов этого меню.
Тоесть например кнопка "1" переменная new Pass_Keys_1; какое ей массив, не совсем все понял вчитывался раз 5 :(
Где text_draw_name - массив, в котором хранятся ID текстдравов КНОПОК (куда цифры вставлять будем). Причём это обязательно должен быть отдельный массив, а не общий для всех текстдравов этого меню.
Тоесть например кнопка "1" переменная new Pass_Keys_1; какое ей массив, не совсем все понял вчитывался раз 5 :(
Ну, допустим, у нас под каждую кнопку выделена своя переменная. То бишь
new Pass_Keys_1;
new Pass_Keys_2;
new Pass_Keys_3;
//и так до 10
Это всё надо переделать в
new Pass_Keys[10];
И, соответственно, создание/отображение и прочее переделать из
Pass_Keys_1
в
Pass_Keys[0]
и так далее. После "text_draw_name" заменить на "Pass_Keys"
Zeror_Dalglish
08.06.2014, 18:20
new Pass_Keys[10];
и под этим я называю, ТД кнопок 1 и т.д?
new Pass_Keys[10];
и под этим я называю, ТД кнопок 1 и т.д?
Эмм, код создания текстдравов покажите
Zeror_Dalglish
08.06.2014, 18:29
Эмм, код создания текстдравов покажите
Он громадный, за одно может быть подскажете как то можно оптимизировать?
Textdraw0 = TextDrawCreate(237.199996, 163.271133, "1");
TextDrawLetterSize(Textdraw0, 0.758000, 3.372089);
TextDrawTextSize(Textdraw0, 250.000015, 65.208900);
TextDrawAlignment(Textdraw0, 1);
TextDrawColor(Textdraw0, -1);
TextDrawUseBox(Textdraw0, true);
TextDrawBoxColor(Textdraw0, 255);
TextDrawSetShadow(Textdraw0, 0);
TextDrawSetOutline(Textdraw0, 1);
TextDrawBackgroundColor(Textdraw0, 51);
TextDrawFont(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
Textdraw1 = TextDrawCreate(264.000000, 156.308883, "usebox");
TextDrawLetterSize(Textdraw1, 0.000000, 4.550493);
TextDrawTextSize(Textdraw1, 223.599990, 0.000000);
TextDrawAlignment(Textdraw1, 1);
TextDrawColor(Textdraw1, -252645718);
TextDrawUseBox(Textdraw1, true);
TextDrawBoxColor(Textdraw1, -2139062017);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetOutline(Textdraw1, 0);
TextDrawFont(Textdraw1, 0);
Textdraw2 = TextDrawCreate(308.000030, 162.275543, "2");
TextDrawLetterSize(Textdraw2, 0.763201, 3.247644);
TextDrawTextSize(Textdraw2, 327.999969, 17.422222);
TextDrawAlignment(Textdraw2, 1);
TextDrawColor(Textdraw2, -1);
TextDrawUseBox(Textdraw2, true);
TextDrawBoxColor(Textdraw2, 255);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetOutline(Textdraw2, 1);
TextDrawBackgroundColor(Textdraw2, 51);
TextDrawFont(Textdraw2, 1);
TextDrawSetProportional(Textdraw2, 1);
Textdraw3 = TextDrawCreate(338.399627, 156.806503, "usebox");
TextDrawLetterSize(Textdraw3, 0.000000, 4.573702);
TextDrawTextSize(Textdraw3, 297.599761, 0.000000);
TextDrawAlignment(Textdraw3, 1);
TextDrawColor(Textdraw3, 0);
TextDrawUseBox(Textdraw3, true);
TextDrawBoxColor(Textdraw3, -2139062017);
TextDrawSetShadow(Textdraw3, 0);
TextDrawSetOutline(Textdraw3, 0);
TextDrawFont(Textdraw3, 0);
Textdraw4 = TextDrawCreate(385.599822, 165.760025, "3");
TextDrawLetterSize(Textdraw4, 0.770000, 3.028622);
TextDrawTextSize(Textdraw4, 406.399993, 75.164436);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, -1);
TextDrawUseBox(Textdraw4, true);
TextDrawBoxColor(Textdraw4, 255);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 1);
TextDrawBackgroundColor(Textdraw4, 51);
TextDrawFont(Textdraw4, 1);
TextDrawSetProportional(Textdraw4, 1);
Textdraw5 = TextDrawCreate(414.399688, 157.304367, "usebox");
TextDrawLetterSize(Textdraw5, 0.000000, 4.565803);
TextDrawTextSize(Textdraw5, 373.599670, 0.000000);
TextDrawAlignment(Textdraw5, 1);
TextDrawColor(Textdraw5, 0);
TextDrawUseBox(Textdraw5, true);
TextDrawBoxColor(Textdraw5, -2139062017);
TextDrawSetShadow(Textdraw5, 0);
TextDrawSetOutline(Textdraw5, 0);
TextDrawFont(Textdraw5, 0);
Textdraw6 = TextDrawCreate(232.400054, 230.470977, "4");
TextDrawLetterSize(Textdraw6, 0.853600, 3.352177);
TextDrawTextSize(Textdraw6, 255.599838, 9.955553);
TextDrawAlignment(Textdraw6, 1);
TextDrawColor(Textdraw6, -1);
TextDrawUseBox(Textdraw6, true);
TextDrawBoxColor(Textdraw6, 255);
TextDrawSetShadow(Textdraw6, 0);
TextDrawSetOutline(Textdraw6, 1);
TextDrawBackgroundColor(Textdraw6, 51);
TextDrawFont(Textdraw6, 1);
TextDrawSetProportional(Textdraw6, 1);
Textdraw7 = TextDrawCreate(264.000000, 267.312164, "usebox");
TextDrawLetterSize(Textdraw7, 0.000000, -5.294445);
TextDrawTextSize(Textdraw7, 223.199981, 0.000000);
TextDrawAlignment(Textdraw7, 1);
TextDrawColor(Textdraw7, 0);
TextDrawUseBox(Textdraw7, true);
TextDrawBoxColor(Textdraw7, -2139062017);
TextDrawSetShadow(Textdraw7, 0);
TextDrawSetOutline(Textdraw7, 0);
TextDrawFont(Textdraw7, 0);
Textdraw8 = TextDrawCreate(307.199951, 230.968643, "5");
TextDrawLetterSize(Textdraw8, 0.768400, 3.068443);
TextDrawTextSize(Textdraw8, 325.999908, 10.453332);
TextDrawAlignment(Textdraw8, 1);
TextDrawColor(Textdraw8, -1);
TextDrawUseBox(Textdraw8, true);
TextDrawBoxColor(Textdraw8, 255);
TextDrawSetShadow(Textdraw8, 0);
TextDrawSetOutline(Textdraw8, 1);
TextDrawBackgroundColor(Textdraw8, 51);
TextDrawFont(Textdraw8, 1);
TextDrawSetProportional(Textdraw8, 1);
Textdraw9 = TextDrawCreate(335.999725, 225.002120, "usebox");
TextDrawLetterSize(Textdraw9, 0.000000, 4.605803);
TextDrawTextSize(Textdraw9, 295.199707, 0.000000);
TextDrawAlignment(Textdraw9, 1);
TextDrawColor(Textdraw9, 0);
TextDrawUseBox(Textdraw9, true);
TextDrawBoxColor(Textdraw9, -2139062017);
TextDrawSetShadow(Textdraw9, 0);
TextDrawSetOutline(Textdraw9, 0);
TextDrawFont(Textdraw9, 0);
Textdraw10 = TextDrawCreate(384.399902, 233.955413, "6");
TextDrawLetterSize(Textdraw10, 0.737999, 3.058488);
TextDrawTextSize(Textdraw10, 405.199951, 18.417778);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawUseBox(Textdraw10, true);
TextDrawBoxColor(Textdraw10, 255);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 1);
TextDrawSetProportional(Textdraw10, 1);
Textdraw11 = TextDrawCreate(415.999969, 225.997787, "usebox");
TextDrawLetterSize(Textdraw11, 0.000000, 4.716419);
TextDrawTextSize(Textdraw11, 374.399963, 0.000000);
TextDrawAlignment(Textdraw11, 1);
TextDrawColor(Textdraw11, 0);
TextDrawUseBox(Textdraw11, true);
TextDrawBoxColor(Textdraw11, -2139062017);
TextDrawSetShadow(Textdraw11, 0);
TextDrawSetOutline(Textdraw11, 0);
TextDrawFont(Textdraw11, 0);
Textdraw12 = TextDrawCreate(233.200057, 291.697509, "7");
TextDrawLetterSize(Textdraw12, 0.809600, 3.128178);
TextDrawTextSize(Textdraw12, 250.399993, 13.937776);
TextDrawAlignment(Textdraw12, 1);
TextDrawColor(Textdraw12, -1);
TextDrawUseBox(Textdraw12, true);
TextDrawBoxColor(Textdraw12, 255);
TextDrawSetShadow(Textdraw12, 0);
TextDrawSetOutline(Textdraw12, 1);
TextDrawBackgroundColor(Textdraw12, 51);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);
Textdraw13 = TextDrawCreate(262.400024, 285.731109, "usebox");
TextDrawLetterSize(Textdraw13, 0.000000, 4.329257);
TextDrawTextSize(Textdraw13, 222.000000, 0.000000);
TextDrawAlignment(Textdraw13, 1);
TextDrawColor(Textdraw13, 0);
TextDrawUseBox(Textdraw13, true);
TextDrawBoxColor(Textdraw13, -2139062017);
TextDrawSetShadow(Textdraw13, 0);
TextDrawSetOutline(Textdraw13, 0);
TextDrawFont(Textdraw13, 0);
Textdraw14 = TextDrawCreate(307.599914, 293.688751, "8");
TextDrawLetterSize(Textdraw14, 0.780000, 2.988799);
TextDrawTextSize(Textdraw14, 326.399993, 13.439996);
TextDrawAlignment(Textdraw14, 1);
TextDrawColor(Textdraw14, -1);
TextDrawUseBox(Textdraw14, true);
TextDrawBoxColor(Textdraw14, 255);
TextDrawSetShadow(Textdraw14, 0);
TextDrawSetOutline(Textdraw14, 1);
TextDrawBackgroundColor(Textdraw14, 51);
TextDrawFont(Textdraw14, 1);
TextDrawSetProportional(Textdraw14, 1);
Textdraw15 = TextDrawCreate(336.399993, 288.220001, "usebox");
TextDrawLetterSize(Textdraw15, 0.000000, 4.052714);
TextDrawTextSize(Textdraw15, 295.600006, 0.000000);
TextDrawAlignment(Textdraw15, 1);
TextDrawColor(Textdraw15, 0);
TextDrawUseBox(Textdraw15, true);
TextDrawBoxColor(Textdraw15, -2139062017);
TextDrawSetShadow(Textdraw15, 0);
TextDrawSetOutline(Textdraw15, 0);
TextDrawFont(Textdraw15, 0);
Textdraw16 = TextDrawCreate(388.400085, 293.688568, "9");
TextDrawLetterSize(Textdraw16, 0.753200, 2.829512);
TextDrawTextSize(Textdraw16, 404.799957, 0.000001);
TextDrawAlignment(Textdraw16, 1);
TextDrawColor(Textdraw16, -1);
TextDrawUseBox(Textdraw16, true);
TextDrawBoxColor(Textdraw16, 255);
TextDrawSetShadow(Textdraw16, 0);
TextDrawSetOutline(Textdraw16, 1);
TextDrawBackgroundColor(Textdraw16, 51);
TextDrawFont(Textdraw16, 1);
TextDrawSetProportional(Textdraw16, 1);
Textdraw17 = TextDrawCreate(416.000000, 288.717773, "usebox");
TextDrawLetterSize(Textdraw17, 0.000000, 3.776174);
TextDrawTextSize(Textdraw17, 375.599975, 0.000000);
TextDrawAlignment(Textdraw17, 1);
TextDrawColor(Textdraw17, 0);
TextDrawUseBox(Textdraw17, true);
TextDrawBoxColor(Textdraw17, -2139062017);
TextDrawSetShadow(Textdraw17, 0);
TextDrawSetOutline(Textdraw17, 0);
TextDrawFont(Textdraw17, 0);
Textdraw18 = TextDrawCreate(309.600006, 348.942260, "0");
TextDrawLetterSize(Textdraw18, 0.782000, 3.148088);
TextDrawTextSize(Textdraw18, 326.399902, 6.968887);
TextDrawAlignment(Textdraw18, 1);
TextDrawColor(Textdraw18, -1);
TextDrawUseBox(Textdraw18, true);
TextDrawBoxColor(Textdraw18, 255);
TextDrawSetShadow(Textdraw18, 0);
TextDrawSetOutline(Textdraw18, 1);
TextDrawBackgroundColor(Textdraw18, 51);
TextDrawFont(Textdraw18, 1);
TextDrawSetProportional(Textdraw18, 1);
Textdraw19 = TextDrawCreate(336.399993, 342.477783, "usebox");
TextDrawLetterSize(Textdraw19, 0.000000, 4.273950);
TextDrawTextSize(Textdraw19, 298.400024, 0.000000);
TextDrawAlignment(Textdraw19, 1);
TextDrawColor(Textdraw19, 0);
TextDrawUseBox(Textdraw19, true);
TextDrawBoxColor(Textdraw19, -2139062017);
TextDrawSetShadow(Textdraw19, 0);
TextDrawSetOutline(Textdraw19, 0);
TextDrawFont(Textdraw19, 0);
Глобальный потому что я забыл переключить в редакторе для игрока, переделаю под игрока.
Для игрока нужно делать только сами цифры и поле, в котором будет выводить текст (если оно есть). Бок и прочее оставьте глобальными и создавайте только при старте сервера (НЕ в OnPlayerConnect).
Оптимизировать тут нечего,. Ну разве что индивидуальные текстдравы сделать одним способом, а глобальные - другим. Вся остальная "оптимизация" на обработку кода машиной никак не повлияет.
Textdraw18 = TextDrawCreate(309.600006, 348.942260, "0");
TextDrawLetterSize(Textdraw18, 0.782000, 3.148088);
TextDrawTextSize(Textdraw18, 326.399902, 6.968887);
TextDrawAlignment(Textdraw18, 1);
TextDrawColor(Textdraw18, -1);
TextDrawUseBox(Textdraw18, true);
TextDrawBoxColor(Textdraw18, 255);
TextDrawSetShadow(Textdraw18, 0);
TextDrawSetOutline(Textdraw18, 1);
TextDrawBackgroundColor(Textdraw18, 51);
TextDrawFont(Textdraw18, 1);
TextDrawSetProportional(Textdraw18, 1);
Textdraw0 = TextDrawCreate(237.199996, 163.271133, "1");
TextDrawLetterSize(Textdraw0, 0.758000, 3.372089);
TextDrawTextSize(Textdraw0, 250.000015, 65.208900);
TextDrawAlignment(Textdraw0, 1);
TextDrawColor(Textdraw0, -1);
TextDrawUseBox(Textdraw0, true);
TextDrawBoxColor(Textdraw0, 255);
TextDrawSetShadow(Textdraw0, 0);
TextDrawSetOutline(Textdraw0, 1);
TextDrawBackgroundColor(Textdraw0, 51);
TextDrawFont(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
Textdraw2 = TextDrawCreate(308.000030, 162.275543, "2");
TextDrawLetterSize(Textdraw2, 0.763201, 3.247644);
TextDrawTextSize(Textdraw2, 327.999969, 17.422222);
TextDrawAlignment(Textdraw2, 1);
TextDrawColor(Textdraw2, -1);
TextDrawUseBox(Textdraw2, true);
TextDrawBoxColor(Textdraw2, 255);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetOutline(Textdraw2, 1);
TextDrawBackgroundColor(Textdraw2, 51);
TextDrawFont(Textdraw2, 1);
TextDrawSetProportional(Textdraw2, 1);
Textdraw4 = TextDrawCreate(385.599822, 165.760025, "3");
TextDrawLetterSize(Textdraw4, 0.770000, 3.028622);
TextDrawTextSize(Textdraw4, 406.399993, 75.164436);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, -1);
TextDrawUseBox(Textdraw4, true);
TextDrawBoxColor(Textdraw4, 255);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 1);
TextDrawBackgroundColor(Textdraw4, 51);
TextDrawFont(Textdraw4, 1);
TextDrawSetProportional(Textdraw4, 1);
Textdraw6 = TextDrawCreate(232.400054, 230.470977, "4");
TextDrawLetterSize(Textdraw6, 0.853600, 3.352177);
TextDrawTextSize(Textdraw6, 255.599838, 9.955553);
TextDrawAlignment(Textdraw6, 1);
TextDrawColor(Textdraw6, -1);
TextDrawUseBox(Textdraw6, true);
TextDrawBoxColor(Textdraw6, 255);
TextDrawSetShadow(Textdraw6, 0);
TextDrawSetOutline(Textdraw6, 1);
TextDrawBackgroundColor(Textdraw6, 51);
TextDrawFont(Textdraw6, 1);
TextDrawSetProportional(Textdraw6, 1);
Textdraw8 = TextDrawCreate(307.199951, 230.968643, "5");
TextDrawLetterSize(Textdraw8, 0.768400, 3.068443);
TextDrawTextSize(Textdraw8, 325.999908, 10.453332);
TextDrawAlignment(Textdraw8, 1);
TextDrawColor(Textdraw8, -1);
TextDrawUseBox(Textdraw8, true);
TextDrawBoxColor(Textdraw8, 255);
TextDrawSetShadow(Textdraw8, 0);
TextDrawSetOutline(Textdraw8, 1);
TextDrawBackgroundColor(Textdraw8, 51);
TextDrawFont(Textdraw8, 1);
TextDrawSetProportional(Textdraw8, 1);
Textdraw10 = TextDrawCreate(384.399902, 233.955413, "6");
TextDrawLetterSize(Textdraw10, 0.737999, 3.058488);
TextDrawTextSize(Textdraw10, 405.199951, 18.417778);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawUseBox(Textdraw10, true);
TextDrawBoxColor(Textdraw10, 255);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 1);
TextDrawSetProportional(Textdraw10, 1);
Textdraw12 = TextDrawCreate(233.200057, 291.697509, "7");
TextDrawLetterSize(Textdraw12, 0.809600, 3.128178);
TextDrawTextSize(Textdraw12, 250.399993, 13.937776);
TextDrawAlignment(Textdraw12, 1);
TextDrawColor(Textdraw12, -1);
TextDrawUseBox(Textdraw12, true);
TextDrawBoxColor(Textdraw12, 255);
TextDrawSetShadow(Textdraw12, 0);
TextDrawSetOutline(Textdraw12, 1);
TextDrawBackgroundColor(Textdraw12, 51);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);
Textdraw14 = TextDrawCreate(307.599914, 293.688751, "8");
TextDrawLetterSize(Textdraw14, 0.780000, 2.988799);
TextDrawTextSize(Textdraw14, 326.399993, 13.439996);
TextDrawAlignment(Textdraw14, 1);
TextDrawColor(Textdraw14, -1);
TextDrawUseBox(Textdraw14, true);
TextDrawBoxColor(Textdraw14, 255);
TextDrawSetShadow(Textdraw14, 0);
TextDrawSetOutline(Textdraw14, 1);
TextDrawBackgroundColor(Textdraw14, 51);
TextDrawFont(Textdraw14, 1);
TextDrawSetProportional(Textdraw14, 1);
Textdraw16 = TextDrawCreate(388.400085, 293.688568, "9");
TextDrawLetterSize(Textdraw16, 0.753200, 2.829512);
TextDrawTextSize(Textdraw16, 404.799957, 0.000001);
TextDrawAlignment(Textdraw16, 1);
TextDrawColor(Textdraw16, -1);
TextDrawUseBox(Textdraw16, true);
TextDrawBoxColor(Textdraw16, 255);
TextDrawSetShadow(Textdraw16, 0);
TextDrawSetOutline(Textdraw16, 1);
TextDrawBackgroundColor(Textdraw16, 51);
TextDrawFont(Textdraw16, 1);
TextDrawSetProportional(Textdraw16, 1);
Textdraw1 = TextDrawCreate(264.000000, 156.308883, "usebox");
TextDrawLetterSize(Textdraw1, 0.000000, 4.550493);
TextDrawTextSize(Textdraw1, 223.599990, 0.000000);
TextDrawAlignment(Textdraw1, 1);
TextDrawColor(Textdraw1, -252645718);
TextDrawUseBox(Textdraw1, true);
TextDrawBoxColor(Textdraw1, -2139062017);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetOutline(Textdraw1, 0);
TextDrawFont(Textdraw1, 0);
Textdraw3 = TextDrawCreate(338.399627, 156.806503, "usebox");
TextDrawLetterSize(Textdraw3, 0.000000, 4.573702);
TextDrawTextSize(Textdraw3, 297.599761, 0.000000);
TextDrawAlignment(Textdraw3, 1);
TextDrawColor(Textdraw3, 0);
TextDrawUseBox(Textdraw3, true);
TextDrawBoxColor(Textdraw3, -2139062017);
TextDrawSetShadow(Textdraw3, 0);
TextDrawSetOutline(Textdraw3, 0);
TextDrawFont(Textdraw3, 0);
Textdraw5 = TextDrawCreate(414.399688, 157.304367, "usebox");
TextDrawLetterSize(Textdraw5, 0.000000, 4.565803);
TextDrawTextSize(Textdraw5, 373.599670, 0.000000);
TextDrawAlignment(Textdraw5, 1);
TextDrawColor(Textdraw5, 0);
TextDrawUseBox(Textdraw5, true);
TextDrawBoxColor(Textdraw5, -2139062017);
TextDrawSetShadow(Textdraw5, 0);
TextDrawSetOutline(Textdraw5, 0);
TextDrawFont(Textdraw5, 0);
Textdraw7 = TextDrawCreate(264.000000, 267.312164, "usebox");
TextDrawLetterSize(Textdraw7, 0.000000, -5.294445);
TextDrawTextSize(Textdraw7, 223.199981, 0.000000);
TextDrawAlignment(Textdraw7, 1);
TextDrawColor(Textdraw7, 0);
TextDrawUseBox(Textdraw7, true);
TextDrawBoxColor(Textdraw7, -2139062017);
TextDrawSetShadow(Textdraw7, 0);
TextDrawSetOutline(Textdraw7, 0);
TextDrawFont(Textdraw7, 0);
Textdraw9 = TextDrawCreate(335.999725, 225.002120, "usebox");
TextDrawLetterSize(Textdraw9, 0.000000, 4.605803);
TextDrawTextSize(Textdraw9, 295.199707, 0.000000);
TextDrawAlignment(Textdraw9, 1);
TextDrawColor(Textdraw9, 0);
TextDrawUseBox(Textdraw9, true);
TextDrawBoxColor(Textdraw9, -2139062017);
TextDrawSetShadow(Textdraw9, 0);
TextDrawSetOutline(Textdraw9, 0);
TextDrawFont(Textdraw9, 0);
Textdraw11 = TextDrawCreate(415.999969, 225.997787, "usebox");
TextDrawLetterSize(Textdraw11, 0.000000, 4.716419);
TextDrawTextSize(Textdraw11, 374.399963, 0.000000);
TextDrawAlignment(Textdraw11, 1);
TextDrawColor(Textdraw11, 0);
TextDrawUseBox(Textdraw11, true);
TextDrawBoxColor(Textdraw11, -2139062017);
TextDrawSetShadow(Textdraw11, 0);
TextDrawSetOutline(Textdraw11, 0);
TextDrawFont(Textdraw11, 0);
Textdraw13 = TextDrawCreate(262.400024, 285.731109, "usebox");
TextDrawLetterSize(Textdraw13, 0.000000, 4.329257);
TextDrawTextSize(Textdraw13, 222.000000, 0.000000);
TextDrawAlignment(Textdraw13, 1);
TextDrawColor(Textdraw13, 0);
TextDrawUseBox(Textdraw13, true);
TextDrawBoxColor(Textdraw13, -2139062017);
TextDrawSetShadow(Textdraw13, 0);
TextDrawSetOutline(Textdraw13, 0);
TextDrawFont(Textdraw13, 0);
Textdraw15 = TextDrawCreate(336.399993, 288.220001, "usebox");
TextDrawLetterSize(Textdraw15, 0.000000, 4.052714);
TextDrawTextSize(Textdraw15, 295.600006, 0.000000);
TextDrawAlignment(Textdraw15, 1);
TextDrawColor(Textdraw15, 0);
TextDrawUseBox(Textdraw15, true);
TextDrawBoxColor(Textdraw15, -2139062017);
TextDrawSetShadow(Textdraw15, 0);
TextDrawSetOutline(Textdraw15, 0);
TextDrawFont(Textdraw15, 0);
Textdraw17 = TextDrawCreate(416.000000, 288.717773, "usebox");
TextDrawLetterSize(Textdraw17, 0.000000, 3.776174);
TextDrawTextSize(Textdraw17, 375.599975, 0.000000);
TextDrawAlignment(Textdraw17, 1);
TextDrawColor(Textdraw17, 0);
TextDrawUseBox(Textdraw17, true);
TextDrawBoxColor(Textdraw17, -2139062017);
TextDrawSetShadow(Textdraw17, 0);
TextDrawSetOutline(Textdraw17, 0);
TextDrawFont(Textdraw17, 0);
Textdraw19 = TextDrawCreate(336.399993, 342.477783, "usebox");
TextDrawLetterSize(Textdraw19, 0.000000, 4.273950);
TextDrawTextSize(Textdraw19, 298.400024, 0.000000);
TextDrawAlignment(Textdraw19, 1);
TextDrawColor(Textdraw19, 0);
TextDrawUseBox(Textdraw19, true);
TextDrawBoxColor(Textdraw19, -2139062017);
TextDrawSetShadow(Textdraw19, 0);
TextDrawSetOutline(Textdraw19, 0);
TextDrawFont(Textdraw19, 0);
Свой код замените на этот. После нажмите "CTRL + H"
И в верхнее поле введите
Textdraw18
а в нижнее
textdraw_panel_button[0]
и после нажмите "Ок" (или что там будет).
1 - верхнее поле
2 - нижнее поле
1) Textdraw0
2) textdraw_panel_button[1]
1) Textdraw2
2) textdraw_panel_button[2]
1) Textdraw4
2) textdraw_panel_button[3]
1) Textdraw6
2) textdraw_panel_button[4]
1) Textdraw8
2) textdraw_panel_button[5]
1) Textdraw10
2) textdraw_panel_button[6
1) Textdraw12
2) textdraw_panel_button[7]
1) Textdraw14
2) textdraw_panel_button[8]
1) Textdraw16
2) textdraw_panel_button[9]
И далее макрос замените на
#define TEXTDRAW_BUTTON_PASSWORD[%0] textdraw_panel_button[%0]
а так же удалите все переменные, а-ля
new Text: textdraw_panel_button[0];
new Text: textdraw_panel_button[1];
new Text: textdraw_panel_button[2];
//И т.д.
и добавьте вместо них одну
new Text: textdraw_panel_button[10];
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button[index_1] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button[index_1] == textdraw_pass_panel_button[index_2])
{
textdraw_pass_panel_button[index_1] = random(10);
index_2 = -1;
}
}
}
stock Shuffle(array[], size = sizeof array)
{
new
index,
rand,
buffer;
for(; index < size; index ++)
{
rand = random(size);
buffer = array[index];
array[index] = array[rand];
array[rand] = buffer;
}
}
Example code:
new array[10] = {0, 1, ...};
Shuffle(array);
Zeror_Dalglish
08.06.2014, 19:55
Для игрока нужно делать только сами цифры и поле, в котором будет выводить текст (если оно есть). Бок и прочее оставьте глобальными и создавайте только при старте сервера (НЕ в OnPlayerConnect).
Оптимизировать тут нечего,. Ну разве что индивидуальные текстдравы сделать одним способом, а глобальные - другим. Вся остальная "оптимизация" на обработку кода машиной никак не повлияет.
Textdraw18 = TextDrawCreate(309.600006, 348.942260, "0");
TextDrawLetterSize(Textdraw18, 0.782000, 3.148088);
TextDrawTextSize(Textdraw18, 326.399902, 6.968887);
TextDrawAlignment(Textdraw18, 1);
TextDrawColor(Textdraw18, -1);
TextDrawUseBox(Textdraw18, true);
TextDrawBoxColor(Textdraw18, 255);
TextDrawSetShadow(Textdraw18, 0);
TextDrawSetOutline(Textdraw18, 1);
TextDrawBackgroundColor(Textdraw18, 51);
TextDrawFont(Textdraw18, 1);
TextDrawSetProportional(Textdraw18, 1);
Textdraw0 = TextDrawCreate(237.199996, 163.271133, "1");
TextDrawLetterSize(Textdraw0, 0.758000, 3.372089);
TextDrawTextSize(Textdraw0, 250.000015, 65.208900);
TextDrawAlignment(Textdraw0, 1);
TextDrawColor(Textdraw0, -1);
TextDrawUseBox(Textdraw0, true);
TextDrawBoxColor(Textdraw0, 255);
TextDrawSetShadow(Textdraw0, 0);
TextDrawSetOutline(Textdraw0, 1);
TextDrawBackgroundColor(Textdraw0, 51);
TextDrawFont(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
Textdraw2 = TextDrawCreate(308.000030, 162.275543, "2");
TextDrawLetterSize(Textdraw2, 0.763201, 3.247644);
TextDrawTextSize(Textdraw2, 327.999969, 17.422222);
TextDrawAlignment(Textdraw2, 1);
TextDrawColor(Textdraw2, -1);
TextDrawUseBox(Textdraw2, true);
TextDrawBoxColor(Textdraw2, 255);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetOutline(Textdraw2, 1);
TextDrawBackgroundColor(Textdraw2, 51);
TextDrawFont(Textdraw2, 1);
TextDrawSetProportional(Textdraw2, 1);
Textdraw4 = TextDrawCreate(385.599822, 165.760025, "3");
TextDrawLetterSize(Textdraw4, 0.770000, 3.028622);
TextDrawTextSize(Textdraw4, 406.399993, 75.164436);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, -1);
TextDrawUseBox(Textdraw4, true);
TextDrawBoxColor(Textdraw4, 255);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 1);
TextDrawBackgroundColor(Textdraw4, 51);
TextDrawFont(Textdraw4, 1);
TextDrawSetProportional(Textdraw4, 1);
Textdraw6 = TextDrawCreate(232.400054, 230.470977, "4");
TextDrawLetterSize(Textdraw6, 0.853600, 3.352177);
TextDrawTextSize(Textdraw6, 255.599838, 9.955553);
TextDrawAlignment(Textdraw6, 1);
TextDrawColor(Textdraw6, -1);
TextDrawUseBox(Textdraw6, true);
TextDrawBoxColor(Textdraw6, 255);
TextDrawSetShadow(Textdraw6, 0);
TextDrawSetOutline(Textdraw6, 1);
TextDrawBackgroundColor(Textdraw6, 51);
TextDrawFont(Textdraw6, 1);
TextDrawSetProportional(Textdraw6, 1);
Textdraw8 = TextDrawCreate(307.199951, 230.968643, "5");
TextDrawLetterSize(Textdraw8, 0.768400, 3.068443);
TextDrawTextSize(Textdraw8, 325.999908, 10.453332);
TextDrawAlignment(Textdraw8, 1);
TextDrawColor(Textdraw8, -1);
TextDrawUseBox(Textdraw8, true);
TextDrawBoxColor(Textdraw8, 255);
TextDrawSetShadow(Textdraw8, 0);
TextDrawSetOutline(Textdraw8, 1);
TextDrawBackgroundColor(Textdraw8, 51);
TextDrawFont(Textdraw8, 1);
TextDrawSetProportional(Textdraw8, 1);
Textdraw10 = TextDrawCreate(384.399902, 233.955413, "6");
TextDrawLetterSize(Textdraw10, 0.737999, 3.058488);
TextDrawTextSize(Textdraw10, 405.199951, 18.417778);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawUseBox(Textdraw10, true);
TextDrawBoxColor(Textdraw10, 255);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 1);
TextDrawSetProportional(Textdraw10, 1);
Textdraw12 = TextDrawCreate(233.200057, 291.697509, "7");
TextDrawLetterSize(Textdraw12, 0.809600, 3.128178);
TextDrawTextSize(Textdraw12, 250.399993, 13.937776);
TextDrawAlignment(Textdraw12, 1);
TextDrawColor(Textdraw12, -1);
TextDrawUseBox(Textdraw12, true);
TextDrawBoxColor(Textdraw12, 255);
TextDrawSetShadow(Textdraw12, 0);
TextDrawSetOutline(Textdraw12, 1);
TextDrawBackgroundColor(Textdraw12, 51);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);
Textdraw14 = TextDrawCreate(307.599914, 293.688751, "8");
TextDrawLetterSize(Textdraw14, 0.780000, 2.988799);
TextDrawTextSize(Textdraw14, 326.399993, 13.439996);
TextDrawAlignment(Textdraw14, 1);
TextDrawColor(Textdraw14, -1);
TextDrawUseBox(Textdraw14, true);
TextDrawBoxColor(Textdraw14, 255);
TextDrawSetShadow(Textdraw14, 0);
TextDrawSetOutline(Textdraw14, 1);
TextDrawBackgroundColor(Textdraw14, 51);
TextDrawFont(Textdraw14, 1);
TextDrawSetProportional(Textdraw14, 1);
Textdraw16 = TextDrawCreate(388.400085, 293.688568, "9");
TextDrawLetterSize(Textdraw16, 0.753200, 2.829512);
TextDrawTextSize(Textdraw16, 404.799957, 0.000001);
TextDrawAlignment(Textdraw16, 1);
TextDrawColor(Textdraw16, -1);
TextDrawUseBox(Textdraw16, true);
TextDrawBoxColor(Textdraw16, 255);
TextDrawSetShadow(Textdraw16, 0);
TextDrawSetOutline(Textdraw16, 1);
TextDrawBackgroundColor(Textdraw16, 51);
TextDrawFont(Textdraw16, 1);
TextDrawSetProportional(Textdraw16, 1);
Textdraw1 = TextDrawCreate(264.000000, 156.308883, "usebox");
TextDrawLetterSize(Textdraw1, 0.000000, 4.550493);
TextDrawTextSize(Textdraw1, 223.599990, 0.000000);
TextDrawAlignment(Textdraw1, 1);
TextDrawColor(Textdraw1, -252645718);
TextDrawUseBox(Textdraw1, true);
TextDrawBoxColor(Textdraw1, -2139062017);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetOutline(Textdraw1, 0);
TextDrawFont(Textdraw1, 0);
Textdraw3 = TextDrawCreate(338.399627, 156.806503, "usebox");
TextDrawLetterSize(Textdraw3, 0.000000, 4.573702);
TextDrawTextSize(Textdraw3, 297.599761, 0.000000);
TextDrawAlignment(Textdraw3, 1);
TextDrawColor(Textdraw3, 0);
TextDrawUseBox(Textdraw3, true);
TextDrawBoxColor(Textdraw3, -2139062017);
TextDrawSetShadow(Textdraw3, 0);
TextDrawSetOutline(Textdraw3, 0);
TextDrawFont(Textdraw3, 0);
Textdraw5 = TextDrawCreate(414.399688, 157.304367, "usebox");
TextDrawLetterSize(Textdraw5, 0.000000, 4.565803);
TextDrawTextSize(Textdraw5, 373.599670, 0.000000);
TextDrawAlignment(Textdraw5, 1);
TextDrawColor(Textdraw5, 0);
TextDrawUseBox(Textdraw5, true);
TextDrawBoxColor(Textdraw5, -2139062017);
TextDrawSetShadow(Textdraw5, 0);
TextDrawSetOutline(Textdraw5, 0);
TextDrawFont(Textdraw5, 0);
Textdraw7 = TextDrawCreate(264.000000, 267.312164, "usebox");
TextDrawLetterSize(Textdraw7, 0.000000, -5.294445);
TextDrawTextSize(Textdraw7, 223.199981, 0.000000);
TextDrawAlignment(Textdraw7, 1);
TextDrawColor(Textdraw7, 0);
TextDrawUseBox(Textdraw7, true);
TextDrawBoxColor(Textdraw7, -2139062017);
TextDrawSetShadow(Textdraw7, 0);
TextDrawSetOutline(Textdraw7, 0);
TextDrawFont(Textdraw7, 0);
Textdraw9 = TextDrawCreate(335.999725, 225.002120, "usebox");
TextDrawLetterSize(Textdraw9, 0.000000, 4.605803);
TextDrawTextSize(Textdraw9, 295.199707, 0.000000);
TextDrawAlignment(Textdraw9, 1);
TextDrawColor(Textdraw9, 0);
TextDrawUseBox(Textdraw9, true);
TextDrawBoxColor(Textdraw9, -2139062017);
TextDrawSetShadow(Textdraw9, 0);
TextDrawSetOutline(Textdraw9, 0);
TextDrawFont(Textdraw9, 0);
Textdraw11 = TextDrawCreate(415.999969, 225.997787, "usebox");
TextDrawLetterSize(Textdraw11, 0.000000, 4.716419);
TextDrawTextSize(Textdraw11, 374.399963, 0.000000);
TextDrawAlignment(Textdraw11, 1);
TextDrawColor(Textdraw11, 0);
TextDrawUseBox(Textdraw11, true);
TextDrawBoxColor(Textdraw11, -2139062017);
TextDrawSetShadow(Textdraw11, 0);
TextDrawSetOutline(Textdraw11, 0);
TextDrawFont(Textdraw11, 0);
Textdraw13 = TextDrawCreate(262.400024, 285.731109, "usebox");
TextDrawLetterSize(Textdraw13, 0.000000, 4.329257);
TextDrawTextSize(Textdraw13, 222.000000, 0.000000);
TextDrawAlignment(Textdraw13, 1);
TextDrawColor(Textdraw13, 0);
TextDrawUseBox(Textdraw13, true);
TextDrawBoxColor(Textdraw13, -2139062017);
TextDrawSetShadow(Textdraw13, 0);
TextDrawSetOutline(Textdraw13, 0);
TextDrawFont(Textdraw13, 0);
Textdraw15 = TextDrawCreate(336.399993, 288.220001, "usebox");
TextDrawLetterSize(Textdraw15, 0.000000, 4.052714);
TextDrawTextSize(Textdraw15, 295.600006, 0.000000);
TextDrawAlignment(Textdraw15, 1);
TextDrawColor(Textdraw15, 0);
TextDrawUseBox(Textdraw15, true);
TextDrawBoxColor(Textdraw15, -2139062017);
TextDrawSetShadow(Textdraw15, 0);
TextDrawSetOutline(Textdraw15, 0);
TextDrawFont(Textdraw15, 0);
Textdraw17 = TextDrawCreate(416.000000, 288.717773, "usebox");
TextDrawLetterSize(Textdraw17, 0.000000, 3.776174);
TextDrawTextSize(Textdraw17, 375.599975, 0.000000);
TextDrawAlignment(Textdraw17, 1);
TextDrawColor(Textdraw17, 0);
TextDrawUseBox(Textdraw17, true);
TextDrawBoxColor(Textdraw17, -2139062017);
TextDrawSetShadow(Textdraw17, 0);
TextDrawSetOutline(Textdraw17, 0);
TextDrawFont(Textdraw17, 0);
Textdraw19 = TextDrawCreate(336.399993, 342.477783, "usebox");
TextDrawLetterSize(Textdraw19, 0.000000, 4.273950);
TextDrawTextSize(Textdraw19, 298.400024, 0.000000);
TextDrawAlignment(Textdraw19, 1);
TextDrawColor(Textdraw19, 0);
TextDrawUseBox(Textdraw19, true);
TextDrawBoxColor(Textdraw19, -2139062017);
TextDrawSetShadow(Textdraw19, 0);
TextDrawSetOutline(Textdraw19, 0);
TextDrawFont(Textdraw19, 0);
Свой код замените на этот. После нажмите "CTRL + H"
И в верхнее поле введите
Textdraw18
а в нижнее
textdraw_panel_button[0]
и после нажмите "Ок" (или что там будет).
1 - верхнее поле
2 - нижнее поле
1) Textdraw0
2) textdraw_panel_button[1]
1) Textdraw2
2) textdraw_panel_button[2]
1) Textdraw4
2) textdraw_panel_button[3]
1) Textdraw6
2) textdraw_panel_button[4]
1) Textdraw8
2) textdraw_panel_button[5]
1) Textdraw10
2) textdraw_panel_button[6
1) Textdraw12
2) textdraw_panel_button[7]
1) Textdraw14
2) textdraw_panel_button[8]
1) Textdraw16
2) textdraw_panel_button[9]
И далее макрос замените на
#define TEXTDRAW_BUTTON_PASSWORD[%0] textdraw_panel_button[%0]
а так же удалите все переменные, а-ля
new Text: textdraw_panel_button[0];
new Text: textdraw_panel_button[1];
new Text: textdraw_panel_button[2];
//И т.д.
и добавьте вместо них одну
new Text: textdraw_panel_button[10];
Тоесть название, создание ТД тоже меня?
A N D R E Y
08.06.2014, 20:27
Тоесть название, создание ТД тоже меня?
Это пример идеального кода...
Zeror_Dalglish
08.06.2014, 20:35
stock Shuffle(array[], size = sizeof array)
{
new
index,
rand,
buffer;
for(; index < size; index ++)
{
rand = random(size);
buffer = array[index];
array[index] = array[rand];
array[rand] = buffer;
}
}
Example code:
new array[10] = {0, 1, ...};
Shuffle(array);
new text_string[2];
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10); // Тут варинг
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]] == textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_2]]) // тут варинг (2)
{
textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10); // тут варинг
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]]); // тут варинг
TextDrawSetString(TEXTDRAW_BUTTON_PASSWORD[index_1], text_string);// Функцию замените на то, что вам нужно. С текстдравами давно не работал и не помню уже ничего
}
Все отлично работает вот только варинги, я не знаю тут как их исправить.
Zeror_Dalglish
08.06.2014, 21:10
Теперь вопрос, как проверять что вводиться например...
new admpass = 1111;
Пасс будет 1111
Как его при вводе на кликобельности проверить?
1) Так а какие варнинги то?
2) Записывайте каждую цифру, что вводит игрок, в строку и в конце у вас выйдет строка с введённым паролем
Zeror_Dalglish
09.06.2014, 09:20
1) Так а какие варнинги то?
2) Записывайте каждую цифру, что вводит игрок, в строку и в конце у вас выйдет строка с введённым паролем
Не соответствие тега.
D:\\gamemodes\(420) : warning 213: tag mismatch
D:\r\gamemodes\(428) : warning 213: tag mismatch
D:\\gamemodes\(428) : warning 213: tag mismatch
D:\\gamemodes\(430) : warning 213: tag mismatch
D:\\gamemodes\: warning 213: tag mismatch
- - - Добавлено - - -
1) Так а какие варнинги то?
2) Записывайте каждую цифру, что вводит игрок, в строку и в конце у вас выйдет строка с введённым паролем
Не представляю, как записать.
Покажите как объявляете массив для текстдрава кнопок
Zeror_Dalglish
09.06.2014, 09:25
Покажите как объявляете массив для текстдрава кнопок
new Text: textdraw_panel_button[10];
new text: textdraw_panel_button[10];
пробуйте
Zeror_Dalglish
09.06.2014, 09:30
new text: textdraw_panel_button[10];
пробуйте
Нет, 131 варнинг теперь вообще.
Нет, 131 варнинг теперь вообще.
Хорошо, пойдём другим путём.
Верните всё назад (text на Text) и теперь заменяем сначала макрос
#define TEXTDRAW_BUTTON_PASSWORD[%0] text:textdraw_panel_button[%0]
а после TextDrawSetString
TextDrawSetString(textdraw_panel_button[index_1], text_string);
Zeror_Dalglish
09.06.2014, 09:41
Хорошо, пойдём другим путём.
Верните всё назад (text на Text) и теперь заменяем сначала макрос
#define TEXTDRAW_BUTTON_PASSWORD[%0] text:textdraw_panel_button[%0]
а после TextDrawSetString
TextDrawSetString(textdraw_panel_button[index_1], text_string);
Все, спасибо Вам большое.
С вводом, пароля все таки не понял можете дать пример?
new textdraw_pass_panel_button_string[10];
на
new textdraw_pass_panel_button_string[MAX_PLAYERS][10];
CTRL + H и
1) textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD
2) textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD
Покажите код, срабатывающий при нажатии на текстдравы
Zeror_Dalglish
09.06.2014, 15:09
new textdraw_pass_panel_button_string[10];
на
new textdraw_pass_panel_button_string[MAX_PLAYERS][10];
CTRL + H и
1) textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD
2) textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD
Покажите код, срабатывающий при нажатии на текстдравы
Его ещё нет, т.к не знаю как сделать что бы заполнялись цифры.
Его ещё нет, т.к не знаю как сделать что бы заполнялись цифры.
Эмм, смотрите на какой текстдрав нажал игрок, проверяете какую цифру установила функция рандома в этот текстдрав и записываете эту цифру в строку. После нажатия на следующий текстдрав, делаете всё то же самое, только уже прикрепляете к предыдущему символу новый. И после того, как игрок нажал 6 раз (или какой длинны у вас пароль), проверяете полученную строку с строкой-паролем.
Zeror_Dalglish
09.06.2014, 15:25
Эмм, смотрите на какой текстдрав нажал игрок, проверяете какую цифру установила функция рандома в этот текстдрав и записываете эту цифру в строку. После нажатия на следующий текстдрав, делаете всё то же самое, только уже прикрепляете к предыдущему символу новый. И после того, как игрок нажал 6 раз (или какой длинны у вас пароль), проверяете полученную строку с строкой-паролем.
Дак, это мне понятно мне не понятно, как запомнить например: нажал на 1, потом на 2 как уже запомнить 12?
Дак, это мне понятно мне не понятно, как запомнить например: нажал на 1, потом на 2 как уже запомнить 12?
Эмм, ну создаём массив для хранения символов. Далее смотрим на какую кнопку нажал игрок и узнаём число, которое хранит текстдрав. И уже потом прикрепляем новую цифру к строке (массиву). Всё
Эмм, ну создаём массив для хранения символов. Далее смотрим на какую кнопку нажал игрок и узнаём число, которое хранит текстдрав. И уже потом прикрепляем новую цифру к строке (массиву). Всё
Деймос, помоги в моей теме.
Zeror_Dalglish
10.06.2014, 01:15
Эмм, ну создаём массив для хранения символов. Далее смотрим на какую кнопку нажал игрок и узнаём число, которое хранит текстдрав. И уже потом прикрепляем новую цифру к строке (массиву). Всё
Так стоп, например new key_1 а потом new key_2
и потом key_1 + key_2 я не до понимаю, лучшее кодом ;(
Так стоп, например new key_1 а потом new key_2
и потом key_1 + key_2 я не до понимаю, лучшее кодом ;(
new admin_password[MAX_PLAYERS][6];//Название сами подберите под себя. 6 - число цифр, из которых состоит пароль
Ну и теперь при каждом нажатии скрепляйте две строки с помощью strcat (строку и цифру, на которую нажал игроку). А как игрок совершит 6 нажатий, делайте проверку на введённые игроком данные и данные, записанные в аккаунте (пароль).
И в следующий раз я вам помогать не буду больше, если вы опять попытаетесь писать те системы, в которых ничего не смыслите. Ибо сейчас я написал практически всю систему за вас, что, обычно, бесплатно не делают. И это уже не первый раз. Не путайте раздел для вопросов с разделом гуманитарной помощи
Zeror_Dalglish
10.06.2014, 13:53
new admin_password[MAX_PLAYERS][6];//Название сами подберите под себя. 6 - число цифр, из которых состоит пароль
Ну и теперь при каждом нажатии скрепляйте две строки с помощью strcat (строку и цифру, на которую нажал игроку). А как игрок совершит 6 нажатий, делайте проверку на введённые игроком данные и данные, записанные в аккаунте (пароль).
И в следующий раз я вам помогать не буду больше, если вы опять попытаетесь писать те системы, в которых ничего не смыслите. Ибо сейчас я написал практически всю систему за вас, что, обычно, бесплатно не делают. И это уже не первый раз. Не путайте раздел для вопросов с разделом гуманитарной помощи
Все, понятно было давно как объявить пароль, мне не понятно как делать что бы 1 нажал потом 2 и уже 12! А не как пароль, объявить.
Все, понятно было давно как объявить пароль, мне не понятно как делать что бы 1 нажал потом 2 и уже 12! А не как пароль, объявить.
strcat для кого придуман?
Zeror_Dalglish
10.06.2014, 14:28
strcat для кого придуман?
Не работал с ним, не разу.
Не работал с ним, не разу.
google.com - клондайк примеров
Zeror_Dalglish
10.06.2014, 17:40
А если просто сделать так в паблик кликобельности
admin_password[playerid][0] +1; в 1
admin_password[playerid][0] +2; в 2
admin_password[playerid][0] +3; в 3
admin_password[playerid][0] +4; в 4 и т.д?
underwoker
10.06.2014, 18:08
А если просто сделать так в паблик кликобельности
admin_password[playerid][0] +1; в 1
admin_password[playerid][0] +2; в 2
admin_password[playerid][0] +3; в 3
admin_password[playerid][0] +4; в 4 и т.д?
Только strcat. В данном случае у вас будет 10. А значит с паролем не совпадет. Вы же видите сами что это просто будет прибавление.
Zeror_Dalglish
10.06.2014, 18:21
Только strcat. В данном случае у вас будет 10. А значит с паролем не совпадет. Вы же видите сами что это просто будет прибавление.
Поже, уже понял.
Со strcat не работал и не знаю что как там.
Поже, уже понял.
Со strcat не работал и не знаю что как там.
Так, бл*ть, разберитесь. Вы же скриптер, а не просто мимо проходили. За вас никто не выучит и не всунет вам в голову. Вам же говорят, по другому никак не сделать (а если и сделать, получится жуткий костыль). Или же скажите нам спасибо, а сами думайте как сделать иначе, раз лёгкий путь не для вас. Какой смысл нас тут насиловать своим нежеланием изучать то, чем заинтересованы вы, а не мы? Я просто не понимаю некоторых людей...
Zeror_Dalglish
10.06.2014, 20:24
Так, бл*ть, разберитесь. Вы же скриптер, а не просто мимо проходили. За вас никто не выучит и не всунет вам в голову. Вам же говорят, по другому никак не сделать (а если и сделать, получится жуткий костыль). Или же скажите нам спасибо, а сами думайте как сделать иначе, раз лёгкий путь не для вас. Какой смысл нас тут насиловать своим нежеланием изучать то, чем заинтересованы вы, а не мы? Я просто не понимаю некоторых людей...
Все, я нашел код. Теперь понял как делать взял пример с телефона на ТД. Сейчас попробую реализовать с моей идей.
Zeror_Dalglish
11.06.2014, 00:42
Так, бл*ть, разберитесь. Вы же скриптер, а не просто мимо проходили. За вас никто не выучит и не всунет вам в голову. Вам же говорят, по другому никак не сделать (а если и сделать, получится жуткий костыль). Или же скажите нам спасибо, а сами думайте как сделать иначе, раз лёгкий путь не для вас. Какой смысл нас тут насиловать своим нежеланием изучать то, чем заинтересованы вы, а не мы? Я просто не понимаю некоторых людей...
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][0]);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][1]);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][2]);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][3]);
}
}
Подредактировал код перестал работать, не показывает ТД, отдельно пробовал их показать все нормально.
А что показ текстдравов делает в теле цикла?
Zeror_Dalglish
11.06.2014, 00:57
А что показ текстдравов делает в теле цикла?
Я его и за тело переносил, итог 0.
Я его и за тело переносил, итог 0.
И что же вы именно редактировали?
Zeror_Dalglish
11.06.2014, 01:06
И что же вы именно редактировали?
Перевел, на индивидуальный текстдрайвы
И тогда уж как-то так
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
}
return 1;
}
Zeror_Dalglish
11.06.2014, 01:14
И тогда уж как-то так
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
}
return 1;
}
Не работает.
Код создания предоставьте
Zeror_Dalglish
11.06.2014, 09:18
Код создания предоставьте
Да, с ним все нормально!
Т.к: я показывал отдельно командой все нормально показало.
Ну ладно..
textdraw_panel_button[playerid][0] = CreatePlayerTextDraw(playerid,303.000000, 280.000000, "0");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][0], 0.829999, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][0], 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][0], -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][0], 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][0], 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][0], 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][0], 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][0], 1);
textdraw_panel_button[playerid][1] = CreatePlayerTextDraw(playerid,250.000000, 172.000000, "1");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][1], 1.170000, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][1], -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][1], 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][1], 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetSelectable(playerid,textdraw_panel_button[playerid][1], true);
/* td_panel[playerid][1] = CreatePlayerTextDraw(playerid, 250.000000, 172.000000, "usebox");
PlayerTextDrawLetterSize(playerid, td_panel[playerid][1], 1.170000, 2.999999);
PlayerTextDrawTextSize(playerid, td_panel[playerid][1], 266.000000, 0.000000);
PlayerTextDrawAlignment(playerid, td_panel[playerid][1], 1);
PlayerTextDrawColor(playerid, td_panel[playerid][1], 0);
PlayerTextDrawUseBox(playerid, td_panel[playerid][1], true);
PlayerTextDrawBoxColor(playerid, td_panel[playerid][1], 102);
PlayerTextDrawSetShadow(playerid, td_panel[playerid][1], 0);
PlayerTextDrawSetOutline(playerid, td_panel[playerid][1], 0); */
textdraw_panel_button[playerid][2] = CreatePlayerTextDraw(playerid,275.000000, 172.000000, "2");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][2], 0.830000, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][2], 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][2] , -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][2] , 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][2] , 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][2] , 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][2] , 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][2] , 1);
PlayerTextDrawSetSelectable(playerid,textdraw_panel_button[playerid][2] , true);
/*td_panel[playerid][3] = CreatePlayerTextDraw(playerid, 275.000000, 172.000000, "usebox");
PlayerTextDrawLetterSize(playerid, td_panel[playerid][3], 0.830000, 2.999999);
PlayerTextDrawTextSize(playerid, td_panel[playerid][3], 294.000000, 0.000000);
PlayerTextDrawAlignment(playerid, td_panel[playerid][3], 1);
PlayerTextDrawColor(playerid, td_panel[playerid][3], 0);
PlayerTextDrawUseBox(playerid, td_panel[playerid][3], true);
PlayerTextDrawBoxColor(playerid, td_panel[playerid][3], 102);
PlayerTextDrawSetShadow(playerid, td_panel[playerid][3], 0);
PlayerTextDrawSetOutline(playerid, td_panel[playerid][3], 0); */
textdraw_panel_button[playerid][3] = CreatePlayerTextDraw(playerid,303.000000, 172.000000, "3");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][3] , 0.829999, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][3] , -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][3] , 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][3] , 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawSetSelectable(playerid,textdraw_panel_button[playerid][3], true);
Ну так сделайте логирование и посмотрите где код срабатывает не так. Какие проблемы то?
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}
Zeror_Dalglish
11.06.2014, 13:56
Ну так сделайте логирование и посмотрите где код срабатывает не так. Какие проблемы то?
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}
[12:55:28] index_1 = 0
Все что есть тоесть даже не доходит до показа ТД.
Ну сделайте логи после каждой строки и смотрите после какой выдаёт ошибку. Подключите crashdetect и возможно он ругнётся на что-то. Найдите эту ошибку. Это не трудно
Zeror_Dalglish
11.06.2014, 16:49
Ну сделайте логи после каждой строки и смотрите после какой выдаёт ошибку. Подключите crashdetect и возможно он ругнётся на что-то. Найдите эту ошибку. Это не трудно
В том то и дело, что crashdetect не запуститься, у меня даже DC_CMD не грузит на компе.
- - - Добавлено - - -
В том то и дело, что crashdetect не запуститься, у меня даже DC_CMD не грузит на компе.
Да и искать не надо помойму ясно...
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
Выводит только, до сюда значит что то с циклом не?
- - - Добавлено - - -
stock Shuffle(array[], size = sizeof array)
{
new
index,
rand,
buffer;
for(; index < size; index ++)
{
rand = random(size);
buffer = array[index];
array[index] = array[rand];
array[rand] = buffer;
}
}
Example code:
new array[10] = {0, 1, ...};
Shuffle(array);
Как использовать данный код?
Zeror_Dalglish
11.06.2014, 17:17
[16:13:43] New version of CrashDetect is available for download (4.13)
[16:13:49] index_1 = 0
[16:13:49] [debug] Run time error 4: "Array index out of bounds"
[16:13:49] [debug] Accessing element at index 49 past array upper bound 3
[16:13:49] [debug] AMX backtrace:
[16:13:49] [debug] #0 0000d4c0 in public cmd_tdtest (playerid=0, ... <1 argument>) at D:\r\.pwn:400
[16:13:49] [debug] #1 native DC_CMD () [f7466b50] from dc_cmd.so
[16:13:49] [debug] #2 00002210 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x00048f00 "/tdtest") at D:\Liberty Gang War\pawno\include\dc_cmd.inc:62
400 cтрочка.
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
В том то и дело, что crashdetect не запуститься, у меня даже DC_CMD не грузит на компе.
Эмм, невозможно, чтоб вообще не грузило ничего. Не хватает библиотек каких-то и это правится обычной установкой этих самых недостающих библиотек. Но так, чтоб вообще плагины не работали - какой-то бред
- - - Добавлено - - -
Покажите как объявляете переменные для этой системы (ну textdraw_pass_panel_button_str и textdraw_panel_button, или как там вторая)
- - - Добавлено - - -
И вот так сделайте ка
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
printf("TEXTDRAW_BUTTON_PASSWORD[playerid][index_1] = %d",TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}
и после логи сюда
Zeror_Dalglish
11.06.2014, 17:33
Эмм, невозможно, чтоб вообще не грузило ничего. Не хватает библиотек каких-то и это правится обычной установкой этих самых недостающих библиотек. Но так, чтоб вообще плагины не работали - какой-то бред
- - - Добавлено - - -
Покажите как объявляете переменные для этой системы (ну textdraw_pass_panel_button_str и textdraw_panel_button, или как там вторая)
- - - Добавлено - - -
И вот так сделайте ка
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
printf("TEXTDRAW_BUTTON_PASSWORD[playerid][index_1] = %d",TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}
и после логи сюда
[16:32:06] index_1 = 0
[16:32:06] TEXTDRAW_BUTTON_PASSWORD[playerid][index_1] = 49
[16:32:06] [debug] Run time error 4: "Array index out of bounds"
[16:32:06] [debug] Accessing element at index 49 past array upper bound 3
[16:32:06] [debug] AMX backtrace:
[16:32:06] [debug] #0 0000d54c in public cmd_tdtest (playerid=0, ... <1 argument>) at D:\Liberty Gang War\LGW.pwn:401
[16:32:06] [debug] #1 native DC_CMD () [f7466b50] from dc_cmd.so
[16:32:06] [debug] #2 00002210 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x00048fc4 "/tdtest") at D:\Liberty Gang War\pawno\include\dc_cmd.inc:62
#define TEXTDRAW_BUTTON_PASSWORD[%0] text:textdraw_panel_button[%0]
new PlayerText:textdraw_panel_button[MAX_PLAYERS][4];
new textdraw_pass_panel_button_str[MAX_PLAYERS][4];
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
}
return 1;
}
И макрос можно удалить
Zeror_Dalglish
11.06.2014, 18:38
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
}
return 1;
}
И макрос можно удалить
Ну а как кликобельность?
if(playertextid == textdraw_panel_button[playerid][0])
{
SendClientMessage(playerid,-1,"TEST");
}
Сделал не выводит сообщение.
Если под каждый текстдрав свои действия:
for(new t; t< sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
switch(t)
{
case 0:
{
printf("Вы выбрали первый текстдрав, содержащий цифру %d",textdraw_pass_panel_button_str[playerid][t]);
}
case 1:
{
printf("Вы выбрали второй текстдрав, содержащий цифру %d",textdraw_pass_panel_button_str[playerid][t]);
}
case 2:
{
printf("Вы выбрали третий текстдрав, содержащий цифру %d",textdraw_pass_panel_button_str[playerid][t]);
}//И т.д.
}
}
}
Если же у всех будет одно действие (например, ввод пароля), switch можно не использовать
Zeror_Dalglish
11.06.2014, 21:09
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
switch(t)
{
case 0:
{
strcat(adm_pass_pin_code[playerid],"0");
}
case 1:
{
strcat(adm_pass_pin_code[playerid],"1");
}
case 2:
{
strcat(adm_pass_pin_code[playerid],"2");
}
case 3:
{
strcat(adm_pass_pin_code[playerid],"3");
}
}
}
}
Как то так, но как узнать последнию цифру после которой будет проверяться правильный ли пароль?
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
switch(t)
{
case 0:
{
strcat(adm_pass_pin_code[playerid],"0");
}
case 1:
{
strcat(adm_pass_pin_code[playerid],"1");
}
case 2:
{
strcat(adm_pass_pin_code[playerid],"2");
}
case 3:
{
strcat(adm_pass_pin_code[playerid],"3");
}
}
}
}
Как то так, но как узнать последнию цифру после которой будет проверяться правильный ли пароль?
Эмм, ну самый простой способ - с помощью strlen узнать длину настоящего пароля и после начать считать нажатые кнопки (например,пароль состоит из 6 цифр и после 6 нажатий начинаем проверку паролей). Но тогда у злоумышленников будет готовая инфа по тому, какой пароль у пользователя.
Второй способ - кнопка, а-ля Enter, после нажатия на которую строки сравниваются. Можно много чего придумать. Всё вашей фантазией ограничивается
Zeror_Dalglish
11.06.2014, 22:16
Эмм, ну самый простой способ - с помощью strlen узнать длину настоящего пароля и после начать считать нажатые кнопки (например,пароль состоит из 6 цифр и после 6 нажатий начинаем проверку паролей). Но тогда у злоумышленников будет готовая инфа по тому, какой пароль у пользователя.
Второй способ - кнопка, а-ля Enter, после нажатия на которую строки сравниваются. Можно много чего придумать. Всё вашей фантазией ограничивается
Просто, я хочу то что бы из 6 символов 6 пароль, вводишь 6 символ и начинается счёт
Просто, я хочу то что бы из 6 символов 6 пароль, вводишь 6 символ и начинается счёт
Ну так в чём проблема?
new number_of_clicks[MAX_PLAYERS char];
И потом при каждом выборе одного из текстдравов
if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}
Можно то же самое через pVar, в конце удаляя этот самый pVar. Суть везде одна
Zeror_Dalglish
11.06.2014, 23:07
Ну так в чём проблема?
new number_of_clicks[MAX_PLAYERS char];
И потом при каждом выборе одного из текстдравов
if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}
Можно то же самое через pVar, в конце удаляя этот самый pVar. Суть везде одна
А в конце как проверить пароль?
Например new admpass = 9999;
потом textdraw_panel_button[playerid][t] == admpass?
А в конце как проверить пароль?
Например new admpass = 9999;
потом textdraw_panel_button[playerid][t] == admpass?
Эмм, набранные числа записывайте в строку с помощью strcat. А потом две строки проверяйте с помощью strcmp.
Или же полученную в strcat строку конвертируйте в число с помощью strval и потом сверяйте, если у вас пароль хранится в виде числа, а не в виде строки
Zeror_Dalglish
11.06.2014, 23:21
if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}
Проверяем пароль всмысле? Зачем при каждом выбранном ТД проверять пароль.
if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}
Проверяем пароль всмысле? Зачем при каждом выбранном ТД проверять пароль.
Вы код разберите сначала, прежде чем писать. Только после 6 нажатий на текстдравы с цифрами будет проверка. И проверять надо набранный игроком пароль с тем, что записан у вас где-то.
Zeror_Dalglish
11.06.2014, 23:58
Вы код разберите сначала, прежде чем писать. Только после 6 нажатий на текстдравы с цифрами будет проверка. И проверять надо набранный игроком пароль с тем, что записан у вас где-то.
Дак ей в итоге все равно в каждый ТД придеться сувать.
Ой я не чего не соображаю как сделать....
- - - Добавлено - - -
Что мы в итоге, со strcat сделаем?
Дак ей в итоге все равно в каждый ТД придеться сувать.
Ой я не чего не соображаю как сделать....
- - - Добавлено - - -
Что мы в итоге, со strcat сделаем?
Какой "каждый"? У вас текстдравы все хранятся в одном массиве и цифры для текстдравов так же хранятся в массиве. Сделайте цикл, как я показывал выше и всё
В примере выше я показывал, что именно мы делаем с strcat...
Охх, давайте начнём с другой стороны. Обрисуйте мне вкратце то, что именно вы хотите сделать и какие шаги вам надо для этого предпринять (не в виде кода, а словами). Вы, похоже, совсем не понимаете как должна работать ваша система
Zeror_Dalglish
12.06.2014, 11:02
Какой "каждый"? У вас текстдравы все хранятся в одном массиве и цифры для текстдравов так же хранятся в массиве. Сделайте цикл, как я показывал выше и всё
В примере выше я показывал, что именно мы делаем с strcat...
Охх, давайте начнём с другой стороны. Обрисуйте мне вкратце то, что именно вы хотите сделать и какие шаги вам надо для этого предпринять (не в виде кода, а словами). Вы, похоже, совсем не понимаете как должна работать ваша система
Я то понимаю, код состоит из 6 значных цифр, после ввода 6 цифры хочу что бы начинался считываться пароль. Все.
Я то понимаю, код состоит из 6 значных цифр, после ввода 6 цифры хочу что бы начинался считываться пароль. Все.
Мой код именно это и делает
Zeror_Dalglish
12.06.2014, 13:14
Мой код именно это и делает
Да, я и не говорю что не делает.
Я не знаю как сверить пароль с истинным паролем!
Да, я и не говорю что не делает.
Я не знаю как сверить пароль с истинным паролем!
Блджад, я же уже писал -_-
Если истинный пароль хранится как строка, используем функцию strcmp
Если же истинный пароль хранится как число, просто конвертируем полученную при вводе строку в число с помощью strval и потом сравниваем как 2 обычных числа.
Всё
Zeror_Dalglish
12.06.2014, 16:05
Блджад, я же уже писал -_-
Если истинный пароль хранится как строка, используем функцию strcmp
Если же истинный пароль хранится как число, просто конвертируем полученную при вводе строку в число с помощью strval и потом сравниваем как 2 обычных числа.
Всё
Как все , на словах. А уже какой день не могу релизовать. Ужс, мне надоело уже...
strval то с чем сравнивать?
Как все просто, на словах. А уже какой день не могу релизовать. Ужс, мне надоело уже...
Это всё от банального незнания предназначения стандартных функций, кои надо тупо заучивать и понимать, по возможности.
//Глобальные массивы
new number_of_clicks[MAX_PLAYERS char], adm_pass_pin_code[MAX_PLAYERS][6];
//При выборе ТД
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == /*переменная с вашим паролем*/)
{
//Выполняем нужное действие и скрываем текстдравы
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
И да, система не самая оптимизированная вышла и есть куда стремиться, но этим вы занимайтесь сами.
Zeror_Dalglish
12.06.2014, 17:02
Это всё от банального незнания предназначения стандартных функций, кои надо тупо заучивать и понимать, по возможности.
//Глобальные массивы
new number_of_clicks[MAX_PLAYERS char], adm_pass_pin_code[MAX_PLAYERS][6];
//При выборе ТД
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == /*переменная с вашим паролем*/)
{
//Выполняем нужное действие и скрываем текстдравы
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
И да, система не самая оптимизированная вышла и есть куда стремиться, но этим вы занимайтесь сами.
Ну, спасибо Вам.
Но только почему то пароли не совпадают хотя на 3 жал.
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
new admpass = 333333;
Salvacore
12.06.2014, 17:14
Такое чувство что DeimoS обязан.
Такое чувство что DeimoS обязан.
Это его жизненное предназначение :)
Zeror_Dalglish
12.06.2014, 18:26
Такое чувство что DeimoS обязан.
Он мне не чего, не должен.
Лучшее, бы помог.
A N D R E Y
12.06.2014, 18:59
Он мне не чего, не должен.
Лучшее, бы помог.
И все-таки обязан...
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]));
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
и после ввода пароля логи сюда
Это его жизненное предназначение :)
Ага :D "Кто, если не я?" xD
Zeror_Dalglish
12.06.2014, 19:13
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]));
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
и после ввода пароля логи сюда
Ага :D "Кто, если не я?" xD
[18:11:38] "333333" | "" | "0"
[18:11:38] "333333" | "" | "0"
[18:11:39] "333333" | "" | "0"
[18:11:39] "333333" | "" | "0"
[18:11:40] "333333" | "" | "0"
[18:11:40] "333333" | "" | "0"
[18:11:41] "333333" | "" | "0"
[18:11:41] "333333" | "" | "0"
Salvacore
12.06.2014, 19:16
Он мне не чего, не должен.
Лучшее, бы помог.
Таким как ты не помогаю, тем более я быдлокодер.
Zeror_Dalglish
12.06.2014, 19:17
Таким как ты не помогаю, тем более я быдлокодер.
Сам, признался.
Не помогаешь - не оффтопь в темке)
А если так
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\" | \"%d\" | \"%s\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]), textdraw_pass_panel_button_str[playerid][t], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
print("Обнуление");
}
break;
}
}
Salvacore
12.06.2014, 19:19
Сам, признался.
Не помогаешь - не оффтопь в темке)
Я помогаю, понять тебе какое ты мять.
Zeror_Dalglish
12.06.2014, 19:23
А если так
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\" | \"%d\" | \"%s\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]), textdraw_pass_panel_button_str[playerid][t], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
print("Обнуление");
}
break;
}
}
[18:21:08] "333333" | "" | "0" | "3" | ""
[18:21:08] "333333" | "" | "0" | "3" | ""
[18:21:09] "333333" | "" | "0" | "3" | ""
[18:21:09] "333333" | "" | "0" | "3" | ""
[18:21:10] "333333" | "" | "0" | "3" | ""
[18:21:10] "333333" | "" | "0" | "3" | ""
[18:21:10] Обнуление
И ещё Влад вставьте в блокнот логирование там символы какие то.
- - - Добавлено - - -
Я помогаю, понять тебе какое ты мять.
Модер, и оскорбление.
Ты случайно на П-И не модерировал?
А, всё, понял. Моя ошибка. Вот
new number_buff[1];
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
valstr(number_buff,textdraw_pass_panel_button_str[playerid][t]);
strcat(adm_pass_pin_code[playerid], number_buff);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
Zeror_Dalglish
12.06.2014, 19:33
А, всё, понял. Моя ошибка. Вот
new number_buff[1];
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
valstr(number_buff,textdraw_pass_panel_button_str[playerid][t]);
strcat(adm_pass_pin_code[playerid], number_buff);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
Все, так же.
Ну по старинке
new number_buff[1];
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
valstr(number_buff,textdraw_pass_panel_button_str[playerid][t]);
strcat(adm_pass_pin_code[playerid], number_buff);
printf("\n%d\nadm_pass_pin_code - %s", t, adm_pass_pin_code[playerid]);
printf("number_buff - %s", number_buff);
printf("textdraw_pass_panel_button_str - %d", textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
ибо мне лень вчитываться в код
Zeror_Dalglish
12.06.2014, 19:38
[18:36:29] "333333" | "3" | "3" | "3" | " "
[18:36:30] "333333" | "33" | "33" | "3" | " "
[18:36:30] "333333" | "333" | "333" | "3" | " "
[18:36:31] "333333" | "3333" | "3333" | "3" | " "
[18:36:31] "333333" | "33333" | "33333" | "3" | " "
[18:36:32] "333333" | "33333" | "33333" | "3" | " "
[18:36:32] Обнуление
- - - Добавлено - - -
1 цифра не добираеться..
new adm_pass_pin_code[MAX_PLAYERS][6];
замените на
new adm_pass_pin_code[MAX_PLAYERS][7];
Хотя и 6, по идее, должно хватать
И у вас crashdetect подключён?
Zeror_Dalglish
12.06.2014, 19:48
1
adm_pass_pin_code - 3
[18:43:07] number_buff - 3
[18:43:07] textdraw_pass_panel_button_str - 3
[18:43:08]
1
adm_pass_pin_code - 33
[18:43:08] number_buff - 3
[18:43:08] textdraw_pass_panel_button_str - 3
[18:43:09]
1
adm_pass_pin_code - 333
[18:43:09] number_buff - 3
[18:43:09] textdraw_pass_panel_button_str - 3
[18:43:09]
1
adm_pass_pin_code - 3333
[18:43:09] number_buff - 3
[18:43:09] textdraw_pass_panel_button_str - 3
[18:43:10]
1
adm_pass_pin_code - 33333
[18:43:10] number_buff - 3
[18:43:10] textdraw_pass_panel_button_str - 3
[18:43:11]
1
adm_pass_pin_code - 33333
[18:43:11] number_buff - 3
[18:43:11] textdraw_pass_panel_button_str - 3
Ваш вариант логирование
- - - Добавлено - - -
И у вас crashdetect подключён?
Не чего не выдает
- - - Добавлено - - -
Эту тему просматривают: 2 (пользователей: 2 , гостей: 0)
Zeror_Dalglish,
Salvador
Можешь закрывать, тему огромное спасибо DeimoS!
p.s: увеличил массив.
Если не жалко - поделились бы готовым кодом, дабы никому обидно не было.
Zeror_Dalglish
13.06.2014, 01:03
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
SelectTextDraw(playerid, 0xFDFF40AA);
}
return 1;
}
textdraw_panel_button[playerid][0] = CreatePlayerTextDraw(playerid, 300.000091, 364.390869, "0");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][0], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][0], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][0], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][0], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][0], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][0], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][0], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][0], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][0], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][0], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][0], 1);
textdraw_panel_button[playerid][1] = CreatePlayerTextDraw(playerid, 236.400070, 187.662277, "1");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][1], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][1], 248.399993, 9.955555);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][1], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][1], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][1], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][1], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][1], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][1], true);
textdraw_panel_button[playerid][2] = CreatePlayerTextDraw(playerid, 300.600036, 188.164535, "2");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][2], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][2], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][2], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][2], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][2], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][2], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][2], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][2], true);
textdraw_panel_button[playerid][3] = CreatePlayerTextDraw(playerid, 366.799713, 188.666763, "3");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][3], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][3], 382.799987, 13.937779);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][3], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][3], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][3], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][3], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][3], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][3], true);
textdraw_panel_button[playerid][4] = CreatePlayerTextDraw(playerid, 230.199737, 255.871032, "4");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][4], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][4], 251.200027, 23.395559);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][4], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][4], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][4], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][4], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][4], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][4], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][4], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][4], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][4], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][4], true);
textdraw_panel_button[playerid][5] = CreatePlayerTextDraw(playerid, 300.000061, 256.364440, "5");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][5], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][5], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][5], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][5], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][5], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][5], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][5], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][5], true);
textdraw_panel_button[playerid][6] = CreatePlayerTextDraw(playerid, 365.399566, 257.862304, "6");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][6], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][6], 382.799987, 13.937779);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][6], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][6], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][6], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][6], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][6], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][6], true);
textdraw_panel_button[playerid][7] = CreatePlayerTextDraw(playerid, 237.199752, 314.115325, "7");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][7], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][7], 252.000015, 23.395559);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][7], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][7], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][7], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][7], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][7], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][7], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][7], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][7], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][7], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][7], true);
textdraw_panel_button[playerid][8] = CreatePlayerTextDraw(playerid, 300.200073, 314.110992, "8");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][8], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][8], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][8], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][8], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][8], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][8], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][8], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][8], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][8], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][8], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][8], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][8], true);
textdraw_panel_button[playerid][9] = CreatePlayerTextDraw(playerid, 366.799560, 312.124359, "9");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][9], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][9], 382.799987, 13.937779);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][9], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][9], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][9], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][9], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][9], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][9], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][9], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][9], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][9], 1);
Не показывает все ТД.
Всего 4 показывает.
Ну так посмотрите сколько итераций делает цикл
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("%d",index_1);
Zeror_Dalglish
13.06.2014, 12:55
Все, сам все решил.
underwoker
13.06.2014, 13:29
Модер, и оскорбление.
Ты случайно на П-И не модерировал?
А вы именно оттуда? Не забывайте свои посты...
Все, сам все решил.
И где решение того что не показывает текстдравы? Ведь обидно другим будет.
Zeror_Dalglish
13.06.2014, 17:49
else if(PlayerInfo[playerid][pAdmin] >= 1)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("%d",index_1);
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][0]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][1]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][2]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][3]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][4]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][5]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][6]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][7]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][8]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][9]);
SelectTextDraw(playerid, 0xFDFF40AA);
}
}
Ставлю, код в паблик авторизаций даже логирование не срабатыват, и не работает код.
else if(PlayerInfo[playerid][pAdmin] >= 1)
а перед этим какая проверка?
Zeror_Dalglish
13.06.2014, 22:31
else if(PlayerInfo[playerid][pAdmin] >= 1)
а перед этим какая проверка?
forward LoadAccount(playerid, password[]);
public LoadAccount(playerid, password[])
{
new rows, fields, loginmsg2[208];
cache_get_data(rows, fields);
if(!rows)
{
format(loginmsg2,208,"{FFFFFF}Добро пожаловать {1EFF00} {FFE200}!{ffffff}\nВаш ник: {ffcc00}%s {ffffff}\nВаш пинг: {ffcc00}%d{ffffff}\n\nЧтобы начать игру, введите пароль указанный при регистрации!",PlayerInfo[playerid][pName],GetPlayerPing(playerid));
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{ffffff}Авторизация",loginmsg2,"Войти","Отмена");
SendClientMessage(playerid,-1,"Вы ввели не верный пароль");
return 1;
}
PlayerInfo[playerid][pLogged] = 1;
for(new i = 0; i < rows;i++)
{
Reading_DataBase(i,playerid);
}
for(new i = 1; i != sizeof(GZInfo); i++)
{
GangZoneShowForPlayer(playerid,GZInfo[i][id],GZColor(GZInfo[i][gFrak]));
}
PlayerTextDrawShow(playerid, gang[playerid][0]);
PlayerTextDrawShow(playerid, gang[playerid][1]);
PlayerTextDrawShow(playerid, gang[playerid][2]);
PlayerTextDrawShow(playerid, gang[playerid][3]);
PlayerTextDrawShow(playerid, gang[playerid][4]);
PlayerTextDrawShow(playerid, gang[playerid][5]);
PlayerTextDrawShow(playerid, gang[playerid][6]);
PlayerTextDrawShow(playerid, gang[playerid][7]);
PlayerTextDrawShow(playerid, gang[playerid][8]);
PlayerTextDrawShow(playerid, gang[playerid][9]);
PlayerTextDrawShow(playerid, gang[playerid][10]);
PlayerTextDrawShow(playerid, gang[playerid][11]);
if(PlayerInfo[playerid][pInformer_Off_Onn] == 1)
{
TextDrawShowForPlayer(playerid, gang_td[0]);
TextDrawShowForPlayer(playerid, gang_td[1]);
TextDrawShowForPlayer(playerid, gang_td[2]);
TextDrawShowForPlayer(playerid, gang_td[3]);
TextDrawShowForPlayer(playerid, gang_td[4]);
TextDrawShowForPlayer(playerid, gang_td[5]);
TextDrawShowForPlayer(playerid, gang_td[6]);
TextDrawShowForPlayer(playerid, gang_td[7]);
TextDrawShowForPlayer(playerid, gang_td[8]);
TextDrawShowForPlayer(playerid, gang_td[9]);
TextDrawShowForPlayer(playerid, gang_td[10]);
TextDrawShowForPlayer(playerid, gang_td[11]);
}
else if(PlayerInfo[playerid][pInformer_Off_Onn] == 0)
{
TextDrawHideForPlayer(playerid, gang_td[0]);
TextDrawHideForPlayer(playerid, gang_td[1]);
TextDrawHideForPlayer(playerid, gang_td[2]);
TextDrawHideForPlayer(playerid, gang_td[3]);
TextDrawHideForPlayer(playerid, gang_td[4]);
TextDrawHideForPlayer(playerid, gang_td[5]);
TextDrawHideForPlayer(playerid, gang_td[6]);
TextDrawHideForPlayer(playerid, gang_td[7]);
TextDrawHideForPlayer(playerid, gang_td[8]);
TextDrawHideForPlayer(playerid, gang_td[9]);
TextDrawHideForPlayer(playerid, gang_td[10]);
TextDrawHideForPlayer(playerid, gang_td[11]);
}
else if(PlayerInfo[playerid][pAdmin] >= 1)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("%d",index_1);
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][0]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][1]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][2]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][3]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][4]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][5]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][6]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][7]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][8]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][9]);
SelectTextDraw(playerid, 0xFDFF40AA);
}
}
SetPlayerScore(playerid,PlayerInfo[playerid][pKills]);
return 1;
}
Эмм, естественно работать не будет, ибо если одно из условий выше сработает - остальные обрабатываться не будут. Почитайте о предназначении "else if".
В общем
else if(PlayerInfo[playerid][pAdmin] >= 1)
на
if(PlayerInfo[playerid][pAdmin] >= 1)
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot