Half-Life и Adrenaline Gamer форум http://aghl.ru/forum/ |
|
return (возможные варианты) http://aghl.ru/forum/viewtopic.php?f=20&t=572 |
Страница 1 из 1 |
Автор: | Turanga_Leela [ 12 ноя 2011, 22:51 ] |
Заголовок сообщения: | return (возможные варианты) |
Как вернуть дробный массив ? возвращает только 1 значение ![]() Код: Float:function() |
Автор: | unnamed [ 12 ноя 2011, 23:20 ] |
Заголовок сообщения: | Re: return (возможные варианты) |
В амхх функции не могут возвращать массивы. Поэтому только так: Код:
|
Автор: | Turanga_Leela [ 13 ноя 2011, 00:52 ] |
Заголовок сообщения: | Re: return (возможные варианты) |
unnamed Как же можно понять вот это ? если это работает! ![]() Код: #include <amxmodx> |
Автор: | unnamed [ 13 ноя 2011, 02:08 ] |
Заголовок сообщения: | Re: return (возможные варианты) |
Turanga_Leela писал(а): Как же можно понять вот это ? если это работает! А черт его знает. Возможно, как исключение для целочисленных массивов. В сурсмоде нельзя вообще строки/массивы возвращать. Вот нашел твою проблему https://forums.alliedmods.net/showthread.php?t=84245 Однако там предлагают то что и я написал. Заодно показывают возможность возврата целочисленных массивов. А вот дробные обошли стороной... Turanga_Leela писал(а): ![]() В данном случае ничего. Можно не писать. |
Автор: | Turanga_Leela [ 13 ноя 2011, 02:21 ] |
Заголовок сообщения: | Re: return (возможные варианты) |
unnamed В принципе это вариант, подобное хотел замутить чтобы не использовать 2 флот статика ) а тут глобальную и писать в нее ... Но все-же return "1" очень интересует, ведь при нормальном выполнении функция возвращает "0", значит когда НЕ "0" т.е. к примеру "1" выполнена не совсем корректно или как это еще можно обозвать ... ? Что это означает когда возвращается не "0" ? В общем всегда обходился return "0", как и в циклах только break ![]() ![]() Код: public pligin_init()Почему при !0 блочит ? |
Автор: | unnamed [ 13 ноя 2011, 02:46 ] |
Заголовок сообщения: | Re: return (возможные варианты) |
Просто register_clcmd использует возвращаемое функцией значение чтоб знать что делать с зарегистрированной командой. Более грамотно amxx константы использовать: #define PLUGIN_CONTINUE 0 /* Results returned by public functions */ #define PLUGIN_HANDLED 1 /* stop other plugins */ #define PLUGIN_HANDLED_MAIN 2 /* to use in client_command(), continue all plugins but stop the command */ Код: return PLUGIN_HANDLED Если например: Код: public pligin_init() то при вводе в консоли mycommand в чат выведет Hi! а в консоли напишет unknown command mycommand И эта команда может быть использована другими плагинами. А если: Код: public pligin_init() То напечатает в чат Hi!, сообщения unknown command mycommand не будет. И команда mycommand дальше этого плагина не пойдет. Т.е. не может быть перехвачена плагинами ниже по списку в plugins.ini если вообще не писать return то это будет эквивалентно return 0 или return PLUGIN_CONTINUE Во многих случаях, если надо просто выйти их функции и не надо ничего возвращать, можно использовать просто Код: return |
Автор: | Turanga_Leela [ 13 ноя 2011, 02:52 ] |
Заголовок сообщения: | Re: return (возможные варианты) |
unnamed Цитата: вообще не писать return то это будет эквивалентно return 0 или return PLUGIN_CONTINUE Это знаю, Lev обьяснял. Спасибо - позновательно ![]() |
Автор: | Lev [ 13 ноя 2011, 04:07 ] |
Заголовок сообщения: | Re: return (возможные варианты) |
Возвращение массивов в АМХХ - это порочная практика. Правильный возврат строки - передать в функцию буфер и максимальный размер буфера (либо можно просто знать его) и заполнить буфер внутри функции. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |