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

Посмотрите, кто знает, не могу найти ошибку, срочно нужно решить этот краш.

Quote:
Originally Posted by themakar
View Post
Помогите, ошибка в функции, но я не могу её обнаружить.

PHP Code:
stock GetPlayerNameBySQLID(userid)
{
    new
        
string[256],
        
Cache:result,
        
name[MAX_PLAYER_NAME];
        
    
mysql_format(g_iHandlestringsizeof(string), "SELECT `Character` FROM `characters` WHERE `ID` = '%d'"userid);
    
result mysql_query(g_iHandlestring);
    
    
cache_get_field_content(0"Character"nameg_iHandleMAX_PLAYER_NAME);
    
cache_delete(result);
    
    return 
name;

PHP Code:
[debugRun time error 8"Heap underflow"
[debug]  Heap pointer (HEAis 0x80E2E8heap bottom (HLWis 0x80E368
[debugAMX backtrace:
[
debug#0 00039078 in ?? (0x00000000, 0x00000001, 0x00000013) from roleplay.amx
[debug#1 0015ccc4 in public OnPlayerEnterDynamicArea (0x00000000, 0x00000014) from roleplay.amx 
Вызываю функцию
PHP Code:
format(info_2sizeof(info_2), (HouseData[id][houseOwner]) ? (GetPlayerNameBySQLID(HouseData[id][houseOwner])) : (FormatNumber(HouseData[id][housePrice]))); 
После этого участок кода прекращает работу.



Re: Скриптинг курилка - prineside - 09.12.2015

Quote:
Originally Posted by DartfoL
View Post
Комментирование и предоставление фактов идёт немного вразрез с правилами этого форума, бла-бла-бла...
То есть вы решили, что ваши познания в этой области позволяют свысока смотреть на тех, кто подобным не занимался, писать о том, что кто-то настолько глуп, что не знает того, что знаете вы, и скидывать картинки в духе "какой же ты тупой"?

Я могу поспорить, что на этом форуме есть много людей, кто знает в разных других областях больше вас (в том числе более полезных областях, чем создание читов). Тем не менее, они не ведут себя подобным быдловатым образом. А ваше громкое сообщение я считаю камнем и в мой огород, так как лично я не пытался никому нагадить с помощью читов и не разрабатывал их, и, следовательно, я не знаю тонкостей синхронизации следящих игроков.

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


Re: Скриптинг курилка - DartfoL - 09.12.2015

Quote:
Originally Posted by prineside
View Post
То есть вы решили, что ваши познания в этой области позволяют свысока смотреть на тех, кто подобным не занимался, писать о том, что кто-то настолько глуп, что не знает того, что знаете вы, и скидывать картинки в духе "какой же ты тупой"?

Я могу поспорить, что на этом форуме есть много людей, кто знает в разных других областях больше вас (в том числе более полезных областях, чем создание читов). Тем не менее, они не ведут себя подобным быдловатым образом. А ваше громкое сообщение я считаю камнем и в мой огород, так как лично я не пытался никому нагадить с помощью читов и не разрабатывал их, и, следовательно, я не знаю тонкостей синхронизации следящих игроков.

Не думаю, что вам было бы приятно, если бы кто-то называл вас тупым только потому, что вы не знаете о какой-то экзотической парадигме программирования или о том, что в третьей версии модели пиксельного шейдера нет побитовых операторов.
То, что вы увидели оскорбления там, где их вовсе не было - это уже не мои проблемы. Человек задал вопрос, а я, как знающий на него ответ, грамотно ответил. Потом обсуждение пошло не в то русло и я немного поправил это. А потом пришли вы с агрессией на меня, якобы я всех называю тупыми, смотрю на всех свысока и т.д. и т.п. Уж не думал, что простое выражение обычной эмоции может задеть даже человека, не участвующего в обсуждении текущей темы.

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


Re: Скриптинг курилка - themakar - 10.12.2015

Quote:
Originally Posted by themakar
View Post
Помогите, ошибка в функции, но я не могу её обнаружить.

PHP Code:
stock GetPlayerNameBySQLID(userid)
{
    new
        
string[256],
        
Cache:result,
        
name[MAX_PLAYER_NAME];
        
    
mysql_format(g_iHandlestringsizeof(string), "SELECT `Character` FROM `characters` WHERE `ID` = '%d'"userid);
    
result mysql_query(g_iHandlestring);
    
    
cache_get_field_content(0"Character"nameg_iHandleMAX_PLAYER_NAME);
    
cache_delete(result);
    
    return 
name;

PHP Code:
[debugRun time error 8"Heap underflow"
[debug]  Heap pointer (HEAis 0x80E2E8heap bottom (HLWis 0x80E368
[debugAMX backtrace:
[
debug#0 00039078 in ?? (0x00000000, 0x00000001, 0x00000013) from roleplay.amx
[debug#1 0015ccc4 in public OnPlayerEnterDynamicArea (0x00000000, 0x00000014) from roleplay.amx 
Вызываю функцию
PHP Code:
format(info_2sizeof(info_2), (HouseData[id][houseOwner]) ? (GetPlayerNameBySQLID(HouseData[id][houseOwner])) : (FormatNumber(HouseData[id][housePrice]))); 
После этого участок кода прекращает работу.
Не понимаю, что было не так, я переписал код заново и все заработало.


Re: Скриптинг курилка - stabker - 14.12.2015

themakar, переполнение стэка же, не?

У меня одного форум не работает почти все время?


Re: Скриптинг курилка - Romz - 14.12.2015

Quote:
Originally Posted by stabker
View Post
У меня одного форум не работает почти все время?
Все время работает без перебоев.


Re: Скриптинг курилка - stabker - 14.12.2015

Quote:
Originally Posted by Kolstin
View Post
Все время работает без перебоев.
У меня заходит только если включить турбо-режим в браузере, а так http://s019.radikal.ru/i633/1512/ac/6066af61fe6c.png


Re: Скриптинг курилка - Romz - 14.12.2015

Quote:
Originally Posted by stabker
View Post
У меня заходит только если включить турбо-режим в браузере, а так http://s019.radikal.ru/i633/1512/ac/6066af61fe6c.png
Сижу через хром, такого еще не было.


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

Quote:
Originally Posted by stabker
View Post
У меня заходит только если включить турбо-режим в браузере, а так http://s019.radikal.ru/i633/1512/ac/6066af61fe6c.png
Периодически сайт досят, а так как сайт переехал в облако появилась вот такая заглушка, когда система перегружена она сообщает о временной недоступности сайта.


Re: Скриптинг курилка - prineside - 15.12.2015

Quote:
Originally Posted by stabker
View Post
У меня заходит только если включить турбо-режим в браузере, а так http://s019.radikal.ru/i633/1512/ac/6066af61fe6c.png
Возможно, в турбо-режиме показывается кэш страницы, и можно подумать, что сайт работает.
Вкратце - сайт недоступен (ддос / перезагрузка сервера / проблемы с сетью у хостера, причин много) и Cloudflare CDN не может к нему достучаться. Cloudflare - это такой посредник между вами и форумом, на картинке, которую вы видели на странице с ошибкой 522 это видно, и там же написано, почему возникла ошибка.
(не путайте Cloudflare с понятием облака)


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

К всему можно привыкнуть.


Re: Скриптинг курилка - stabker - 17.02.2016

Quote:
Originally Posted by themakar
View Post
Да-да, все нормально, но почему то у меня раньше она была зеленой, а не синей и не привычно теперь.
В настройках можно изменить цвета



У меня вообще так и мне норм https://pp.vk.me/c631920/v631920764/...Ea2G8XBp2Y.jpg


Re: Скриптинг курилка - themakar - 17.02.2016

Quote:
Originally Posted by stabker
View Post
В настройках можно изменить цвета



У меня вообще так и мне норм https://pp.vk.me/c631920/v631920764/...Ea2G8XBp2Y.jpg
Спасибо, понравилось, такое куда лучше, чем по-умолчанию


Re: Скриптинг курилка - themakar - 18.02.2016

Почему данный код провоцирует компилятор на краш

PHP Code:
stock SendClientMessageEx(playeridcolor, const text[], {Float_}:...)
{
    static
        
args,
        
str[144]
    ;
    if ((
args numargs()) == 3
    {
        
SendClientMessage(playeridcolortext);
    }
    else
    {
        while (--
args >= 3)
        {
            
#emit LCTRL 5
            #emit LOAD.alt args
            #emit SHL.C.alt 2
            #emit ADD.C 12
            #emit ADD
            #emit LOAD.I
            #emit PUSH.pri
        
}
        
#emit PUSH.S text
        #emit PUSH.C 144
        #emit PUSH.C str
        #emit PUSH.S 8
        #emit SYSREQ.C format
        #emit LCTRL 5
        #emit SCTRL 4
        
SendClientMessage(playeridcolorstr);
        
#emit RETN
    
}
    return 
true;




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

Quote:
Originally Posted by themakar
View Post
Почему данный код провоцирует компилятор на краш

PHP Code:
stock SendClientMessageEx(playeridcolor, const text[], {Float_}:...)
{
    static
        
args,
        
str[144]
    ;
    if ((
args numargs()) == 3
    {
        
SendClientMessage(playeridcolortext);
    }
    else
    {
        while (--
args >= 3)
        {
            
#emit LCTRL 5
            #emit LOAD.alt args
            #emit SHL.C.alt 2
            #emit ADD.C 12
            #emit ADD
            #emit LOAD.I
            #emit PUSH.pri
        
}
        
#emit PUSH.S text
        #emit PUSH.C 144
        #emit PUSH.C str
        #emit PUSH.S 8
        #emit SYSREQ.C format
        #emit LCTRL 5
        #emit SCTRL 4
        
SendClientMessage(playeridcolorstr);
        
#emit RETN
    
}
    return 
true;

Нужно вызвать хотя бы один раз функцию, прежде чем использовать её в SYSREQ.C.


Re: Скриптинг курилка - themakar - 19.02.2016

Quote:
Originally Posted by ZiGGi
View Post
Нужно вызвать хотя бы один раз функцию, прежде чем использовать её в SYSREQ.C.
Сама функция у меня в отдельной библиотеке и вызываю я её непосредственно из мода, т.е получается я должен вызвать эту функцию до её объявления, чтобы компилятор не повис?


Re: Скриптинг курилка - OKStyle - 19.02.2016

Не используйте эту функцию в таком виде.


Re: Скриптинг курилка - themakar - 19.02.2016

Quote:
Originally Posted by OKStyle
View Post
Не используйте эту функцию в таком виде.
А что в этом такого?
Какой тогда аналог посоветуете такого формата?
Раньше использовал YSF, но ставить плагин ради двух функций не целесообразно.


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

Есть пример от Zeex (сам не тестил) - http://forum.sa-mp.com/showpost.php?...3&postcount=44
На крайняк можно заюзать макросы (использую постоянно) - http://forum.sa-mp.com/showpost.php?...&postcount=579


Re: Скриптинг курилка - JesusJagger - 19.02.2016

Господа хорошие, подскажите альтернативу функции cache_get_field_content для MYSQL плагина версии R5.
Заранее премного благодарен.