Re: Скриптинг курилка -
themakar - 09.12.2015
Посмотрите, кто знает, не могу найти ошибку, срочно нужно решить этот краш.
Quote:
Originally Posted by themakar
Помогите, ошибка в функции, но я не могу её обнаружить.
PHP Code:
stock GetPlayerNameBySQLID(userid)
{
new
string[256],
Cache:result,
name[MAX_PLAYER_NAME];
mysql_format(g_iHandle, string, sizeof(string), "SELECT `Character` FROM `characters` WHERE `ID` = '%d'", userid);
result = mysql_query(g_iHandle, string);
cache_get_field_content(0, "Character", name, g_iHandle, MAX_PLAYER_NAME);
cache_delete(result);
return name;
}
PHP Code:
[debug] Run time error 8: "Heap underflow"
[debug] Heap pointer (HEA) is 0x80E2E8, heap bottom (HLW) is 0x80E368
[debug] AMX 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_2, sizeof(info_2), (HouseData[id][houseOwner]) ? (GetPlayerNameBySQLID(HouseData[id][houseOwner])) : (FormatNumber(HouseData[id][housePrice])));
После этого участок кода прекращает работу.
|
Re: Скриптинг курилка -
prineside - 09.12.2015
Quote:
Originally Posted by DartfoL
Комментирование и предоставление фактов идёт немного вразрез с правилами этого форума, бла-бла-бла...
|
То есть вы решили, что ваши познания в этой области позволяют свысока смотреть на тех, кто подобным не занимался, писать о том, что кто-то настолько глуп, что не знает того, что знаете вы, и скидывать картинки в духе "какой же ты тупой"?
Я могу поспорить, что на этом форуме есть много людей, кто знает в разных других областях больше вас (в том числе более полезных областях, чем создание читов). Тем не менее, они не ведут себя подобным
быдловатым образом. А ваше громкое сообщение я считаю камнем и в мой огород, так как лично я не пытался никому нагадить с помощью читов и не разрабатывал их, и, следовательно, я не знаю тонкостей синхронизации следящих игроков.
Не думаю, что вам было бы приятно, если бы кто-то называл вас тупым только потому, что вы не знаете о какой-то экзотической парадигме программирования или о том, что в третьей версии модели пиксельного шейдера нет побитовых операторов.
Re: Скриптинг курилка -
DartfoL - 09.12.2015
Quote:
Originally Posted by prineside
То есть вы решили, что ваши познания в этой области позволяют свысока смотреть на тех, кто подобным не занимался, писать о том, что кто-то настолько глуп, что не знает того, что знаете вы, и скидывать картинки в духе "какой же ты тупой"?
Я могу поспорить, что на этом форуме есть много людей, кто знает в разных других областях больше вас (в том числе более полезных областях, чем создание читов). Тем не менее, они не ведут себя подобным быдловатым образом. А ваше громкое сообщение я считаю камнем и в мой огород, так как лично я не пытался никому нагадить с помощью читов и не разрабатывал их, и, следовательно, я не знаю тонкостей синхронизации следящих игроков.
Не думаю, что вам было бы приятно, если бы кто-то называл вас тупым только потому, что вы не знаете о какой-то экзотической парадигме программирования или о том, что в третьей версии модели пиксельного шейдера нет побитовых операторов.
|
То, что вы увидели оскорбления там, где их вовсе не было - это уже не мои проблемы. Человек задал вопрос, а я, как знающий на него ответ, грамотно ответил. Потом обсуждение пошло не в то русло и я немного поправил это. А потом пришли вы с агрессией на меня, якобы я всех называю тупыми, смотрю на всех свысока и т.д. и т.п. Уж не думал, что простое выражение обычной эмоции может задеть даже человека, не участвующего в обсуждении текущей темы.
Не спорю, что здесь полно людей, знающих больше меня, но у них бы тоже рука самопроизвольно потянулась к лицу, когда бы они увидели сравнение ненужности (и отсутствия фильтрации) синхронизации с сосками. И если, как вы считаете, они знают больше в более полезных областях (разработка полезных плагинов, инклудов и т.п. для сообщества), то это их выбор. А мой выбор - просто помогать другим на форуме. Но даже и тут - помог человеку, а в ответ обосрали и послали.
И да, какая ещё разработка читов? Внимательно прочтите моё сообщение, прежде чем забрасывать необоснованными обвинениями. Я занимаюсь разработкой
античитов
Re: Скриптинг курилка -
themakar - 10.12.2015
Quote:
Originally Posted by themakar
Помогите, ошибка в функции, но я не могу её обнаружить.
PHP Code:
stock GetPlayerNameBySQLID(userid)
{
new
string[256],
Cache:result,
name[MAX_PLAYER_NAME];
mysql_format(g_iHandle, string, sizeof(string), "SELECT `Character` FROM `characters` WHERE `ID` = '%d'", userid);
result = mysql_query(g_iHandle, string);
cache_get_field_content(0, "Character", name, g_iHandle, MAX_PLAYER_NAME);
cache_delete(result);
return name;
}
PHP Code:
[debug] Run time error 8: "Heap underflow"
[debug] Heap pointer (HEA) is 0x80E2E8, heap bottom (HLW) is 0x80E368
[debug] AMX 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_2, sizeof(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
У меня одного форум не работает почти все время?
|
Все время работает без перебоев.
Re: Скриптинг курилка -
stabker - 14.12.2015
Quote:
Originally Posted by Kolstin
Все время работает без перебоев.
|
У меня заходит только если включить турбо-режим в браузере, а так
http://s019.radikal.ru/i633/1512/ac/6066af61fe6c.png
Re: Скриптинг курилка -
Romz - 14.12.2015
Quote:
Originally Posted by stabker
|
Сижу через хром, такого еще не было.
Re: Скриптинг курилка -
Stepashka - 15.12.2015
Quote:
Originally Posted by stabker
|
Периодически сайт досят, а так как сайт переехал в облако появилась вот такая заглушка, когда система перегружена она сообщает о временной недоступности сайта.
Re: Скриптинг курилка -
prineside - 15.12.2015
Quote:
Originally Posted by stabker
|
Возможно, в турбо-режиме показывается кэш страницы, и можно подумать, что сайт работает.
Вкратце - сайт недоступен (ддос / перезагрузка сервера / проблемы с сетью у хостера, причин много) и Cloudflare CDN не может к нему достучаться. Cloudflare - это такой посредник между вами и форумом, на картинке, которую вы видели на странице с ошибкой 522 это видно, и там же написано, почему возникла ошибка.
(не путайте Cloudflare с понятием облака)
Re: Скриптинг курилка -
Mcc - 17.02.2016
К всему можно привыкнуть.
Re: Скриптинг курилка -
stabker - 17.02.2016
Quote:
Originally Posted by themakar
Да-да, все нормально, но почему то у меня раньше она была зеленой, а не синей и не привычно теперь.
|
В настройках можно изменить цвета
У меня вообще так и мне норм
https://pp.vk.me/c631920/v631920764/...Ea2G8XBp2Y.jpg
Re: Скриптинг курилка -
themakar - 17.02.2016
Quote:
Originally Posted by stabker
|
Спасибо, понравилось, такое куда лучше, чем по-умолчанию
Re: Скриптинг курилка -
themakar - 18.02.2016
Почему данный код провоцирует компилятор на краш
PHP Code:
stock SendClientMessageEx(playerid, color, const text[], {Float, _}:...)
{
static
args,
str[144]
;
if ((args = numargs()) == 3)
{
SendClientMessage(playerid, color, text);
}
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(playerid, color, str);
#emit RETN
}
return true;
}
Re: Скриптинг курилка -
ZiGGi - 18.02.2016
Quote:
Originally Posted by themakar
Почему данный код провоцирует компилятор на краш
PHP Code:
stock SendClientMessageEx(playerid, color, const text[], {Float, _}:...)
{
static
args,
str[144]
;
if ((args = numargs()) == 3)
{
SendClientMessage(playerid, color, text);
}
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(playerid, color, str);
#emit RETN
}
return true;
}
|
Нужно вызвать хотя бы один раз функцию, прежде чем использовать её в SYSREQ.C.
Re: Скриптинг курилка -
themakar - 19.02.2016
Quote:
Originally Posted by ZiGGi
Нужно вызвать хотя бы один раз функцию, прежде чем использовать её в SYSREQ.C.
|
Сама функция у меня в отдельной библиотеке и вызываю я её непосредственно из мода, т.е получается я должен вызвать эту функцию до её объявления, чтобы компилятор не повис?
Re: Скриптинг курилка -
OKStyle - 19.02.2016
Не используйте эту функцию в таком виде.
Re: Скриптинг курилка -
themakar - 19.02.2016
Quote:
Originally Posted by OKStyle
Не используйте эту функцию в таком виде.
|
А что в этом такого?
Какой тогда аналог посоветуете такого формата?
Раньше использовал 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.
Заранее премного благодарен.