Тема: ZScripter. Вопросы и ответы. Ответить

ФОРУМ:

 Перейти  Создать тему  Поиск  Переключить на полное отображение информации 
На страницу: [1],2
Добрый [19]
Цитата
Добавлено:
18.08.10 16:12
Шкипер форума, 3266
Модуль ZScripter позволяет игрокам создавать свои плагины без использования каких-либо сторонних средств.

В основу создания скриптов заложена связка HTML и JavaScript. Простой и удобный функционал, ничего лишнего.

Благодаря HTML и CSS вы можете создать тот интерфейс, который вам будет нравиться, а используя возможности JavaScript - будете получать запрашиваемую информацию, без лишнего ожидания.
Добрый [19]
Цитата
Добавлено:
18.08.10 16:39
Шкипер форума, 3266
Примеры скриптов можно скачать в топике http://www.tz.mail.ru/cgi-bin/forum.pl?a=DEV&c=198297942

Сердцем всего плагина является функция:

getgamedata("параметр","имя персонажа")
• параметр - данные, которые плагин хочет получить от игровой flash.
• имя персонажа - в игровой закладке которого будет выполнен этот запрос.

Функция возвращает ответ от игровой flash, в случае если запрос указан корректно.

Пример использования:
<script>
document.write(GetGameData("_root.USER.login"));
</script>

В примере используется запрос _root.USER.login, который отвечает за получение данных о нике персонажа, второй параметр отсутствует - плагин совершает запрос в текущей закладке.

Указав в запросе _root.USER.login вместо login любой из ниже перечисленных параметров вы можете получить более детальную информацию о персонаже:

login  - Имя персонажа
HP   - Текущее количество здоровья
maxHP   - Максимальное количество здоровья
str   - Сила
dex   - Ловкость
int   - Интуиция
pow   - Выносливость
acc   - Меткость
intel   - Интеллект
exp   - Опыт (обратите внимание, что это значение текущего опыта персонажа)
nextlevel  - Необходимое количество опыта для достижения следующего уровня
level   - Уровень
pro   - Профессия. Идентификатор имеет следующие значения:
   1=Профессия: корсар
   2=Профессия: сталкер
   3=Профессия: старатель
   4=Профессия: инженер
   5=Профессия: наемник
   6=Профессия: торговец
   7=Полицейский: патрульный
   8=Полицейский: штурмовик
   9=Полицейский: специалист
   10=Профессия: журналист
   11=Профессия: чиновник
   12=Профессия: псионик
   13=Каторжник
   14=Профессия: пси-кинетик
   15=Профессия: пси-медиум
   16=Профессия: пси-лидер
   17=Профессия: полиморф
 30=Профессия: дилер
propwr   - Уровень профессии (значение от 0 до 1)
man   - Пол персонажа
virus   - Наличие заражения вирусом X
psy   - Текущий уровень пси-энергии
maxPsy   - Максимальный уровень пси-энергии

Местонахождение:
X   - Первая координата местонахождения персонажа
Y   - Вторая координата местонахождения персонажа (Координаты даются в формате 0..360, а не -180..180)
ROOM   - Номер комнаты в шахте

Навыки:
sk0   - Холодное оружие
sk1   - Легкое оружие
sk2   - Среднее оружие
sk3   - Тяжелое оружие
sk4   - Метательное
sk5   - Энергетическое
sk6   - Медицина
sk7   - Минирование
sk8   - Электроника
sk9   - Пси-контроль
sk10   - Пси-атака
sk11   - Пси-медицина
sk12   - Пси-искажение

