PDA

Просмотр полной версии : [Вопрос] Как сделать anti off td



Zeror_Dalglish
26.06.2014, 20:51
@_ANTI_OFF_TD_ESC(playerid);
@_ANTI_OFF_TD_ESC(playerid)
{
if(TD_ESC_NO_OFFLINE_PIN_CODE[playerid] == 1)
{
new string[95];
Login_Attempts[playerid] += 1;
SendClientMessage(playerid, 0xFF6600AA, "Вы нажали на ESC у Вас вычлась одна попытка на ввод случайного пароля!");
format(string,sizeof(string),"У Вас осталось %i попыток на ввод случайного пароля!",Login_Attempts[playerid]);
SendClientMessage(playerid,0xFF6600AA,string); */
SelectTextDraw(playerid, 0xFDFF40AA);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы нажали 3 раза на кнопку ''ESC'' и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозриваеться на взлом аккаунта (3 нажатия на кнопку ''ESC'')",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
return true;
}
}
else if(TD_ESC_NO_OFFLINE_SKINS[playerid] == 1)
{
SelectTextDraw(playerid, 0xFDFF40AA);
}
afk_time{playerid}++;
if(afk_time{playerid} >= 3 && PlayerInfo[playerid][pLogged] == 1)
{
new mes[128];
format(mes,sizeof(mes),"На паузе %s сек.",Convert(afk_time{playerid}));
SetPlayerChatBubble(playerid,mes,0xFF0000AA,10.0,1000);
}
return true;
}

Флудит сообщениями как сделать что бы не флудило

DeimoS
26.06.2014, 23:27
Какими сообщениями?

Zeror_Dalglish
27.06.2014, 01:59
Какими сообщениями?



Вы нажали на ESC у Вас вычлась одна попытка на ввод случайного пароля!

Т.К: Обновляться каждую секунду.
И потом 3 набираеться и кик.

DeimoS
27.06.2014, 09:33
Так покажите нам где вы в TD_ESC_NO_OFFLINE_PIN_CODE устанавливаете единицу

и да. Ваш код:

@_ANTI_OFF_TD_ESC(playerid);
@_ANTI_OFF_TD_ESC(playerid)
{
if(TD_ESC_NO_OFFLINE_PIN_CODE[playerid] == 1)
{
}
else if(TD_ESC_NO_OFFLINE_SKINS[playerid] == 1)
{
}
return true;
}

Zeror_Dalglish
27.06.2014, 12:05
Так покажите нам где вы в TD_ESC_NO_OFFLINE_PIN_CODE устанавливаете единицу

и да. Ваш код:

@_ANTI_OFF_TD_ESC(playerid);
@_ANTI_OFF_TD_ESC(playerid)
{
if(TD_ESC_NO_OFFLINE_PIN_CODE[playerid] == 1)
{
}
else if(TD_ESC_NO_OFFLINE_SKINS[playerid] == 1)
{
}
return true;
}

При показе устанавливается 1. А что с кодом не так? Вроде все нормально.

DeimoS
27.06.2014, 20:06
А что с кодом не так? Вроде все нормально.

Смотрите, пока не увидите ошибку. Код делает то, что вы ему сказали делать. Никакого бага тут нет

Zeror_Dalglish
27.06.2014, 21:30
Смотрите, пока не увидите ошибку. Код делает то, что вы ему сказали делать. Никакого бага тут нет



@_ANTI_OFF_TD_ESC(playerid);
@_ANTI_OFF_TD_ESC(playerid)
{
if(TD_ESC_NO_OFFLINE_PIN_CODE[playerid] == 1)
{
}
if(TD_ESC_NO_OFFLINE_SKINS[playerid] == 1)
{
}
return true;
}
ну понял все равно флудить будет сообщениями

DeimoS
27.06.2014, 22:15
Ничего вы не поняли =\ :dash2:

Zeror_Dalglish
27.06.2014, 22:37
Ничего вы не поняли =\ :dash2:

Дак что то я не понял, все работает.
Что с кодом у меня проблема что флудит после CancelTextDraw приравниваться = 0

DeimoS
28.06.2014, 03:28
Дак что то я не понял, все работает.
Что с кодом у меня проблема что флудит после CancelTextDraw приравниваться = 0

Я уже дал вам кусок из 11 строк, где только 5 имеют хоть какой-то смысл и вы всё равно не желаете включить голову. Может стоит забыть о скриптинге? Это уже даже не смешно

Zeror_Dalglish
28.06.2014, 12:18
Я уже дал вам кусок из 11 строк, где только 5 имеют хоть какой-то смысл и вы всё равно не желаете включить голову. Может стоит забыть о скриптинге? Это уже даже не смешно

Это реально не смешно, код выполнят что мне надо единственное что флудит сообщениями.
На счёт головы, я в вчитываюсь но не чего не вижу.

DeimoS
28.06.2014, 13:46
Ладно, не важно. Потом, возможно, осознаете.
Сейчас может вы наконец скинете мне то, что я просил до этого скинуть?

