ZZiGGi тема далеко не для новичков, а сам по себе нулевой байт является основой си-подобных языков. P.S: Про 1 байт забудь, можно придраться к любому, было бы желание не правда ли? Кстати, ты не в курсе сколько байт отводится для типа BOOL в павн? Я знаю точно, что 2 байта там есть, потому что я пробовал заносить туда текст, в си 1 байт, а вот в павн интересно сколько, можно попробовать узнать диапазон присваивая разные диапазоны значений байтов. Короче выяснил, 4 байта) new bool: lol; lol = bool: 2147483647; printf("ну чо бул %d",bool: lol); Увеличь её на 1 и получишь каракули) Так что можете спокойно использовать INT, bool в павн просто показуха типа)
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
Сообщение отредактировал toneysix - Среда, 04.05.2011, 18:55
Короче выяснил, 4 байта) new bool: lol; lol = bool: 2147483647; printf("ну чо бул %d",bool: lol); Увеличь её на 1 и получишь каракули) Так что можете спокойно использовать INT, bool в павн просто показуха типа)
про это ещё MX_Master писал, что нет смысла использовать bool ибо от него никакого толку нету но bool хорош тем, что true/false лучше видны чем 1/0 и никто не запрещает делать так : new bool:b[1 char]; b[0] = true; printf("%d",b[0]);
ps кстати, как я заметил, разницы в b{0} и b[0] нет вообще...
ZZiGGi Я лично ток сегодня узнал, все руки до типов в павн не доходили, на счет порнографии с char и bool брось) true и false всего-лишь константа, макрос насколько я понимаю, лучше не заниматься порнографией использовать char без никаких других тегов, которые в целом ничего толкового не делают, на счет скобок это да, я тоже тестировал разные ситуации с этим приемом и понял, что все это ерунда, видимо в павн сделали что-то типа аналога квадратных скобок.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
ну я же писал почему bool это хорошо:) мелочь, а приятно В принципе, можно и так использовать: new b[1 char]; b[0] = true; if(b[0] == true) printf("%d",b[0]); Жаль, что выдает: warning 213: tag mismatch, можно-ли как-то от него избавиться?
Мне кажется, что в павн вообще нет такого типа бул, это просто тег, который можно сделать к любой другой переменной, например прообраз була: #define filse bil: 0 #define trie bil: 1 new bil: lol; lol = trie; if(lol) return true;
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
Короче все эти типы это муляж.. В павн-лишь один тип - ячейка (4 байта), а этот оператор char дает разрешение на чтение по-байтно, а в остальном Float тоже является псевдо-типом, в который тоже можно записать текст и любые другие данные, при компиляции препроцессор сам автоматом подстраивает под требуемые типы, далее насчет пара фигурных скобок это и есть обращение к байту который дает оператор char, flag{playerid}, в этом и отличии, теперь все становится на свои места. И объявление также происходит по другому принципу new text[7 char] = !"primer"; // вот например так записывает текст по-байтно в наш массив. Доступ к символам осуществляется с помощью пара фигурных скобок: text{0} = 'c'; Вообще не язык, а сплошной дурдом) Romanius перечитай первый пост не удосужься и покажи, кто говорил иначе. P.S: Специально для слепых и тех кто читает между строк http://best.of.by/paste/f37259363 Такое ощущение, что ты прочитал две строчки и быстрее побежал писать сообщение, которое полностью подтверждает первый пост, что за люди ей богу, сами не знают и другим навешивают...
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
Сообщение отредактировал toneysix - Четверг, 05.05.2011, 00:01
toneysix, ссылка на якобы пастбин не работала. Я думал, по загаловку, что тут об этом написано, но когда заметил резкий скачек на оператор char то сразу в голове все перемешалось, + ссылка была не рабочая. Не верное определение об операторе char. printf("%d", 64 char);. Char просто высчитывает необходимое кол-во байт. printf("%d", 1 char); printf("%d", 2 char); printf("%d", 4 char);. Думаю разница видна.
Romanius непросто высвечивает, делит на 4 и дает доступ не только к содержимому ячейке, но и к содержимому байта, но в павн нет спецификатора, который бы выводил такого рода переменные, вывести можно только через символ, спецификатор %s уже не читает подобные данные. К тому определения я не давал, я дал принцип работы, ты всего-лишь дополнил.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
Почему format и printf не берет такие строки? потому, что функция format и printf были встроены разработчиками мульта, и они не предусмотрели пакованные строки в аргументах.
Romanius где это тема была раньше, ну в принципе как и догадывался. Тэги безусловно в конкретных случаях бывают полезными, например для создания своего псевдо-типа, который выполняет определенную функцию в макросе. P.S: Не хватает тэга bool у тебя в возврате: stock bool:operator==(Bit:val1, Bit:val2) return bool: (val1 & val2); Иначе будет несовпадение, ну и в конце enum запятая не ставится. В целом мне твоя универсальность понравилась, и сама реализация в виде перезагрузки операторов, я почему-то думал, что такое невозможно в павн, а оказыцца моно)
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
Сообщение отредактировал toneysix - Четверг, 05.05.2011, 20:02