>> Добрый [19] , 19.08.10 13:19:
Добавлю: переменная PLUG_PATH показывает на каталог, где лежит TimeZero.exe. Пользуясь ей, можно подключать значки и прочие файлы из набора клиента, например, профессии.
nikitos [13]
Цитата
Добавлено:
19.08.10 01:32
Юнга форума, 44
А можно скрипт, получения данных о персонаже?
nikitos [13]
Цитата
Добавлено:
19.08.10 01:33
Юнга форума, 44
Пример скрипта, чтобы было от чего отталкиваться...
nikitos [13]
Цитата
Добавлено:
19.08.10 01:37
Юнга форума, 44
Прошу прощения, что зафлудил все, Просто думаю, что не так поймете, вообщем хотелось бы увидеть небольшой пример монитора персонажа.
Hallo [12]
Цитата
Добавлено:
19.08.10 02:11
Боцман форума, 646
nikitos [13]
Как то так:

   <head><meta http-equiv="Content-Type" content="application/xhtml+xml;  charset=utf-8" /><link rel="stylesheet" href="PLUG_PATH:///css/client.css" type="text/css" /></head>
<script language="javascript">

function i (s) {

return getgamedata("_root.USER."+s);

}

       s = '<br />Имя персонажа: ' + i("login") + '['+i("level")+']';
       s += '<br /><hr />';
       s += 'Навыки персонажа: <br />';
s += '<br />Холодное оружие '+ i("sk0");
s += '<br />Легкое оружие '+ i("sk1");
s += '<br />Среднее оружие '+ i("sk2");
s += '<br />Тяжелое оружие '+ i("sk3");
s += '<br />Метательное '+ i("sk4");
s += '<br />Энергетическое '+ i("sk5");
s += '<br />Медицина '+ i("sk6");
s += '<br />Минирование '+ i("sk7");
s += '<br />Электроника '+ i("sk8");
s += '<br />Пси-контроль '+ i("sk9");
s += '<br />Пси-атака '+ i("sk10");
s += '<br />Пси-медицина '+ i("sk11");
s += '<br />Пси-искажение '+ i("sk12");

               
document.write(s);
</script>
nikitos [13]
Цитата
Добавлено:
19.08.10 02:24
Юнга форума, 44
Спасибо  
Hallo [12]
Цитата
Добавлено:
19.08.10 02:26
Боцман форума, 646
Упс... в начале скрипта:
charset=utf-8

меняем на

charset=wndows-1251
HypeRSiB [14]
Цитата
Добавлено:
19.08.10 09:22
Мичман форума, 462
Я вот только не нашел переменную которая возвращает значение названия клана....

>> HypeRSiB [14] , 19.08.10 09:24:
Извиняюсьза тупость. Нашел.
Добрый [19]
Цитата
Добавлено:
19.08.10 11:39
Шкипер форума, 3270
Там примеры скриптов приложены в соседнем топике, ищите и обрящете. =)
DOOMovoj [17]
Цитата
Добавлено:
19.08.10 21:38
Боцман форума, 536
Добрый wrote:
Там примеры скриптов приложены в соседнем топике, ищите и обрящете. =)
     

Там их всего 2.....

Подскажите скрипт получения списка персонажей находящихся на одной с тобой локации....
jha_man [12]
Цитата
Добавлено:
20.08.10 13:03
Боцман форума, 535
DOOMovoj wrote:
Добрый wrote:

Там примеры скриптов приложены в соседнем топике, ищите и обрящете. =)
     
Там их всего 2.....

Подскажите скрипт получения списка персонажей находящихся на одной с тобой локации....


Вот пример:
<head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset = windows - 1251" />
 <link rel="stylesheet" href="PLUG_PATH:///css/client.css" type="text/css" />