underwoker
28.06.2014, 14:32
@_ANTI_OFF_TD_ESC(playerid);
@_ANTI_OFF_TD_ESC(playerid)
{
if(TD_ESC_NO_OFFLINE_PIN_CODE[playerid] == 1)
{
}
if(TD_ESC_NO_OFFLINE_SKINS[playerid] == 1)
{
}
return true;
}

ну понял все равно флудить будет сообщениями

Что вы поняли? Вас просят скинуть код где переменной TD_ESC_NO_OFFLINE_SKINS[playerid] присваивается значение 1.

Zeror_Dalglish
28.06.2014, 15:11
Что вы поняли? Вас просят скинуть код где переменной TD_ESC_NO_OFFLINE_SKINS[playerid] присваивается значение 1.

Дак и что что присваевает?
У меня проблема в том что флудит сообщениями зачем где оно присваивает?
Сказал же что присваивает после показа.
И после canceltextdraw = 0
Причем тут где присваивает? Если флудит сообщениями иза того что в ежесекундном таймере...
Ну ладнно вот:


stock Pin_Code(playerid)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
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);
for(new i = 0; i < 10; i++) PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][i]);
TD_ESC_NO_OFFLINE_PIN_CODE[playerid] = 1;
SelectTextDraw(playerid, 0xFDFF40AA);
}
}
}

DeimoS
28.06.2014, 16:20
Дак и что что присваевает?
У меня проблема в том что флудит сообщениями зачем где оно присваивает?
А ничего, что сообщение отсылает только когда к переменной присваивается единица? -_- Если уж просите помощи - выполняйте всё, что вам скажут. Иначе покиньте форум и решайте сами, а не тратьте наше время. В следующий раз уговаривать вас тут никто не будет.
Ну так всё логично же. Вы при показе текстдравов приравниваете переменную к единице и дальше в секундном таймере проверяете её значение. Всё работает ровно так, как сделали вы. Что вы от нас хотите?

Zeror_Dalglish
28.06.2014, 17:46
А ничего, что сообщение отсылает только когда к переменной присваивается единица? -_- Если уж просите помощи - выполняйте всё, что вам скажут. Иначе покиньте форум и решайте сами, а не тратьте наше время. В следующий раз уговаривать вас тут никто не будет.
Ну так всё логично же. Вы при показе текстдравов приравниваете переменную к единице и дальше в секундном таймере проверяете её значение. Всё работает ровно так, как сделали вы. Что вы от нас хотите?
Дак, можно как то сделать что бы не флудило.
Или у вас есть вариянты как переделать что бы при ESC кликобельность не убиралось? -_-
И ещё кнопки ESC нету так что как возвращать если не через таймер...

DeimoS
28.06.2014, 18:21
Дак, можно как то сделать что бы не флудило.
Или у вас есть вариянты как переделать что бы при ESC кликобельность не убиралось? -_-
И ещё кнопки ESC нету так что как возвращать если не через таймер...

В коллбэке OnPlayerClickTextDraw есть специальное значение параметра clickedid, когда игрок пытается отключить режим кликабельности у текстдрава (RTFM (http://lurkmore.to/RTFM)!!! (http://wiki.sa-mp.com/wiki/OnPlayerClickTextDraw)). Именно там и нужно выполнять ваш код, а не в секундном таймере. Мыслите шире :punish:

Zeror_Dalglish
28.06.2014, 19:11
В коллбэке OnPlayerClickTextDraw есть специальное значение параметра clickedid, когда игрок пытается отключить режим кликабельности у текстдрава (RTFM (http://lurkmore.to/RTFM)!!! (http://wiki.sa-mp.com/wiki/OnPlayerClickTextDraw)). Именно там и нужно выполнять ваш код, а не в секундном таймере. Мыслите шире :punish:
Ну если правильно понимать...


if(clickedid != ИМЯ_ТД)

DeimoS
28.06.2014, 19:25
Видимо, аббревиатура "RTFM" вам ни о чём не сказала...


http://rghost.ru/56624377/image.png


Вбейте в переводчик, если с английским всё плохо

Zeror_Dalglish
28.06.2014, 20:39
Видимо, аббревиатура "RTFM" вам ни о чём не сказала...


http://rghost.ru/56624377/image.png


Вбейте в переводчик, если с английским всё плохо
OnPlayerClickPlayerTextDraw только там такого нету :\

DeimoS
28.06.2014, 20:44
У вас что-то точно с внимательностью не то. Или лень вчитываться не то, что в свой код, но даже в статьи на вики


Description:
This callback is called when a player clicks on a player-textdraw. It is not called when player cancels the select mode (ESC) - however, OnPlayerClickTextDraw is.

Если игрок отменил выбор скина, вызывается OnPlayerClickTextDraw. Можно было даже обычным логированием определить порядок вызова коллбэков. Разве для этого надо изучать Pawn несколько месяцев?

Zeror_Dalglish
28.06.2014, 21:26
У вас что-то точно с внимательностью не то. Или лень вчитываться не то, что в свой код, но даже в статьи на вики



Если игрок отменил выбор скина, вызывается OnPlayerClickTextDraw. Можно было даже обычным логированием определить порядок вызова коллбэков. Разве для этого надо изучать Pawn несколько месяцев?

Токо при заходе + 1 попытку...


public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == Text:INVALID_TEXT_DRAW)
{
if(TD_ESC_NO_OFFLINE_PIN_CODE[playerid] == 1)
{
new string[95];
Login_Attempts[playerid] += 1;
SendClientMessage(playerid, 0xFF6600AA, "Вы нажали на ESC у Вас вычлась одна попытка на ввод случайного пароля!");
format(string,sizeof(string),"У Вас осталось %i попыток на ввод случайного пароля!",Login_Attempts[playerid]);
SendClientMessage(playerid,0xFF6600AA,string);
SelectTextDraw(playerid, 0xFDFF40AA);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы нажали 3 раза на кнопку ''ESC'' и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозриваеться на взлом аккаунта (3 нажатия на кнопку ''ESC'')",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
return true;
}
}
}
return 1;
}

DeimoS
29.06.2014, 13:22
Что?

Zeror_Dalglish
29.06.2014, 13:50
Что?

При заходи + 1 попытку на ввод хотя я не нажимал ESC.

DeimoS
29.06.2014, 18:16
Где-то есть CancelSelectTextDraw, при котором коллбэк так же вызывается.
При первом показе текстдравов с кнопками

SetPVarInt(playerid, "CancelSelectTextDraw", 1);
При всех случаях, когда текстдрав с кнопками нужно скрыть

DeletePVar(playerid, "CancelSelectTextDraw");
И в коллбэке добавьте проверку, а-ля

if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "CancelSelectTextDraw"))
P.S. Если вы опять проявите сейчас невнимательность (есть один подвох), больше я вам помогать не буду :king:

