00:20
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Модератор форума: Alcoholik  
Вопрос | Ответ
Arhan4helДата: Понедельник, 05.03.2012, 12:09 | Сообщение # 3901
Новенький
Группа: Пользователи
Сообщений: 42
Награды: 1
Город: Krivoy Rog
Репутация: 31
Замечания: 0%
Статус:
Спасибо.
Kirill_ShvaryovДата: Понедельник, 05.03.2012, 14:39 | Сообщение # 3902
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 845
Награды: 46
Город: Novorossiysk
Репутация: 1036
Замечания: 0%
Статус:
Arhan4hel, id 3276
не знаю, наверное уже нашёл)



Мои работы :
Дополнительный город SA
Заправка около Чиллиада
Тропический остров
Парк развлечений
Стадион
Спортивный комплекс
Мото-фристайл(инт)
Мотосалон (0.3e)
GTA S.A.City


[url=http://www.radikal.ru]

Закажи карту на : gtamap-studio.ru
RudeBoyДата: Вторник, 06.03.2012, 09:36 | Сообщение # 3903
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
меня интересует подробнее про public OnPlayerUpdate(playerid)

сколько раз в секунду он 'точно' выполняется, 1 раз или больше?

AlcoholikДата: Вторник, 06.03.2012, 09:48 | Сообщение # 3904
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
RudeBoy, больше, конечно. Вроде с той скоростью, как приходят пакеты. Можешь посчитать:
Code
public OnPlayerUpdate(playerid)
{
printf("Обновилось");
}

Потом в логах глянь сколько раз он напишет за секунду.

Добавлено (06.03.2012, 09:48)
---------------------------------------------
А вообще зависит ещё от поведения игрока. Если рядом куча игроков, будет вызываться чаще, если сервер пустой и игрок афк, вообще вызываться не будет. Я бежал, у меня 21 раз за секунду вызвался.


if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
RudeBoyДата: Вторник, 06.03.2012, 10:05 | Сообщение # 3905
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
понятно, значит больше, сделаю отдельный колбэк на 1 секунду для не особо нужных обновлений

public OnPlayerCommandText(playerid, cmdtext[])

давно хотел узнать в чем разница:

if(strcmp(cmdtext, "/test", true)==0)

if(strcmp(cmd, "/test", true) == 0)

стандартная cmdtext быстрее чем cmd или они отвечают за ввод человеком/сервером или для чего? думаю изменить все на стандартную вместо cmd

еще вопрос, никогда не задумывался что значит у таймера например true/1, true это значит повторять а 1 на 1 раз или?

SetTimer("test",1000,true);
SetTimer("test",1000,1);

RockmanДата: Вторник, 06.03.2012, 10:53 | Сообщение # 3906
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (RudeBoy)
стандартная cmdtext быстрее чем cmd или они отвечают за ввод человеком/сервером или для чего? думаю изменить все на стандартную вместо cmd


Это переменные, а не функции, они не могут работать быстрее или медленнее.

Quote (RudeBoy)
еще вопрос, никогда не задумывался что значит у таймера например true/1, true это значит повторять а 1 на 1 раз или?

SetTimer("test",1000,true);
SetTimer("test",1000,1);


1 (как и собственно любое число отличное от 0) равносильно true
0 равносильно false

В pawn разницы нет, что использовать, это зависит от разработчика, кому как удобнее. Иногда понятнее видеть true/false чем 1/0

RudeBoyДата: Вторник, 06.03.2012, 12:21 | Сообщение # 3907
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
спасибо, все понятно.

Зависит ли количество строк на производительность? У меня около сотни тысяч строк, идеально выровнены по лесенке и без пустых строчек. (прогу использую постороннюю для выравнивания)

Artem_TДата: Вторник, 06.03.2012, 14:40 | Сообщение # 3908
Освоившийся
Группа: I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус:
Не зависит, компилятору всеравно сколько у тебя строк
RudeBoyДата: Вторник, 06.03.2012, 15:04 | Сообщение # 3909
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
спасибо, отлично тогда.

вот еще что, я удалил вообще колбэк public OnPlayerUpdate(playerid)

вместо него таймер на 1 секунду поставил, скажите, после удаления его, не будет проблем с чем либо? Раз он действует чрезмерно.. нафига он нужен тогда или стоит оставить?

ТимурДата: Вторник, 06.03.2012, 15:57 | Сообщение # 3910
Новенький
Группа: Пользователи
Сообщений: 3
Награды: 0
Город: Набережные Челны
Репутация: 0
Замечания: 0%
Статус:
Помогите пожалуйста, как создать общак для банд/мафий? Можно ссылку на тему, только поподробней =D
MarkeloFFДата: Вторник, 06.03.2012, 17:11 | Сообщение # 3911
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
RudeBoy, а как будешь сохранять статистику игрока?


Сообщение отредактировал MarkeloFF - Вторник, 06.03.2012, 17:11
RudeBoyДата: Вторник, 06.03.2012, 19:15 | Сообщение # 3912
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
MarkeloFF,

все очень просто, поставил таймер на N-нное число, создал отдельный колбэк

forward tupdate(playerid); // замена функции OnPlayerUpdate
public tupdate(playerid)
{
new LevScore = PlayerInfo[playerid][pLevel];
SetPlayerScore(playerid, LevScore);
(и другие необходимые функции)
return 1;
}

теперь раз в 1 секунду обновляется информация ЛВЛ, и других нужных, античит на быстрое передвижение поставил сюда же.

для других, маловажных античитов, чтобы не нагружали этот колбэк лишними проверками - сделал другой колбэк, раз в 5 секунд проверяет на множество других читов.

думаю с оптимизацией я добился большого успеха, так что я рад)

