SA-MP Forums Archive
Скриптинг курилка - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Скриптинг курилка (/showthread.php?tid=111279)



Re: Скриптинг курилка - Stepashka - 02.03.2014

Какой размер у массивов: MusorObject, muscor?


Re: Скриптинг курилка - Makar007 - 02.03.2014

Quote:
Originally Posted by Makar93
Посмотреть сообщение
Код:
[20:23:53] [debug] Run time error 4: "Array index out of bounds"
Все же ясно написано, выход за пределы массива, в данном случае массива muscor. По очевидной записи строкой ниже станет ясно что цикл должен ограничиваться 220 элементом.
Действительно, спасибо.
В следующий раз сам буду переводить логи.


Re: Скриптинг курилка - DANGER1979 - 02.03.2014

Почему когда вставляешь текст
"Сдесь могла \nбыть ваша реклама.\n\tDanger_Hidden"
в ф-ии
SetObjectMaterialText
то переход на новую строку теряется если
такой же текст ввести через диалог
типа
ShowPlayerDialog(playerid,BIGBOARD_DIALOG2,DIALOG_ STYLE_INPUT,"Рекламный щит","Введите текст объявления, не более 21 символов","Далее","Отмена");

и вставляя вот так
SetObjectMaterialText(PosterInfo[sb][ppObjectID], inputtext, 0, OBJECT_MATERIAL_SIZE_512x256,
PosterInfo[sb][ppFont], PosterInfo[sb][ppSize], 1, PosterInfo[sb][ppColor], PosterInfo[sb][ppBack], OBJECT_MATERIAL_TEXT_ALIGN_CENTER);

Я понимаю если была бы ф-ия format, но тут без форматирования тупо вставляется inputtext
Неужели OnDialogResponse как то форматирует тоже.

Самое интересное то, что
new strtmp[256];
//strmid(strtmp, "Сдесь могла \nбыть ваша реклама.\n\tHidden_Danger", 0, strlen("Сдесь могла \nбыть ваша реклама.\n\tHidden_Danger"), 255);
format(strtmp, sizeof(strtmp), "Сдесь могла \nбыть ваша реклама.\n\t%s", "Hidden_Danger");