Zeror_Dalglish
29.06.2014, 22:02
Где-то есть CancelSelectTextDraw, при котором коллбэк так же вызывается.
При первом показе текстдравов с кнопками

SetPVarInt(playerid, "CancelSelectTextDraw", 1);
При всех случаях, когда текстдрав с кнопками нужно скрыть

DeletePVar(playerid, "CancelSelectTextDraw");
И в коллбэке добавьте проверку, а-ля

if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "CancelSelectTextDraw"))
P.S. Если вы опять проявите сейчас невнимательность (есть один подвох), больше я вам помогать не буду :king:

Сижу уже как 30 минут ищу ошибку и не нашел.....
Что за бред?

underwoker
29.06.2014, 22:43
Где-то есть CancelSelectTextDraw, при котором коллбэк так же вызывается.
При первом показе текстдравов с кнопками

SetPVarInt(playerid, "CancelSelectTextDraw", 1);
При всех случаях, когда текстдрав с кнопками нужно скрыть

DeletePVar(playerid, "CancelSelectTextDraw");
И в коллбэке добавьте проверку, а-ля

if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "CancelSelectTextDraw"))
P.S. Если вы опять проявите сейчас невнимательность (есть один подвох), больше я вам помогать не буду :king:
ахах) Молодец, так и мотивировать можно всех :D
P.s. изи же найти.

Zeror_Dalglish
29.06.2014, 22:56
ахах) Молодец, так и мотивировать можно всех :D
P.s. изи же найти.

Вы сами то видите ошибку?

Zeror_Dalglish
29.06.2014, 23:50
Ясно, понятно мне все.

DeimoS
30.06.2014, 09:57
Нужно было просто вставить код и всё. Работает?

Zeror_Dalglish
30.06.2014, 11:43
Нужно было просто вставить код и всё. Работает?

Но, возможно иза того что после авторизаций идет выбор скинов и там нету cancel и т.к потом ещё тд а после него уже cancel возможно иза этого?

- - - Добавлено - - -


Но, возможно иза того что после авторизаций идет выбор скинов и там нету cancel и т.к потом ещё тд а после него уже cancel возможно иза этого?



public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if(playertextid == gang[playerid][7])
{
for(new i = 0; i < 12; i++) PlayerTextDrawHide(playerid, gang[playerid][i]);
for(new i = 0; i < 10; i++) PlayerTextDrawShow(playerid, skingrove[playerid][i]);
Fraction[playerid] = 1;
Fraction_NUM[Fraction[playerid]]++;
SetPlayerColor(playerid,0x009900AA);
}
else if(playertextid == gang[playerid][8])
{
for(new i = 0; i < 12; i++) PlayerTextDrawHide(playerid, gang[playerid][i]);
for(new i = 0; i < 6; i++) PlayerTextDrawShow(playerid, skinballas[playerid][i]);
Fraction[playerid] = 3;
Fraction_NUM[Fraction[playerid]]++;
SetPlayerColor(playerid,0xCC00FFAA);
}
else if(playertextid == gang[playerid][9])
{
for(new i = 0; i < 12; i++) PlayerTextDrawHide(playerid, gang[playerid][i]);
for(new i = 0; i < 8; i++) PlayerTextDrawShow(playerid, skinazteck[playerid][i]);
Fraction[playerid] = 4;
Fraction_NUM[Fraction[playerid]]++;
SetPlayerColor(playerid,0x00b4e1AA);
}
else if(playertextid == gang[playerid][10])
{
for(new i = 0; i < 12; i++) PlayerTextDrawHide(playerid, gang[playerid][i]);
for(new i = 0; i < 8; i++) PlayerTextDrawShow(playerid, skinrifa[playerid][i]);
Fraction[playerid] = 5;
Fraction_NUM[Fraction[playerid]]++;
SetPlayerColor(playerid,0x6666ffAA);
}
else if(playertextid == gang[playerid][11])
{
for(new i = 0; i < 12; i++) PlayerTextDrawHide(playerid, gang[playerid][i]);
for(new i = 0; i < 6; i++) PlayerTextDrawShow(playerid, skinvagos[playerid][i]);
Fraction[playerid] = 2;
Fraction_NUM[Fraction[playerid]]++;
SetPlayerColor(playerid,0xffcd00AA);
}
if(playertextid == skingrove[playerid][1])
{
SetPlayerSkin(playerid, 105),SetPVarInt(playerid, "SKIN", 105);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skingrove[playerid][2])
{
SetPlayerSkin(playerid, 106),SetPVarInt(playerid, "SKIN", 106);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skingrove[playerid][3])
{
SetPlayerSkin(playerid, 107),SetPVarInt(playerid, "SKIN", 107);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skingrove[playerid][4])
{
SetPlayerSkin(playerid, 270),SetPVarInt(playerid, "SKIN", 270);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skingrove[playerid][5])
{
SetPlayerSkin(playerid, 195),SetPVarInt(playerid, "SKIN", 195);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skingrove[playerid][6])
{
SetPlayerSkin(playerid, 271),SetPVarInt(playerid, "SKIN", 271);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skingrove[playerid][7])
{
SetPlayerSkin(playerid, 269),SetPVarInt(playerid, "SKIN", 269);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skingrove[playerid][8])
{
SetPlayerSkin(playerid, 149),SetPVarInt(playerid, "SKIN", 149);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinballas[playerid][1])
{
SetPlayerSkin(playerid, 102),SetPVarInt(playerid, "SKIN", 102);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinballas[playerid][i]);
BandFrak[playerid] = 3;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinballas[playerid][2])
{
SetPlayerSkin(playerid, 103),SetPVarInt(playerid, "SKIN", 103);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinballas[playerid][i]);
BandFrak[playerid] = 3;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinballas[playerid][3])
{
SetPlayerSkin(playerid, 104),SetPVarInt(playerid, "SKIN", 104);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinballas[playerid][i]);
BandFrak[playerid] = 3;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinballas[playerid][4])
{
SetPlayerSkin(playerid, 195),SetPVarInt(playerid, "SKIN", 195);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinballas[playerid][i]);
BandFrak[playerid] = 3;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinazteck[playerid][1])
{
SetPlayerSkin(playerid, 114),SetPVarInt(playerid, "SKIN", 114);
for(new i = 0; i < 8; i++) PlayerTextDrawHide(playerid, skinazteck[playerid][i]);
BandFrak[playerid] = 4;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinazteck[playerid][2])
{
SetPlayerSkin(playerid, 119),SetPVarInt(playerid, "SKIN", 119);
for(new i = 0; i < 8; i++) PlayerTextDrawHide(playerid, skinazteck[playerid][i]);
BandFrak[playerid] = 4;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinazteck[playerid][3])
{
SetPlayerSkin(playerid, 292),SetPVarInt(playerid, "SKIN", 292);
for(new i = 0; i < 8; i++) PlayerTextDrawHide(playerid, skinazteck[playerid][i]);
BandFrak[playerid] = 4;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinazteck[playerid][4])
{
SetPlayerSkin(playerid, 116),SetPVarInt(playerid, "SKIN", 116);
for(new i = 0; i < 8; i++) PlayerTextDrawHide(playerid, skinazteck[playerid][i]);
BandFrak[playerid] = 4;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinazteck[playerid][5])
{
SetPlayerSkin(playerid, 115),SetPVarInt(playerid, "SKIN", 115);
for(new i = 0; i < 8; i++) PlayerTextDrawHide(playerid, skinazteck[playerid][i]);
BandFrak[playerid] = 4;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinazteck[playerid][6])
{
SetPlayerSkin(playerid, 193),SetPVarInt(playerid, "SKIN", 193);
for(new i = 0; i < 8; i++) PlayerTextDrawHide(playerid, skinazteck[playerid][i]);
BandFrak[playerid] = 4;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinvagos[playerid][1])
{
SetPlayerSkin(playerid, 110),SetPVarInt(playerid, "SKIN", 110);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinvagos[playerid][i]);
BandFrak[playerid] = 2;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinvagos[playerid][2])
{
SetPlayerSkin(playerid, 109),SetPVarInt(playerid, "SKIN", 109);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinvagos[playerid][i]);
BandFrak[playerid] = 2;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinvagos[playerid][3])
{
SetPlayerSkin(playerid, 108),SetPVarInt(playerid, "SKIN", 108);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinvagos[playerid][i]);
BandFrak[playerid] = 2;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinvagos[playerid][4])
{
SetPlayerSkin(playerid, 190),SetPVarInt(playerid, "SKIN", 190);
for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, skinvagos[playerid][i]);
BandFrak[playerid] = 2;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinrifa[playerid][1])
{
SetPlayerSkin(playerid, 173),SetPVarInt(playerid, "SKIN", 173);
for(new i = 0; i < 7; i++) PlayerTextDrawHide(playerid, skinrifa[playerid][i]);
BandFrak[playerid] = 5;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinrifa[playerid][2])
{
SetPlayerSkin(playerid, 174),SetPVarInt(playerid, "SKIN", 174);
for(new i = 0; i < 7; i++) PlayerTextDrawHide(playerid, skinrifa[playerid][i]);
BandFrak[playerid] = 5;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinrifa[playerid][3])
{
SetPlayerSkin(playerid, 175),SetPVarInt(playerid, "SKIN", 175);
for(new i = 0; i < 7; i++) PlayerTextDrawHide(playerid, skinrifa[playerid][i]);
BandFrak[playerid] = 5;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinrifa[playerid][4])
{
SetPlayerSkin(playerid, 226),SetPVarInt(playerid, "SKIN", 226);
for(new i = 0; i < 7; i++) PlayerTextDrawHide(playerid, skinrifa[playerid][i]);
BandFrak[playerid] = 5;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
}
if(playertextid == skinrifa[playerid][5])
{
SetPlayerSkin(playerid, 273),SetPVarInt(playerid, "SKIN", 273);
for(new i = 0; i < 7; i++) PlayerTextDrawHide(playerid, skinrifa[playerid][i]);
BandFrak[playerid] = 5;
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_SKINS[playerid] = 0;
SpawnPlayer(playerid);
}
new number_buff[1], string[120];
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} >= 11)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
new IP[16];
GetPlayerIp(playerid, IP, 16);
format(string, sizeof(string), "Администратор %s[%d] прошел проверку на случайный пароль | Административный лвл: %i | IP: %s",PlayerInfo[playerid][pName],playerid, PlayerInfo[playerid][pAdmin], IP);
SMA(5,0xFF6600AA, string);
A_Login[playerid] = 1;
SendClientMessage(playerid,RIFA_COLOR,"Вы прошли проверку на случайный пароль");
PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][t]);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, boxsing_pic_code_adm[playerid][i]);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][i]);
DeletePVar(playerid, "Cancel_Select_Text_Draw");
CancelSelectTextDraw(playerid);
}
else
{
new logtires = 2 - Login_Attempts[playerid];
Login_Attempts[playerid] += 1;
format(string,97,"Вы ввели неверный пароль!\nУ вас осталось %d попытки",logtires);
SendClientMessage(playerid,RIFA_COLOR,string);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы ввели 3 раза не правильный пароль и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозриваеться на взлом аккаунта (3 не правильных ввода случайного кода)",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
return true;
}
}
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
return 1;
}