и еще вопрос к тем кто знает, можно ли как-то максимально сильно улучшить оптимизацию колбэка public OnPlayerCommandText(playerid, cmdtext[])

говорят лучше использовать dcmd, но мне честно говоря лень переделывать, хотя.. если другого способа нет найдется.. в общем, можно ли как то изменить что-то у стандартного колбэка для оптимизации?

Вот например обычные команды.. у меня в таком формате

if(strcmp(cmdtext, "/test", true)==0)
{
SCM(playerid, COLOR_GREY, "Тест");
return 1;
}

if(strcmp(cmdtext, "/test", true)==0)
{
SCM(playerid, COLOR_GREY, "Тест");
return 1;
}

можно ли шляпу if(strcmp(cmdtext, "/test", true)==0) изменить на более оптимизированный вариант?

для команд я использую new cmd[36], tmp[36]; как видим с числом 36, хотя можно и поменьше, и сокращение SCM, правда не знаю, дает ли сокращение ускорению, ну да ладно, главное короче чем SendClientMessage

Есть советы или делать dcmd?

MarkeloFFДата: Вторник, 06.03.2012, 20:20 | Сообщение # 3913
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
RudeBoy, dcmd раотает быстрее. Но не значительно.
RockmanДата: Вторник, 06.03.2012, 21:14 | Сообщение # 3914
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (Тимур)
Помогите пожалуйста, как создать общак для банд/мафий? Можно ссылку на тему, только поподробней =D


Исходить нужно из того, где вы храните информацию. В файлах или базе данных, хотя на мой взгляд, это достаточно удобно реализовать и на файлах. Структуру хранения продумать не сложно, на каждой строке можно хранить значение денег для каждой организации, порядок строк соответствует номерам организаций, при запуске мода в определенный массив нужно прочитать значения из файла и дальше работать с этим массивом. Сохранять данные в файлы следует при завершении работы сервера, либо при каких либо других обстоятельствах, например через определенное кол-во времени.

RudeBoyДата: Среда, 07.03.2012, 08:01 | Сообщение # 3915
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
мне вот что интересно, если какая-нибудь команда не оптимизирована, затронет ли она в целом производительность мода? Или мод напрягается лишь когда кто-то ввел эту команду?
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua