PDA

Просмотр полной версии : [Вопрос] Парочка вопросов



gangzone.ini
18.10.2015, 20:12
Парочка вопросов:

1. Считается ли за символ " \t ".
2. Как лучше использовать string в командах, глобально или локально.
3. Разница есть, или нету:


#include <object> //1



#include <../setting/object.inc>//2

Desulaid
18.10.2015, 20:16
1. На сколько мне известно, то за символ считается все, кроме %d, %s, и т.д.
2. Локально
3. Нету

L0ndl3m
18.10.2015, 20:26
Добавлю: управляющие символы ( такие как: '\t', '\n' и т.п. ) занимают 1 символ.

Quman
18.10.2015, 20:32
За символы спасибо.

Daniel_Cortez
18.10.2015, 20:40
1. Да, это символ табуляции (тот самый, которым ты выравниваешь код лесенкой - или ты выравниваешь пробелами?) и он, как и остальные символы, занимает одну позицию в строке.
Другое дело в восприятии этого символа. Например, SendClientMessage вместо табов показывает пробелы, а в ShowPlayerDialog табуляция работает, как положено. Другие функции не проверял.
2. Если переменная нужна для взаимодействия между двумя и более функциями - есть смысл делать её глобальной, а для форматирования логичней будет использовать локальный массив.
3. Есть, инклуд ищется в совершенно разных папках. В первом случае поиск происходит в "pawno/include", а во втором - в "setting".
Лично я всегда делаю так:

#include "../include/<your include name here>.inc"
В результате инклуд берётся не из "pawno/include", а из отдельной папки "include" в корне сервера.
Для меня удобнее именно так хранить сторонние инклуды в отдельной папке, чтобы они не смешивались со стандартными инклудами Pawn и SA:MP.

$continue$
18.10.2015, 20:50
Для меня удобнее именно так хранить сторонние инклуды в отдельной папке, чтобы они не смешивались со стандартными инклудами Pawn и SA:MP.
Если речь пошла о многомодульности проекта - то самое то использовать данный урок.
(http://ziggi.org/arhitektura-pawn-proekta-dlya-sa-mp/)

Desulaid
18.10.2015, 20:52
3. Есть, инклуд ищется в совершенно разных папках. В первом случае поиск происходит в "pawno/include", а во втором - в "setting".
Лично я всегда делаю так:

#include "../include/<your include name here>.inc"
В результате инклуд берётся не из "pawno/include", а из отдельной папки "include" в корне сервера.
Для меня так удобнее, поскольку сторонние инклуды не смешиваются со стандартными инклудами Pawn и SA:MP.

Тут смотря в чем разница. Конкретного вопроса о разнице я не услышал. Если смотреть

с точки зрения размера кода, то на врят ли что-то измениться;
с точки зрения указания (или не) расширения файла при подключении, то опять же ничем не меняется ситуация;

#include <a_samp>
#include <a_samp.inc>
с точки зрения пути к файлу, то да. Одно дело идти на улицу путем: дом>подъезд>дверь>двор>ты на улице или дом>улица

:dntknw:

Unreal
18.10.2015, 21:42
2. Если переменная нужна для взаимодействия между двумя и более функциями - есть смысл делать её глобальной, а для форматирования логичней будет использовать локальный массив.

у меня давно был вопрос, вот вспомнил ...
есть команда где требуется массив с размером 1500, или же в пример могу взять правила сервера на диалоге, тоже требует примерно 1000.

Почему то когда я создаю массив как локальный, то приходится увеличивать pragma dynamic, а если сделать глобально, то он не влияет на dynamic.

так что же получается?

P.s: если массив не такой большой (250, 512 и.т.д) то такой трюк не работает

Daniel_Cortez
18.10.2015, 22:02
у меня давно был вопрос, вот вспомнил ...
есть команда где требуется массив с размером 1500, или же в пример могу взять правила сервера на диалоге, тоже требует примерно 1000.

Почему то когда я создаю массив как локальный, то приходится увеличивать pragma dynamic, а если сделать глобально, то он не влияет на dynamic.

так что же получается?

P.s: если массив не такой большой (250, 512 и.т.д) то такой трюк не работает
Глобальные переменные находятся в секции данных, а не в стеке.

gangzone.ini
19.10.2015, 09:56
Закрываю, всем спасибо!)