DeimoS
30.06.2014, 11:54
Эмм, что?

Zeror_Dalglish
30.06.2014, 12:31
Эмм, что?

Но, возможно иза того что после авторизаций идет выбор скинов(на тд) и там нету cancel и т.к потом ещё тд а после него уже cancel есть возможно иза этого?

DeimoS
30.06.2014, 12:41
Спасибо что скопировали свой пост. Но я и первый раз читая ничего не понял

Zeror_Dalglish
30.06.2014, 13:20
Спасибо что скопировали свой пост. Но я и первый раз читая ничего не понял

Ну дак, блин вот ТД выбор банды, выбрал(нету CancelSelectTextDraw) нажал дальше идет выбор скинов выбрал скин (и вот только тут есть Cacnel Select Text Draw).
Хз, как объяснить.

DeimoS
30.06.2014, 15:29
Вы мой код вставили то?

Zeror_Dalglish
30.06.2014, 18:32
Вы мой код вставили то?

Да... Не работает.

DeimoS
30.06.2014, 19:29
Да... Не работает.

Как вставили то и что именно неработает? Сформулируйте проблему нормально

Zeror_Dalglish
30.06.2014, 20:10
Как вставили то и что именно не работает? Сформулируйте проблему нормально

Вставил как вы сказали при показе ТД, после скрытия удалял.
Ну при спавне, все равно + 1 попытка.



stock Pin_Code(playerid)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
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);
for(new i = 0; i < 10; i++) PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][i]);
SetPVarInt(playerid, "Cancel_Select_Text_Draw", 1);
SelectTextDraw(playerid, 0xFDFF40AA);
}
}
}



