Не работает функция -
Dreamerzzz - 24.10.2017
Код:
public IsPlayerInSquadDisconnected(playerid)
{
if(commander[playerid] > 0)
{
commanders[commander[playerid]] = 100;
activecoms[gTeam[playerid]] -= 1;
DestroyDynamic3DTextLabel(comtext[playerid]);
print("Êîìàíäèð ñíÿò ïðè îòêëþ÷åíèè!");
commander[playerid] = 0;
Squads[numsquad[playerid]] -= 1;
numsquad[playerid] = 0;
print("Èãðîê óáðàí èç îòðÿäà!");
gTeam[playerid] = 3;
print("Êîìàíäà èãðîêà îáíóëåíà!");
return 1;
}
else if((commander[playerid] == 0)&&(numsquad[playerid] > 0))
{
if(IsValidDynamic3DTextLabel(comtext[commanders[numsquad[playerid]]])){Streamer_RemoveArrayData(STREAMER_TYPE_3D_TEXT_LABEL, comtext[commanders[numsquad[playerid]]], E_STREAMER_PLAYER_ID, playerid); print("Òåêñò êîìàíäèðà óäàëåí äëÿ èãðîêà!");}
Squads[numsquad[playerid]] -= 1;
numsquad[playerid] = 0;
print("Èãðîê óáðàí èç îòðÿäà!");
gTeam[playerid] = 3;
print("Êîìàíäà èãðîêà îáíóëåíà!");
return 1;
}
else
{
gTeam[playerid] = 3;
print("Êîìàíäà èãðîêà îáíóëåíà!");
return 1;
}
}
Добый вечер. Такая проблема, когда игрок попадает под "среднее" условие, то функция не срабатывает. Точнее срабатывает, когда отсутствует строчка:
Код:
if(IsValidDynamic3DTextLabel(comtext[commanders[numsquad[playerid]]])){Streamer_RemoveArrayData(STREAMER_TYPE_3D_TEXT_LABEL, comtext[commanders[numsquad[playerid]]], E_STREAMER_PLAYER_ID, playerid); print("Òåêñò êîìàíäèðà óäàëåí äëÿ èãðîêà!");}
Если же ее нет, то хорошо срабатывает. С чем это может быть связано, и как можно поступить?
Заранее благодарю
Re: Не работает функция -
Eims - 24.10.2017
С невалидным значением в одном из массивов?
Подключи crashdetect, скомпилируй мод в режиме отладки и в логах покажет в чём проблема
Re: Не работает функция -
Mutha_X - 25.10.2017
Quote:
Originally Posted by Dreamerzzz
Код:
comtext[commanders[numsquad[playerid]]]
|
Это на порнхабе так учат кодить?
Re: Не работает функция -
Dreamerzzz - 25.10.2017
Quote:
Originally Posted by Mutha_X
Это на порнхабе так учат кодить?
|
А что в этом коде плохого? Это избавляет от введения новых переменных
Re: Не работает функция -
Mutha_X - 25.10.2017
Quote:
Originally Posted by Dreamerzzz
А что в этом коде плохого? Это избавляет от введения новых переменных
|
1) Зато не избавляет программиста/скриптера от необходимости при каждом новом просмотре того же кода определять заново какой смысл был заложен в определённую часть кода.
2) Усложняешь себе жизнь в отладке.
3) Какой ты, с**а (как Пушкин), молодец - сэкономил несколько байт памяти. И плевать тебе было на то, что:
3.1) Усложнил жизнь процессору, заставив его по несколько раз брать одни и те же смещения в массивах.
3.2) Из 3.1 видно, что размер под память программы (больше инструкций; - можешь убедиться в этом по ассемблерному листингу) у тебя вырос за счёт экономии памяти данных.
Твой стиль не имеет никаких плюсов.
Re: Не работает функция -
Dreamerzzz - 25.10.2017
Quote:
Originally Posted by Mutha_X
1) Зато не избавляет программиста/скриптера от необходимости при каждом новом просмотре того же кода определять заново какой смысл был заложен в определённую часть кода.
2) Усложняешь себе жизнь в отладке.
3) Какой ты, с**а (как Пушкин), молодец - сэкономил несколько байт памяти. И плевать тебе было на то, что:
3.1) Усложнил жизнь процессору, заставив его по несколько раз брать одни и те же смещения в массивах.
3.2) Из 3.1 видно, что размер под память программы (больше инструкций; - можешь убедиться в этом по ассемблерному листингу) у тебя вырос за счёт экономии памяти данных.
Твой стиль не имеет никаких плюсов.
|
Хорошо, я вроде бы тебя понял, спасибо!
Кстати, такой вот общий вопрос тебе вслед; Тут все так горелычи ловят и вместо того, чтоб нормально указать на ошибку и доступно объяснить начинают вот так вые****ться?
Мне кажется, из-за таких как ты, инопланетяне с нами на контакт идти не хотят c:
Re: Не работает функция -
Mutha_X - 25.10.2017
Quote:
Originally Posted by Dreamerzzz
Хорошо, я вроде бы тебя понял, спасибо!
Кстати, такой вот общий вопрос тебе вслед; Тут все так горелычи ловят и вместо того, чтоб нормально указать на ошибку и доступно объяснить начинают вот так вые****ться?
Мне кажется, из-за таких как ты, инопланетяне с нами на контакт идти не хотят c:
|
Вообще-то мы и есть инопланетяне
. И подавать манну небесную не собираемся - у самих свои проблемы есть.
Публикуя где-либо код вы автоматически соглашаетесь с негласным правилом, что чем он понятнее ваш код написан - тем быстрее вам дадут конкретное решение, а попытка форсировать решение будет воспринята как
неуважение к тем, кто мог бы помочь.
Реализацией заявления "чтоб нормально указать на ошибку и доступно объяснить" при наличии форсирования занимаются фрики, у которых полно времени - лучше бы попрактиковались в переписывании кода в соответствии с замечанием и обновили первое сообщение.
Re: Не работает функция -
Kaperstone - 25.10.2017
pawn Код:
if(IsValidDynamic3DTextLabel(comtext[commanders[numsquad[playerid]]])){
Streamer_RemoveArrayData(STREAMER_TYPE_3D_TEXT_LABEL, comtext[commanders[numsquad[playerid]]], E_STREAMER_PLAYER_ID, playerid);
print("Òåêñò êîìàíäèðà óäàëåí äëÿ èãðîêà!");
}
Streamer_RemoveArrayData возвращает ответ если функция успешно выполнена или нет, принтуи то что она возвращает.
Quote:
Originally Posted by Mutha_X
Вообще-то мы и есть инопланетяне . И подавать манну небесную не собираемся - у самих свои проблемы есть.
|
не мы не, мы можем быть инопланетяне для других существ но не для самых себя.
Quote:
Originally Posted by Mutha_X
1) Зато не избавляет программиста/скриптера от необходимости при каждом новом просмотре того же кода определять заново какой смысл был заложен в определённую часть кода.
2) Усложняешь себе жизнь в отладке.
3) Какой ты, с**а (как Пушкин), молодец - сэкономил несколько байт памяти. И плевать тебе было на то, что:
3.1) Усложнил жизнь процессору, заставив его по несколько раз брать одни и те же смещения в массивах.
3.2) Из 3.1 видно, что размер под память программы (больше инструкций; - можешь убедиться в этом по ассемблерному листингу) у тебя вырос за счёт экономии памяти данных.
Твой стиль не имеет никаких плюсов.
|
дерешься за мелочи с мелочей
gg
Re: Не работает функция -
stabker - 25.10.2017
Спокойными советами занимаются "фрики", при этом те, у кого "мало времени и свои проблемы", обязательно оставят несколько постов вместо одного. А все потому, что дело вовсе не в дефиците времени, а наркомании, в прямом смысле этого слова, в серотониновой наркомании. Ведь спокойно дать совет это одно, а продоминировать своим постом над получателем это уже совсем другое, приятное.
Re: Не работает функция -
Dreamerzzz - 25.10.2017
Quote:
Originally Posted by Eims
С невалидным значением в одном из массивов?
Подключи crashdetect, скомпилируй мод в режиме отладки и в логах покажет в чём проблема
|
Благодарю, кажется, действительно помогло!