SetObjectMaterialText(PosterInfo[sb][ppObjectID], strtmp, 0, OBJECT_MATERIAL_SIZE_512x256,
PosterInfo[sb][ppFont], PosterInfo[sb][ppSize], 1, PosterInfo[sb][ppColor], PosterInfo[sb][ppBack],
OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
вот такой способ ввода нормально переносит на новую строку.

Т.е. получается дело в inputtext которое возвращает OnDialogResponse.

Через чат F6 также не пашет. Т.е. всё что мы можем ввести в чат или в диалог преобразовывается в чистый текст. А знаки табуляции и перехода на новую строку больше не работают. Не знаю почему. Может кто нашёл противодействие этому?


Re: Скриптинг курилка - White_116 - 02.03.2014

Quote:
Originally Posted by DANGER1979
Посмотреть сообщение
Почему когда вставляешь текст
"Сдесь могла \nбыть ваша реклама.\n\tDanger_Hidden"
в ф-ии
SetObjectMaterialText
то переход на новую строку теряется если
такой же текст ввести через диалог
типа
ShowPlayerDialogEx1(playerid,BIGBOARD_DIALOG2,DIAL OG_STYLE_INPUT,"Рекламный щит","Введите текст объявления, не более 21 символов","Далее","Отмена");

и вставляя вот так
SetObjectMaterialText(PosterInfo[sb][ppObjectID], inputtext, 0, OBJECT_MATERIAL_SIZE_512x256,
PosterInfo[sb][ppFont], PosterInfo[sb][ppSize], 1, PosterInfo[sb][ppColor], PosterInfo[sb][ppBack], OBJECT_MATERIAL_TEXT_ALIGN_CENTER);

Я понимаю если была бы ф-ия format, но тут без форматирования тупо вставляется inputtext
Неужели OnDialogResponse как то форматирует тоже.
"\" != '\'
Попробуй экранировать или заменять.


Re: Скриптинг курилка - Gameyer - 02.03.2014

Подскажите, если ли инклуд в самп с полным набором функций для углов (переводы в радианы, минуты, секунды, и операции над ними) ?


Re: Скриптинг курилка - DANGER1979 - 02.03.2014

Quote:
Originally Posted by White_116
Посмотреть сообщение
"\" != '\'
Попробуй экранировать или заменять.
символы \n или \t не теряются,
просто теряется их смысл.
Они после получения из чата или из диалога больше не выполняют свои ф-ии.


Re: Скриптинг курилка - White_116 - 02.03.2014

Quote:
Originally Posted by DANGER1979
Посмотреть сообщение
символы \n или \t не теряются, просто теряется их смысл.
У дальтоника тоже цвета все одинаковые, но почему-то смысл у светофора имеется.

Управляющие символы перестают ими быть. Некая защита у диалогов.

Для проверки выведи в консоль номер символа.


Re: Скриптинг курилка - ][Noname][ - 02.03.2014

Quote:

Неужели OnDialogResponse как то форматирует тоже.

просто вставляя \n в диалог вы отправляете 2 символа - \ и n
кэп


Re: Скриптинг курилка - DANGER1979 - 02.03.2014

Quote:
Originally Posted by SPAWN_METAL
Посмотреть сообщение
просто вставляя \n в диалог вы отправляете 2 символа - \ и n
кэп
А я как будто этого не знаю

и что с того?
я в диалог передаю текст
"Сдесь могла \nбыть ваша реклама.\n\tDanger_Hidden"
и получаю его точно также
т.е. кол-во символов не изменяется.

Можно конечно пойти через попу: найти все "\n" и после получения текста из диалога сделать замену "\n" на "\n".


Re: Скриптинг курилка - lost13 - 02.03.2014

Quote:
Originally Posted by lost13
Посмотреть сообщение
Доброе время суток. Не подскажете в чем дело? Скрипт определяющий дату через 7 дней начал в марте жестко тупить показывая минус 22 апреля 2014
pawn Код:
new d,m,ye,bx,ca;
getdate(ye,m,d);
//
bx=d+7;
if(m==12 && bx>31)
{ye++;}
if(bx>30 && m==4 || m==6 || m==9 || m==11)
{ca=bx-30;m++; }
else if(bx>31 && m==1 || m==3 || m==5 || m==7 ||m==8 || m==10 || m==12)
{ca=bx-31;m++;}
else if(m==2 && bx>29 && ye%4==0)
{ca=bx-29;m++;}
else if(m==2 && bx>28 && ye%4!=0)
{ca=bx-28;m++;}
else ca=bx;
Ответит кто?


Re: Скриптинг курилка - Jebster - 14.03.2014

Господа,
PHP код:
[22:19:29] >> mysql_query_callbackConnection handle)
[
22:19:29CMySQLHandler::ProcessQueryThread() - Reconnection attempt in background thread.
[
22:19:29CMySQLHandler::Connect() - Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (Error ID: 2002)
[22:19:29] Unloading Plugin
[22:19:29] CMySQLHandler::~CMySQLHandler() - deconstructor called.
[22:19:29] CMySQLHandler::FreeResult() - There is nothing to free (Reason: Connection is dead)
[22:19:29] CMySQLHandler::Disconnect() - You cannot call this function now. (Reason: Connection is dead)
[22:19:29] CMySQLHandler::~CMySQLHandler() - deconstructor called. 
В чём может быть причина? Сервер на ВПС, работал себе работал и тут умер.
Собсно не пойму, почему может умереть, последний запрос был до этого за 5 минут, причём успешный.


Re: Скриптинг курилка - DrumYum - 14.03.2014

Каким-то образом можно обнаружить, под "проксёй" ли зашёл игрок?


Re: Скриптинг курилка - Diman777 - 14.03.2014

Можно обнаружить. Создать массив в котором будут ип-адреса, относящиеся к прокси. И потом при коннекте проверять с каким ип-адресом пытается зайти игрок)


Re: Скриптинг курилка - DrumYum - 14.03.2014

Quote:
Originally Posted by Diman777
Посмотреть сообщение
Можно обнаружить. Создать массив в котором будут ип-адреса, относящиеся к прокси. И потом при коннекте проверять с каким ип-адресом пытается зайти игрок)
А где можно хранить такой огромный массив? Да и взять где все айпишники проксей?


Re: Скриптинг курилка - Diman777 - 14.03.2014

Ну я не знаю, можно хранить в базе данных например, если прокси уж слишком много. В поиске вбей прокси лист и там будут сайты


Re: Скриптинг курилка - lost13 - 14.03.2014

Кто нибудь скажет почему может падать сервер? Задолбался уже игроков терять((( Он либо не пишит/читает файлы либо тупо падает! Крашдетект молчит. Ничего губительного в коде нет. Разве что мои руки. Но проблема есть! А как ее найти сам хрен не знает!


Re: Скриптинг курилка - Jon_De - 14.03.2014

print на все коллбэки


Re: Скриптинг курилка - lost13 - 14.03.2014

Quote:
Originally Posted by Jon_De
Посмотреть сообщение
print на все коллбэки
Именно print? и что принтить? и как это поможет?


Re: Скриптинг курилка - Makar93 - 15.03.2014

Quote:
Originally Posted by lost13
Посмотреть сообщение
Именно print? и что принтить? и как это поможет?
Код:
public OnPlayerConnect(playerid)
{
print("OPC start");
...(тут код)
print("OPC end");
return 1;
}
Очевидно перед крашем сервера сработает "старт", а текста о завершении не будет, таким образом можно хоть проблемный участок кода найти, а дальше исправлять.


Re: Скриптинг курилка - lost13 - 15.03.2014

Quote:
Originally Posted by Makar93
Посмотреть сообщение
Код:
public OnPlayerConnect(playerid)
{
print("OPC start");
...(тут код)
print("OPC end");
return 1;
}
Очевидно перед крашем сервера сработает "старт", а текста о завершении не будет, таким образом можно хоть проблемный участок кода найти, а дальше исправлять.
С Стоками тоже это проделать? Или только с пабликами?