</head>
<center>
<script language="javascript">
if ( {PLUG_VERSION} >= 1012) {
 var myPlayer = prompt("Укажите имя персонажа, в закладке которого должен сработать скрипт:","");

 function GetLocPlayerData(player) {
   var result = "";    
   var login  = GetGameData("_shellchat."+player+".login",myPlayer);
   if (login == "") return "";
   var level  = GetGameData("_shellchat."+player+".level",myPlayer);
   var prof   = GetGameData("_shellchat."+player+".pro",myPlayer);
   var sex    = GetGameData("_shellchat."+player+".man",myPlayer);
   if (prof=="") prof = 0; if (sex == "0") prof += "w";
   var img    = "<img src='PLUG_PATH:///i/i"+prof+".gif' width=15 height=15 style='vertical-align:middle;' />";
   result     = "<B>"+login+"</B> ["+level+"]"+img;
   return result;
 }

 var locPlayers = TZExecute("GetLocationPlayers",myPlayer);
 if (locPlayers != "") {
   var locArray  = locPlayers.split(",");
   var locPlayer = ""; locPlayers = "";
   var count = 0;
   for (var i = 0; i < locArray.length; i++) {
     locPlayer = GetLocPlayerData(locArray[i]);
     if (locPlayer != "") {
       locPlayers += locPlayer+"<br />";
       count++;
     }
   }
   document.write("<table class=slist_base><tr><td height=1 class=room align=center><b>В локации:</b></td></tr>");
   document.write("<tr valign=top><td class=slist nowrap=nowrap valign=top>");
   document.write(locPlayers);    
   document.write(" <tr><td height=1 class=people align=center>"+count+" человек(а)</td></tr>");
   document.write(" <tr><td height=1 class=slist align=right>© [<b>jha_man</b>]</td></tr>");
   document.write("</td></tr></table>"
);
 } else document.write("Войдите в игру персонажем: <b>"+myPlayer+"</b>");
} else document.write("<h1>Версия плагина ниже 1.0.1.2</h1><br /><b>Перезагрузите оболочку клиента</b>");    
</script>
</center>
rezvil [15]
Цитата
Добавлено:
20.08.10 14:55
Матрос форума, 123
Что-то у меня ничего не сработало. Может я чего не так делаю?
Добрый [19]
Цитата
Добавлено:
20.08.10 17:23
Шкипер форума, 3279
rezvil [15]
Создал темку, пишите туда. =)

http://www.tz.mail.ru/cgi-bin/forum.pl?a=DEV&c=198474559
ДОСТАЛО_КОПАТЬ [18]
Цитата
Добавлено:
20.08.10 17:25
Юнга форума, 28
Доработал рецепты, теперь считает всё что можно и неможно.
Файл уже обновили
http://www.tz.mail.ru/plugins/zscripts/recipes.txt
DOOMovoj [17]
Цитата
Добавлено:
20.08.10 21:59
Боцман форума, 536
rezvil wrote:
Что-то у меня ничего не сработало. Может я чего не так делаю?

Скрипт написаный jha_man [12] работает.... тут даже не скрипт а почти плагин (какой нескажу   )

вот хотелось бы знать где можно посмотреть весь список доступных к запросу функций...
вот откуда например jha_man [12] знает как получать список персонажей на локации... я этого ни в мануалах ни в этой ветке не нашёл... и чаго ещё интересного можно узнать у сервера?  местоположение монстров и бойца в бою можно узнать?  
Добрый [19]
Цитата
Добавлено:
21.08.10 02:04
Шкипер форума, 3284
DOOMovoj [17]

и конечно название функции ShootToMob(neareset)  
DOOMovoj [17]
Цитата
Добавлено:
21.08.10 22:20
Боцман форума, 536
B>Добрый wrote:
DOOMovoj [17]

и конечно название функции ShootToMob(neareset)  
     

Да можно и без этой команды обойтись...
а по сабжу: Список доступных Функций с пояснениями в студию.  
Добрый [19]
Цитата
Добавлено:
22.08.10 22:29
Шкипер форума, 3284
DOOMovoj [17]

Знает, потому что вкурил в DOM.
Никаких функций там нет, исключительно чтение данных.
jha_man [12]
Цитата
Добавлено:
23.08.10 10:25
Боцман форума, 535
to DOOMovoj [17] :

