Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Скрипты Улучшения для базы |
Улучшения для базы |
› Воскресенье
› 24.10.2010
› 17:00
› Сообщение #
Реакция на вызов должна быть быстрой, поэтому используем тригер с запуском от глобальной переменной например
Klient_server = false; передача инфы для сервера в именной переменной в объекте, в качестве обекта можно взять логику например имя "Mail" и при входе игрока в игру делать предварительную запись Mail setVariable [format ["%1_data", name Player] , 0, true]; Тип - логика игры передача данных серверу:
Code Mail setVariable [format ["%1_data", name Player] , -75, true]; sleep 1; Klient_server = true; publicVariable "Klient_server"; сервер должен определить кто вызвал, Code for "_a" from 0 to 11 do { _nm = call compile format ["Pl%1",_a]; if (typeName _nm == "OBJECT") then { _sc = Mail getVariable format ["%1_data", name _nm] if (_sc != 0) then { _nm addScore _sc; Mail setVariable [format ["%1_data", name _nm] , 0, true]; }; }; }; Klient_server = false; publicVariable "Klient_server"; Сообщение отредактировал Slon - Воскресенье, 24.10.2010, 17:06
|
› Среда
› 27.10.2010
› 14:45
› Сообщение #
Slon, а что делает команда setVariable?
Судя по этому
Quote (Slon) Mail setVariable [format ["%1_data", name Player] , -75, true]; и этому
Quote (Slon) _sc = Mail getVariable format ["%1_data", name _nm] я предполагаю,что это вроде запись в одну переменную нескольких значений? Или что?
Si vis pacem para bellum
|
› Среда
› 27.10.2010
› 17:53
› Сообщение #
Quote (SAN444EZ) я предполагаю,что это вроде ...... Чтобы не предпологать, есть справочник. SetVariable - записать данные GetVariable - прочитать данные Носителем является объект, при установке последнего параметра -> True |
› Среда
› 27.10.2010
› 23:29
› Сообщение #
Quote (Slon) Mail setVariable [format ["%1_data", name _nm] , 0, true]; format["%1_data",name _nm ] --дает имя переменной,подставляя имя _nm. Что значит %1_data? 0--значение. Все так?
Si vis pacem para bellum
|
› Среда
› 27.10.2010
› 23:42
› Сообщение #
Quote (SAN444EZ) format["%1_data",name _nm ] здесь формируется имя переменной связанной с именем игрока например имя _un = Slon каждый игрок передаёт данные серверу в именных переменных а конечно это не единственный вариант, но наиболее защищённый от сбоев |
› Вторник
› 15.02.2011
› 21:52
› Сообщение #
И вот я вернулся к теме. Немного по другому поводу. Начал снова делать миссию с прокачкой.
1. 3 стороны воюют между собой. Улучшения: Например, я (восток) набиваю 5 очков. У меня появляется действие ("приобрести способность тратата (5 очков)"..). Я его активирую. У меня снимают 5 очков. У штаба на базе (флаг) появляется действие (полезное) видимое и действующее на всех игроков при его активации (не сразу на всех, а просто все могут использовать). Как это провернуть? Я делал так. init.sqf --> для всех (до !(isServer)) запускается файл player_bonus.sqf player_bonus.sqf player ведь локален?
Code While {score player<5} do { sleep 1; }; des=player addAction ["Приобрес...","blabal.sqf"];- действие приобретения способности. .... Вот как теперь после активации прикрепить действие к флагу, да что бы все видели и могли воспользоваться?
Si vis pacem para bellum
|
| |||
Чат сайта |