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: Скриптинг курилка - DeepCode - 02.03.2016

Quote:
Originally Posted by Diman777
View Post
PHP Code:
native bool:fputchar(Filehandlevalueboolutf8 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(string32"%s\r\n"txt_example);
    for (new 
0strlen(string); c++)
    {
        
// Запишем каждый символ строки
        // string в режиме ASCII
        
fputchar(handlestring[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
View Post
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
View Post
Тоже не работает, даже не знаю почему. Писал в офф. тему, никто не ответил...

http://forum.sa-mp.com/showpost.php?...postcount=5810
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 qw;
//test(q, w);
CallRemoteFunction("test""dd"qw);
printf("%d, %d"qw); 
Код скрипта:
PHP Code:
forward test(&a, &b);
public 
test(&a, &b) {
    
2789;
    
6541;




Re: Скриптинг курилка - ZiGGi - 12.03.2016

Quote:
Originally Posted by Kolstin
View Post
Всем привет! Возможно ли реализовать что то подобное с помощью CallRemoteFunction? Как не пробовал, ничего не выходит. Все время переменные возвращают нули.

Код мода:
PHP Code:
new qw;
//test(q, w);
CallRemoteFunction("test""dd"qw);
printf("%d, %d"qw); 
Код скрипта:
PHP Code:
forward test(&a, &b);
public 
test(&a, &b) {
    
2789;
    
6541;

Нет, но можно через return или S/Pvar.


Re: Скриптинг курилка - gensek4 - 29.03.2016

Quote:
Originally Posted by Stepashka
View Post
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
View Post
Можно как-то заставить хэшировать в UPDATE запросе большими буквами?
Мускул нерегистрозависим поэтому ему плевать, а вообще хэши обычно в нижнем регистре.

Quote:
Originally Posted by gensek4
View Post
И последний вопрос, при генерации соли в вашем запросе получились только маленькие буквы и цифры. Можно заставить генерировать рандомные буквы (большие и маленькие) и некоторые спец. символы типа "><}{"?

Хотя это толком и не важно, но если можно - почему бы и не использовать.
Данным способом нет, если вы ещё и документацию по хэшам почитайте, то вы поймёте что 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
View Post
Привет, есть такой массив:
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
View Post
PHP Code:
new j[10][10] = { 
         
1,1,1,1,1,1,1,1,1,
     
}; 
нет?
Ячеек может быть больше 10, это я для примера навел. Нету желания прописывать каждой ячейке значение в ручную, было бы здорово все и сразу задать.


Re: Скриптинг курилка - ZiGGi - 30.03.2016

Quote:
Originally Posted by Kolstin
View Post
Привет, есть такой массив:
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
View Post
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
View Post
Мозг надо просто включать, у тебя на втором уровне массив, а ты ему число скормить пытаешься.
Code:
new test[MAX_PLAYERS][10] = {{1, ...}, ...};
Да, я пробовал так делать ошибку выдает.
PHP Code:
error 029invalid expressionassumed zero 



Re: Скриптинг курилка - Mcc - 30.03.2016

Quote:
Originally Posted by Kolstin
View Post
Да, я пробовал так делать ошибку выдает.
PHP Code:
error 029invalid expressionassumed zero 
Теперь попробуй мозг включить.