В руководстве по написанию плагинов (http://www.tz.mail.ru/plugins/PlugIn_manual.ru.html) чётко сказано и, причём, не раз: Если у вас есть вопросы или вы хотите использовать какой-то недокументированный функционал:
Почта для связи: full_bugs@tz.mail.ru , в теме письма необходимо указать "Плагин" и название плагина (пример: "Плагин — Киборг").
DOOMovoj [17]
Цитата
Добавлено:
23.08.10 20:03
Боцман форума, 537
to jha_man [12] Добрый [19] :

Спасибо. Ушёл вкуривать в DOM.  
Персона нонграта [4]
Цитата
Добавлено:
06.09.10 17:44
Юнга форума, 0
Добрый день. Есть 2 вопроса:
1. Как получить цены на ресурсы во всех магазинах?
2. Какой параметр использовать в запросе GetGameData("_root.USER.???") чтобы получить сервер на котором находится персонаж (Archipelago или TerraPrima)?
jha_man [12]
Цитата
Добавлено:
07.09.10 10:35
Боцман форума, 540
Персона нонграта wrote:
Добрый день. Есть 2 вопроса:
1. Как получить цены на ресурсы во всех магазинах?

Парсить соответствующий xml файлик. Кури: http://www.tz.mail.ru/manual/resinfo.ru.html

2. Какой параметр использовать в запросе GetGameData("_root.USER.???") чтобы получить сервер на котором находится персонаж (Archipelago или TerraPrima)?

Хороший вопрос.. Как вариант "дизассемблить" флешку и искать соответствующую переменную, что очень геморно и опасно
Предлагаю поймать админов и задать им этот вопрос в привате
_ML_ [15]
Цитата
Добавлено:
07.09.10 16:25
Мичман форума, 254
jha_man [12]
2. Какой параметр использовать в запросе GetGameData("_root.USER.???") чтобы получить сервер на котором находится персонаж (Archipelago или TerraPrima)?


USER.serverid-номер сервера
спрашивайте я оч много переменных в тз знаю
Персона нонграта [4]
Цитата
Добавлено:
07.09.10 19:25
Юнга форума, 0
jha_man wrote:
Парсить соответствующий xml файлик. Кури: http://www.tz.mail.ru/manual/resinfo.ru.html

Спасибо. Сам не догадался посмотреть :(

_ML_ wrote:
USER.serverid-номер сервера
спрашивайте я оч много переменных в тз знаю

Спасибо. А нет списка всех переменных, чтобы не спрашивать каждый раз? Заранее благодарен.
_ML_ [15]
Цитата
Добавлено:
07.09.10 20:15
Мичман форума, 254
Персона нонграта [4]
напиши мне
Ксакеп [15]
Цитата
Добавлено:
08.09.10 21:32
Юнга форума, 39
Поковырял пример скрипта "pets".
Заинтересовало вот что:
var type = getgamedata("_root.BoxList."+n+".ty
pe");
if (type =='888.1') {

Дописал строчку, получил список всех BoxList-ов.

786.0---786.0---786.0---840.0---892
.0---786.0---788.500---788.500---78
8.500---945.0---788.100500---944.1-
--944.3---944.7---944.5---944.6---9
44.2---944.14---944.4---944.8---944
.9---944.10---944.11---944.12---944
.13---944.15---944.16---788.4631---
788.4625---892.0---1.16---  и т.д.

Пробовал парсить структуру каждого BoxList-а, но видать еще недорос )

Есть у кого нибудь идеи как разобрать такой вот Бокс, без знания стуртуры?

Иногда бывает, что глянув на данные появляется идея куда их можно приспособить )
_ML_ [15]
Цитата
Добавлено:
08.09.10 22:33
Мичман форума, 254
Ксакеп [15]
вещи из рюкзака с точным состоянием и перки.
_ML_ [15]
Цитата
Добавлено:
08.09.10 22:49
Мичман форума, 254
Добрый [19]
кстате там доступ к флаш урезан или полный как и при плагинах (если полный то опять волна чит возможностей будет)
безымянная [15]
Цитата
Добавлено:
13.09.10 17:05
Матрос форума, 144
кстате там доступ к флаш урезан или полный как и при плагинах (если полный то опять волна чит возможностей будет)

типа автонападалок и автоофа? )
Тема: ZScripter. Вопросы и ответы. Ответить
На страницу: [1],2
версия для печати
Логин:
Сообщение: