Re: Скриптинг курилка -
DeepCode - 02.03.2016
Quote:
Originally Posted by Diman777
PHP Code:
native bool:fputchar(File: handle, value, bool: utf8 = true);
исправит это дело)
|
Есть пример использования? Насколько я знаю, эта функция записывает только один символ.
Re: Скриптинг курилка -
Diman777 - 02.03.2016
Тебя не должен смущать один символ)
PHP Code:
new txt_example[] = "Пример текста на кириллице";
new File:handle;
handle = fopen("name_file.txt", io_append);
if (handle)
{
new string[32];
format(string, 32, "%s\r\n", txt_example);
for (new c = 0; c < strlen(string); c++)
{
// Запишем каждый символ строки
// string в режиме ASCII
fputchar(handle, string[c], false);
}
fclose(handle);
}
else
{
printf("Не удалось открыть файл '%s'", "name_file.txt");
}
Re: MySQL (F.A.Q.) -
AlanWalter - 03.03.2016
1) Иногда запрос не посылается к базе данных с ошибкой:
[ERROR] CMySQLQuery::Execute - (error #2013) Lost connection to MySQL server during query
После этого запросы вновь некоторое время посылаются и вновь такая ошибка.
2) Странным образом не вызывается OnQueryError. Вообще ни разу.
R39-4
Re: MySQL (F.A.Q.) -
Romz - 03.03.2016
Quote:
Originally Posted by AlanWalter
2) Странным образом не вызывается OnQueryError. Вообще ни разу.
R39-4
|
Тоже не работает, даже не знаю почему. Писал в офф. тему, никто не ответил...
http://forum.sa-mp.com/showpost.php?...postcount=5810
Re: Скриптинг курилка -
stabker - 04.03.2016
Поставил на виртуалку CentOS 6.7, но при попытке запуска самп-сервера с плагином, использующим sampgdk*, он падает - "Ошибка сегментирования". В чем может быть причина?
*К этому выводу я пришел исходя из того, что не работает crashdetect, streamer, а также пустой плагин с sampgdk. ColAndreas, например, работает, также работает чистый плагин без sampgdk.
Re: MySQL (F.A.Q.) -
Stepashka - 04.03.2016
Quote:
Originally Posted by Kolstin
|
http://forum.sa-mp.com/showpost.php?...&postcount=149
Re: Скриптинг курилка -
themakar - 05.03.2016
Максимальная длина пути для объявления библиотеки 32 символа?
PHP Code:
#include "sources/inventory/inventory-gui.p" // 33 символа
Если указанный заголовок превышает 32, то компилятор игнорирует подключение библиотеки, без ошибки что файл отсутствует, по идеи если размер превышен, полный адрес бы обрезался и компилятор выдал ошибку, что файл не найден.
Как все таки это устроено?
Re: Скриптинг курилка -
OKStyle - 05.03.2016
Полагаю, что такая же тема, как с заголовком функции. Вообще ограничение логичное ОтТакихЛюдейКтоНеМожетСформулироватьМысльКратко. Проблема решается заменой названия модуля на gui или inv-gui, т.к. директория inventory уже обо всём сказала.
Re: Скриптинг курилка -
Romz - 12.03.2016
Всем привет! Возможно ли реализовать что то подобное с помощью CallRemoteFunction? Как не пробовал, ничего не выходит. Все время переменные возвращают нули.
Код мода:
PHP Code:
new q, w;
//test(q, w);
CallRemoteFunction("test", "dd", q, w);
printf("%d, %d", q, w);
Код скрипта:
PHP Code:
forward test(&a, &b);
public test(&a, &b) {
a = 2789;
b = 6541;
}
Re: Скриптинг курилка -
ZiGGi - 12.03.2016
Quote:
Originally Posted by Kolstin
Всем привет! Возможно ли реализовать что то подобное с помощью CallRemoteFunction? Как не пробовал, ничего не выходит. Все время переменные возвращают нули.
Код мода:
PHP Code:
new q, w;
//test(q, w);
CallRemoteFunction("test", "dd", q, w);
printf("%d, %d", q, w);
Код скрипта:
PHP Code:
forward test(&a, &b);
public test(&a, &b) {
a = 2789;
b = 6541;
}
|
Нет, но можно через return или S/Pvar.
Re: Скриптинг курилка -
gensek4 - 29.03.2016
Quote:
Originally Posted by Stepashka
Code:
UPDATE `table_name` SET `password` = SHA2(CONCAT(`password`, `salt`), 256);
Code:
UPDATE `table_name` SET `salt` = MD5(RAND());
|
Огромное спасибо! Все получилось, за исключением одного очень важного нюанса, при хэшировании пароля "1" (без кавычек) получаю вот такой результат (все буквы маленькие):
PHP Code:
186a240fd42ce903c0c89eaeacf377d474bc4692dba87dffc47c83d17bfebe0f
При хэшировании того-же пароля с помощью функции SHA256_PassHash (в павно), получаю точно такой же результат, но все буквы большие:
PHP Code:
186A240FD42CE903C0C89EAEACF377D474BC4692DBA87DFFC47C83D17BFEBE0F
Можно как-то заставить хэшировать в UPDATE запросе большими буквами?
Re: Скриптинг курилка -
gensek4 - 29.03.2016
Почитал учебник по SQL, в итоге получился запрос:
PHP Code:
UPDATE table SET keyword = UPPER(keyword)
Выполнил - вроде преобразовало. Все же верно?
И последний вопрос, при генерации соли в вашем запросе получились только маленькие буквы и цифры. Можно заставить генерировать рандомные буквы (большие и маленькие) и некоторые спец. символы типа "><}{"?
Хотя это толком и не важно, но если можно - почему бы и не использовать.
Re: Скриптинг курилка -
Stepashka - 29.03.2016
Quote:
Originally Posted by gensek4
Можно как-то заставить хэшировать в UPDATE запросе большими буквами?
|
Мускул нерегистрозависим поэтому ему плевать, а вообще хэши обычно в нижнем регистре.
Quote:
Originally Posted by gensek4
И последний вопрос, при генерации соли в вашем запросе получились только маленькие буквы и цифры. Можно заставить генерировать рандомные буквы (большие и маленькие) и некоторые спец. символы типа "><}{"?
Хотя это толком и не важно, но если можно - почему бы и не использовать.
|
Данным способом нет, если вы ещё и документацию по хэшам почитайте, то вы поймёте что md5 всегда возвращает только буквы и цифры.
Для генерации больших и маленьких букв со спец символами нужно немного больше магии.
Хотя разный регистр бесполезен, как я уже писал мускул нерегистрозависим.
Re: Скриптинг курилка -
Romz - 30.03.2016
Привет, есть такой массив:
PHP Code:
new test[MAX_PLAYERS][10];
Как задать всем ячейкам одинаковое значение без использования циклов? Пытался так:
PHP Code:
new test[MAX_PLAYERS][10] = {1, ...};
Но так не работает, видимо для таких массивов нужно как то по другом задавать значение, не пойму как.
Re: Скриптинг курилка -
AlanWalter - 30.03.2016
Quote:
Originally Posted by Kolstin
Привет, есть такой массив:
PHP Code:
new test[MAX_PLAYERS][10];
Как задать всем ячейкам одинаковое значение без использования циклов? Пытался так:
PHP Code:
new test[MAX_PLAYERS][10] = {1, ...};
Но так не работает, видимо для таких массивов нужно как то по другом задавать значение, не пойму как.
|
Как вариант:
PHP Code:
new h[10][10] = {
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10}
};
Re: Скриптинг курилка -
Romz - 30.03.2016
Quote:
Originally Posted by AlanWalter
PHP Code:
new j[10][10] = {
1,1,1,1,1,1,1,1,1,1
};
нет?
|
Ячеек может быть больше 10, это я для примера навел. Нету желания прописывать каждой ячейке значение в ручную, было бы здорово все и сразу задать.
Re: Скриптинг курилка -
ZiGGi - 30.03.2016
Quote:
Originally Posted by Kolstin
Привет, есть такой массив:
PHP Code:
new test[MAX_PLAYERS][10];
Как задать всем ячейкам одинаковое значение без использования циклов? Пытался так:
PHP Code:
new test[MAX_PLAYERS][10] = {1, ...};
Но так не работает, видимо для таких массивов нужно как то по другом задавать значение, не пойму как.
|
Можно использовать
компилятор от Zeex, там есть
эта фича.
Re: Скриптинг курилка -
Stepashka - 30.03.2016
Quote:
Originally Posted by Kolstin
PHP Code:
new test[MAX_PLAYERS][10] = {1, ...};
Но так не работает, видимо для таких массивов нужно как то по другом задавать значение, не пойму как.
|
Мозг надо просто включать, у тебя на втором уровне массив, а ты ему число скормить пытаешься.
Code:
new test[MAX_PLAYERS][10] = {{1, ...}, ...};
Re: Скриптинг курилка -
Romz - 30.03.2016
Quote:
Originally Posted by Stepashka
Мозг надо просто включать, у тебя на втором уровне массив, а ты ему число скормить пытаешься.
Code:
new test[MAX_PLAYERS][10] = {{1, ...}, ...};
|
Да, я пробовал так делать ошибку выдает.
PHP Code:
error 029: invalid expression, assumed zero
Re: Скриптинг курилка -
Mcc - 30.03.2016
Quote:
Originally Posted by Kolstin
Да, я пробовал так делать ошибку выдает.
PHP Code:
error 029: invalid expression, assumed zero
|
Теперь попробуй мозг включить.