public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "Cancel_Select_Text_Draw"))
{
new string[95];
Login_Attempts[playerid] += 1;
SendClientMessage(playerid, 0xFF6600AA, "Вы нажали на ESC у Вас вычлась одна попытка на ввод случайного пароля!");
format(string,sizeof(string),"У Вас осталось %i попыток на ввод случайного пароля!",Login_Attempts[playerid]);
SendClientMessage(playerid,0xFF6600AA,string);
SelectTextDraw(playerid, 0xFDFF40AA);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы нажали 3 раза на кнопку ''ESC'' и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозриваеться на взлом аккаунта (3 нажатия на кнопку ''ESC'')",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
return true;
}
}
return 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} >= 11)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
new IP[16];
GetPlayerIp(playerid, IP, 16);
format(string, sizeof(string), "Администратор %s[%d] прошел проверку на случайный пароль | Административный лвл: %i | IP: %s",PlayerInfo[playerid][pName],playerid, PlayerInfo[playerid][pAdmin], IP);
SMA(5,0xFF6600AA, string);
A_Login[playerid] = 1;
SendClientMessage(playerid,RIFA_COLOR,"Вы прошли проверку на случайный пароль");
PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][t]);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, boxsing_pic_code_adm[playerid][i]);
DeletePVar(playerid, "Cancel_Select_Text_Draw");
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][i]);
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_PIN_CODE[playerid] = 0;
}
else
{
new logtires = 2 - Login_Attempts[playerid];
Login_Attempts[playerid] += 1;
format(string,97,"Вы ввели неверный пароль!\nУ вас осталось %d попытки",logtires);
SendClientMessage(playerid,RIFA_COLOR,string);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы ввели 3 раза не правильный пароль и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозриваеться на взлом аккаунта (3 не правильных ввода случайного кода)",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
return true;
}
}
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
return 1;
}


- - - Добавлено - - -

TD_ESC_NO_OFFLINE_PIN_CODE - удален, удалил вчерашний код пришлось заного все делать

Zeror_Dalglish
01.07.2014, 09:57
UP UP UP

OKStyle
01.07.2014, 10:47
Надо понять, в какой период времени нужно совершать действие по PVar. В зависимости от этого будет 2 варианта:


if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "Cancel_Select_Text_Draw") == 1)

if(clickedid == Text:INVALID_TEXT_DRAW && !GetPVarInt(playerid, "Cancel_Select_Text_Draw"))

Zeror_Dalglish
01.07.2014, 13:12
Надо понять, в какой период времени нужно совершать действие по PVar. В зависимости от этого будет 2 варианта:


if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "Cancel_Select_Text_Draw") == 1)

if(clickedid == Text:INVALID_TEXT_DRAW && !GetPVarInt(playerid, "Cancel_Select_Text_Draw"))

Все равно при спавне выдает что 3 попытки...

DeimoS
01.07.2014, 14:49
stock Pin_Code(playerid)
{
if(!PlayerInfo[playerid][pAdmin] || A_Login[playerid]) return 1;
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);
}
for(new i = 0; i < 10; i++) PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][i]);
SelectTextDraw(playerid, 0xFDFF40AA);
SetPVarInt(playerid, "Cancel_Select_Text_Draw", 1);
return 1;
}


public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "Cancel_Select_Text_Draw") && !A_Login[playerid])
{
new string[95];
Login_Attempts[playerid] += 1;
SendClientMessage(playerid, 0xFF6600AA, "Вы нажали на ESC у Вас вычлась одна попытка на ввод случайного пароля!");
format(string,sizeof(string),"У Вас осталось %i попыток на ввод случайного пароля!",Login_Attempts[playerid]);
SendClientMessage(playerid,0xFF6600AA,string);
SelectTextDraw(playerid, 0xFDFF40AA);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы нажали 3 раза на кнопку \"ESC\" и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозриваеться на взлом аккаунта (3 нажатия на кнопку \"ESC\")",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
return true;
}
}
return 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} >= 11)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
GetPlayerIp(playerid, string, 16);
format(string, sizeof(string), "Администратор %s[%d] прошел проверку на случайный пароль | Административный лвл: %i | IP: %s",PlayerInfo[playerid][pName],playerid, PlayerInfo[playerid][pAdmin], string);
SMA(5,0xFF6600AA, string);
A_Login[playerid] = 1;
SendClientMessage(playerid,RIFA_COLOR,"Вы прошли проверку на случайный пароль");
PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][t]);
for(new i = 0; i < 10; i++)
{
PlayerTextDrawHide(playerid, boxsing_pic_code_adm[playerid][i]);
PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][i]);
}
DeletePVar(playerid, "Cancel_Select_Text_Draw");
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_PIN_CODE[playerid] = 0;
}
else
{
new logtires = 2 - Login_Attempts[playerid];
Login_Attempts[playerid] += 1;
format(string,sizeof(string),"Вы ввели неверный пароль!\nУ вас осталось %d попытки",logtires);
SendClientMessage(playerid,RIFA_COLOR,string);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы ввели 3 раза не правильный пароль и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозреваеться на взлом аккаунта (3 не правильных ввода случайного кода)",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
}
}
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}

Zeror_Dalglish
01.07.2014, 15:18
stock Pin_Code(playerid)
{
if(!PlayerInfo[playerid][pAdmin] || A_Login[playerid]) return 1;
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);
}
for(new i = 0; i < 10; i++) PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][i]);
SelectTextDraw(playerid, 0xFDFF40AA);
SetPVarInt(playerid, "Cancel_Select_Text_Draw", 1);
return 1;
}


public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "Cancel_Select_Text_Draw") && !A_Login[playerid])
{
new string[95];
Login_Attempts[playerid] += 1;
SendClientMessage(playerid, 0xFF6600AA, "Вы нажали на ESC у Вас вычлась одна попытка на ввод случайного пароля!");
format(string,sizeof(string),"У Вас осталось %i попыток на ввод случайного пароля!",Login_Attempts[playerid]);
SendClientMessage(playerid,0xFF6600AA,string);
SelectTextDraw(playerid, 0xFDFF40AA);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы нажали 3 раза на кнопку \"ESC\" и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозриваеться на взлом аккаунта (3 нажатия на кнопку \"ESC\")",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
return true;
}
}
return 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} >= 11)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
GetPlayerIp(playerid, string, 16);
format(string, sizeof(string), "Администратор %s[%d] прошел проверку на случайный пароль | Административный лвл: %i | IP: %s",PlayerInfo[playerid][pName],playerid, PlayerInfo[playerid][pAdmin], string);
SMA(5,0xFF6600AA, string);
A_Login[playerid] = 1;
SendClientMessage(playerid,RIFA_COLOR,"Вы прошли проверку на случайный пароль");
PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][t]);
for(new i = 0; i < 10; i++)
{
PlayerTextDrawHide(playerid, boxsing_pic_code_adm[playerid][i]);
PlayerTextDrawHide(playerid, textdraw_panel_button[playerid][i]);
}
DeletePVar(playerid, "Cancel_Select_Text_Draw");
CancelSelectTextDraw(playerid);
TD_ESC_NO_OFFLINE_PIN_CODE[playerid] = 0;
}
else
{
new logtires = 2 - Login_Attempts[playerid];
Login_Attempts[playerid] += 1;
format(string,sizeof(string),"Вы ввели неверный пароль!\nУ вас осталось %d попытки",logtires);
SendClientMessage(playerid,RIFA_COLOR,string);
if(Login_Attempts[playerid] == 3)
{
SendClientMessage(playerid,RIFA_COLOR,"Вы ввели 3 раза не правильный пароль и были сняты с администрирования");
format(string, sizeof(string), "Администратор %s[%d] подозреваеться на взлом аккаунта (3 не правильных ввода случайного кода)",PlayerInfo[playerid][pName],playerid);
SMA(5,COLOR_LIGHTRED, string);
PlayerInfo[playerid][pAdmin] = 0;
KickNew(playerid);
}
}
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
Не работает...

Spectrum
01.07.2014, 17:21
короче, тебе в стол заказов чувак

OKStyle
01.07.2014, 18:15
Ну что за неразрешимая проблема :rofl:

Zeror_Dalglish
01.07.2014, 18:45
короче, тебе в стол заказов чувак

Какой стол заказов? Если не работает я что виновен?

underwoker
01.07.2014, 19:03
Ну что за неразрешимая проблема :rofl:
Каждая тема у ТС растягивается на столько страниц.

DeimoS
01.07.2014, 19:16
Какой стол заказов? Если не работает я что виновен?

А кто виновен то? Мы? :dash2:

Zeror_Dalglish
01.07.2014, 19:21
А кто виновен то? Мы? :dash2:

Я вставил ваш код - почему же не работает?

DeimoS
01.07.2014, 19:51
Я вставил ваш код - почему же не работает?

Эмм, где вы видите там мой код, кроме форматирования текстдравов? Это вы решили его доработать какими-то проверками и у вас не получилось. Причём тут мой код то?

Откройте свой профиль и нажмите на кнопку "Найти темы". А после загляните в любую и практически в каждой увидите моё сообщение с готовым кодом или описанием алгоритма написания кода. И каждый раз вы, чуть столкнувшись с проблемой, бежите на форум с вопросами. Лично я говорю сразу - больше вы от меня готового кода не получите, ибо толку от этого нет. И в личку флудить с просьбами заглянуть в тему не надо. Уж либо начинайте изучать Pawn, либо платите за то, что код пишут за вас. Или же забудьте о программировании, ибо лично мне надоело быть вашим бесплатным скриптером. :facepalm:

Zeror_Dalglish
01.07.2014, 19:56
Эмм, где вы видите там мой код, кроме форматирования текстдравов? Это вы решили его доработать какими-то проверками и у вас не получилось. Причём тут мой код то?

Откройте свой профиль и нажмите на кнопку "Найти темы". А после загляните в любую и практически в каждой увидите моё сообщение с готовым кодом или описанием алгоритма написания кода. И каждый раз вы, чуть столкнувшись с проблемой, бежите на форум с вопросами. Лично я говорю сразу - больше вы от меня готового кода не получите, ибо толку от этого нет. И в личку флудить с просьбами заглянуть в тему не надо. Уж либо начинайте изучать Pawn, либо платите за то, что код пишут за вас. Или же забудьте о программировании, ибо лично мне надоело быть вашим бесплатным скриптером. :facepalm:
Дак почему же, я делал не работает...
Даже через переменую при спавне все равно выдает текст!

DeimoS
01.07.2014, 20:00
Дак почему же, я делал не работает...
Даже через переменую при спавне все равно выдает текст!

Так прологируйте все аргументы при включённых/выключенных текстдравах (комментируйте код чтоб выключить) и потом отталкивайтесь от этих данных.

Zeror_Dalglish
01.07.2014, 20:44
Так прологируйте все аргументы при включённых/выключенных текстдравах (комментируйте код чтоб выключить) и потом отталкивайтесь от этих данных.

Ну я предполагаю иза чего...
Я вам говорил что, в ТД нету CancelTextDraw
Ну привиду пример:


if(playertextid == gang[playerid][7])
{
for(new i = 0; i < 12; i++) PlayerTextDrawHide(playerid, gang[playerid][i]);

// нету Cancel
for(new i = 0; i < 10; i++) PlayerTextDrawShow(playerid, skingrove[playerid][i]);
Fraction[playerid] = 1;
Fraction_NUM[Fraction[playerid]]++;
SetPlayerColor(playerid,0x009900AA);
}



if(playertextid == skingrove[playerid][1])
{
SetPlayerSkin(playerid, 105),SetPVarInt(playerid, "SKIN", 105);
for(new i = 0; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
BandFrak[playerid] = 1;
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid); // А вот уже тут Cancel
}

Возможно ли иза этого?

Zeror_Dalglish
01.07.2014, 21:41
Ну что за неразрешимая проблема :rofl:

Окс, хоть ты помоги.

L0ndl3m
01.07.2014, 22:09
Окс, хоть ты помоги.

Думаю тут только самоучка поможет. :c
Вам же пишут готовый код, вы всегда отвечаете: Не работает, вы сами попробуйте хоть подумать в чём может быть проблема и решить проблему сами. Не работает один способ -> пробуйте другой, методом тыка даже можно решить почти любую проблему ( время на это нужно, но всё же, попробуйте ). Ибо никому лучше от этого не становится, а только наоборот.

DeimoS
01.07.2014, 22:18
Окс, хоть ты помоги.

- Спасение утопающих -- дело рук самих утопающих.
Или же:
- Дорогу осилит идущий.
Или же:
- Без труда не выловишь и рыбку из пруда.

И ещё тысячи фраз, которые люди не с пустого места придумали. Когда вы это начнёте понимать - вы двинетесь в сторону успеха. А пока вы лишь бродите в неизвестном направлении с одной целью: имитировать движение :declare:

Zeror_Dalglish
01.07.2014, 22:24
- Спасение утопающих -- дело рук самих утопающих.
Или же:
- Дорогу осилит идущий.
Или же:
- Без труда не выловишь и рыбку из пруда.

И ещё тысячи фраз, которые люди не с пустого места придумали. Когда вы это начнёте понимать - вы двинетесь в сторону успеха. А пока вы лишь бродите в неизвестном направлении с одной целью: имитировать движение :declare:

Мда... Я вас спрашиваю Вы мне про другое.
- Я прошу Вас писать код за меня?
- Нет
Я прощу подсказать почему так проиходит

DeimoS
01.07.2014, 23:15
Мда... Я вас спрашиваю Вы мне про другое.
- Я прошу Вас писать код за меня?
- Нет
Я прощу подсказать почему так проиходит

Потому что вы неправильно устанавливаете условия, не? И вам уже сказали путь решения проблемы.

Zeror_Dalglish
02.07.2014, 00:24
Потому что вы неправильно устанавливаете условия, не? И вам уже сказали путь решения проблемы.

А где кто то что то сказал? Почему же не правильный условия?

- - - Добавлено - - -


Надо понять, в какой период времени нужно совершать действие по PVar. В зависимости от этого будет 2 варианта:


if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "Cancel_Select_Text_Draw") == 1)

if(clickedid == Text:INVALID_TEXT_DRAW && !GetPVarInt(playerid, "Cancel_Select_Text_Draw"))
Если вот так:


if(clickedid == Text:INVALID_TEXT_DRAW && GetPVarInt(playerid, "Cancel_Select_Text_Draw") != 0 && A_Login[playerid] != 0)

Вот так вот при спавне не срабатывает проверка. Но и при нажатий на ESC она не срабатывает.
И да почему то после ввода пароля не убираеться кликбиленость

DeimoS
02.07.2014, 00:34
Вот вам решение
Так прологируйте все аргументы при включённых/выключенных текстдравах (комментируйте код чтоб выключить) и потом отталкивайтесь от этих данных.