IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Reply to this topicStart new topic
> jmc :: scripting, создание конфигов
Ennin
сообщение 17 Aug 2007, 08:36
Сообщение #21

strange thing
Сообщений: 2 582
Спасибо сказали: 90 раз




мануал вообще по хорошему надо переписывать. найду время - сделаю систему аля википедии чтоб всем миром написать его. вот

Добавлено ([mergetime]1187329014[/mergetime]):
а ^ - это не ММС. это символ обозначения начала строки в синтаксисе регулярных выражений


--------------------
anyway the wind blows...
Go to the top of the pageAdd Nick
 
+Quote Post
Rayen
сообщение 17 Aug 2007, 10:06
Сообщение #22

Борец за Идею
Сообщений: 153
Спасибо сказали: 0 раз




Цитата(Ennin)
мануал вообще по хорошему надо переписывать. найду время - сделаю систему аля википедии чтоб всем миром написать его. вот


Это было-б мегаздорово smile.gif

Цитата(GrayMage)
#drop в хелпе есть...


Ну не знаю... может у меня хелп какой не тот... у меня - англоязычный, Copyright Sergey Ilyin 1998. Мб устаревший просто, но там этого нет ничего. Вот где новее достать бы - вообще не в курсе.

В идеале, имхо, было бы неплохо сделать мануал, рассматривающий скриптовое программирование в JMC со всех сторон - то есть, чтобы и полный чайник смог начать как-то разбираться, и уже профессионал смог бы для себя что-то новое высмотреть. Встроенный скриптовый язык JMC, как я понял, базируется на PERL, а я в нем - дуб дубом. Поэтому, видно, и дается все с трудом. Хотя, в целом, ничего сложного нет, просто сталкиваться приходится с постоянными языковыми проблемами, и куда с ними обращаться - непонятно. Куча времени уходит на перелопачивание интернета в поисках каких-то основ. Вот было бы неплохо эти самые "основы" собрать в мануале, в виде, скажем, отдельного раздела. Такчто идея Эннина - очень даже заманчивая. Со своей стороны - могу пообещать быть полезным там, где смогу - к примеру, в написании статей и т.д.

ЗЫЖ Вот такая строчечка помогла мне избавиться от проблем со злодейскими теллами. Даю ее здесь, может, кому пригодится:

Код
#substitute {;} { }


Вот. Ну, или вместо точки с запятой то, что у вас вместо разделителя стоит. Таким образом, все потенциально опасные разделители, приходящие с сервера, превращаются в абсолютно безобидные пробелы, и спокойно обрабатываются всяческими ACTIONами. Вместо пробела, к примеру, можно поставить какой нибудь другой безобидный знак, тут уже - дело вкуса, главное, стобы он обрабатывался нормально.

Нафлудил что-то я, простите если что )


--------------------
Отец Андерсен Covox Псих Ненормальный
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 28 Nov 2007, 19:12 (Сообщение отредактировал Aldaran - 28 Nov 2007, 22:03)
Сообщение #23

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




Здравствуйте!
Помогите... laugh.gif)

Раньше было:

function Dizarmdl00()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
jmc.parse("take $weapon");
jmc.parse("wear $weapon");
}
}


function Dizarmloyal()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
jmc.parse("wear $weapon");
}
}


function Dizarmdouble()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
jmc.parse("take $weapon");
jmc.parse("take $secweapon");
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon");
}
}


function Dizarmdoubleloyal10()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
jmc.parse("take $secweapon");
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon");
}
}


function Dizarmdoubleloyal01()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
jmc.parse("take $weapon");
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon");
}
}


function Dizarmdoubleloyal11()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon");
}
}

#act {/оружие у вас из рук!$/} {#if {$doubleweap = 0}{#if {$loyalweap1 = 0}{#scri Dizarmdl00()};#if {$loyalweap1 = 1}{#scri Dizarmloyal()}};#if {$doubleweap = 1}{#if {$loyalweap1 = 0}{#if {$loyalweap2 = 0}{#scri Dizarmdouble()};#if {$loyalweap2 = 1}{#scri Dizarmdoubleloyal01()}};#if {$loyalweap1 = 1}{#if {$loyalweap2 = 1}{#scri Dizarmdoubleloyal11()};#if {$loyalweap2 = 1}{#scri Dizarmdoubleloyal10()}}}} {weapons}

Где тут ошибка, хз!
_________________________
#var doubleweap 0
#var loyalweap1 1
#var weapon утрен

wear утрен
ПоселковаЯ учительница выбила оружие у вас из рук! (Работает)
_________________________
#var doubleweap 1
#var weapon утрен
#var secweapon зв
#var loyalweap1 1
#var loyalweap2 1

wear утрен
wear зв
ПоселковаЯ учительница выбила оружие у вас из рук! (Работает)
_________________________
#var doubleweap 1
#var weapon утрен
#var secweapon зв
#var loyalweap1 0
#var loyalweap2 0
_________________________
wear утрен
wear зв
ПоселковаЯ учительница выбила оружие у вас из рук! (Работает)
_________________________
#var doubleweap 1
#var weapon утрен
#var secweapon зв
#var loyalweap1 0
#var loyalweap2 1

take утрен
wear утрен
wear зв
ПоселковаЯ учительница выбила оружие у вас из рук! (Работает)
_________________________
#var doubleweap 1
#var weapon утрен
#var secweapon зв
#var loyalweap1 1
#var loyalweap2 0

take зв
wear утрен
wear зв
ПоселковаЯ учительница выбила оружие у вас из рук! (Работает)
_________________________

#var doubleweap 0
#var weapon утрен
#var loyalweap1 0

Ошибка выполнения Microsoft JScript
Предполагается наличие объекта
Строка:0 Ошибка:0 Scode:800a138f

ПоселковаЯ учительница выбила оружие у вас из рук! (Не работает!)

Искал... искал... плюнул...

сделали:

#act {/оружие у вас из рук!$/} {#scr GlobalDisarm()} {weapons}

function GlobalDisarm()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
if (jmc.GetVar("doubleweap") == 1)
{
if (jmc.GetVar("loyalweap1") == 1)
{ jmc.parse("wear $weapon1"); } else { jmc.parse("take $weapon1"); jmc.parse("wear $weapon1"); }

if (jmc.GetVar("loyalweap2") == 1)
{ jmc.parse("wear $weapon2"); } else { jmc.parse("take $weapon2"); jmc.parse("wear $weapon2"); }

} else
{
if (jmc.GetVar("loyalweap1") == 1)
{ jmc.parse("wear $weapon1"); } else { jmc.parse("take $weapon1"); jmc.parse("wear $weapon1"); }
}
}
}

И снова это же ошибка, только выдает сразу, без разницы что оружие лояльное или нет...

Думаю, фигня... Сделал:

function Disarm()
{
if(jmc.Event=="/оружие у вас из рук!$/")
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
if(jmc.GetVar("doubleweap") == 0)
{
if(jmc.GetVar("loyalweap1") == 0)
{
jmc.parse("take $weapon");
jmc.parse("wear $weapon");
}
else
{
jmc.parse("wear $weapon");
}
}
else
{
if(jmc.GetVar("loyalweap1") == 0)
{
if(jmc.GetVar("loyalweap2") == 0)
{
jmc.parse("take $weapon");
jmc.parse("take $secweapon");
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon")
}
else
{
jmc.parse("take $weapon");
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon")
}
}
else
{
if(jmc.GetVar("loyalweap2") == 0)
{
jmc.parse("take $secweapon");
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon")
}
else
{
jmc.parse("wear $weapon");
jmc.parse("wear $secweapon")
}
}
}
}
}
}
jmc.RegisterHandler("Incoming","Disarm()");

Снова эта же ошибка, уже даже не знаю что... Мб я ошибся с if(jmc.Event=="/оружие у вас из рук!$/") в этом примере, но делал даже без него просто используя проверку скрипта на цвет, с использованием #action jmc.

Если кто-то поможет, буду очень признателен!

Добавил! Ржу над собой, тока у меня такие длинные посты...


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


function Dizarmfs()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
jmc.parse("take $weapon");
jmc.parse("wear $weapon");
}
}

Зато этого уже для меня не достаточно, не хочу в конфиге много скриптов относящихся к weapons ))) буду делать один!

Удачи!


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Craya
сообщение 29 Nov 2007, 02:37
Сообщение #24

bbite all
Сообщений: 448
Спасибо сказали: 15 раз




а зачем на цвет смотреть? Что то я не догнала

Добавлено ([mergetime]1196293047[/mergetime]):
Проще сделать одну скриптовую функцию в которую буду передоваться оружие которое выбили и там одевать его как надо


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 29 Nov 2007, 10:04 (Сообщение отредактировал Aldaran - 29 Nov 2007, 10:15)
Сообщение #25

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




Цитата(Craya @ 29 Nov 2007, 03:37)
а зачем на цвет смотреть? Что то я не догнала

Добавлено ([mergetime]1196293047[/mergetime]):
Проще сделать одну скриптовую функцию в которую буду передоваться оружие которое выбили и там одевать его как надо


Ну, в маде котором я играю, неизвестно которое из двух оружий выбили (могут выбить и первое и второе, а сообщение выдаваемое мадом будет одно и то же). А цвет нужен, чтобы не обманывали игроки...Ибо теряешь времени больше, на попытку взять того чего нет на земле и одеть его, чем зловредная 'emo выбил у вас оружие из рук!'. Раньше у меня срабатывал триггер на боевое приглашение! Но, в бою так же можно использовать эмоции и есть мобы которые начинают бой с дизарма, а значит ты не поднимешь оружие. Иногда в спешке ты можешь этого не заметить, и убежать за кучу локаций...В экстренных ситуациях, я вовсе отключаю этот триггер, лучше потерять оружие, чем умереть.

Раньше пользовался при двух оружиях, так, думая что выбиваю по порядку, сначала первое, потом второе, первое оружие которое должны были выбить, при одевании становилось вторым, а бывшее второе смещалось на первую позицию:
take $weapon;wear $weapon;#var secweapon $weapon;#var weapon $secweapon
И оружие менялось

#act {/^выбил оружие у вас из рук!$/} {#if {$prompt = 1} {........}} {weapons}

Но оказалось, что это не так...приходится делать, чтобы одновременно поднимало два оружия и одевало их!


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 29 Nov 2007, 10:30 (Сообщение отредактировал Aldaran - 29 Nov 2007, 15:24)
Сообщение #26

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




Ну тут от нехрен делать выложу Вам скрипт для записи логов...
Скажете плагиат?!
Ну есть конешна, тока изменил его... Мне так удобно!

function StartLog(dd)
{
m_date = new Date();
var MonthArr = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");

var NName;
var Year = m_date.getYear();
var Month = MonthArr[m_date.getMonth()];
var Day = m_date.getDate();
var Hour = m_date.getHours();
var Min = m_date.getMinutes();

Nname = "[" + ((Hour>9) ? "" : "0")+ Hour + ((Min>9) ? "." : ".0")+ Min + "]" + ".log";

fso = new ActiveXObject("Scripting.FileSystemObject");

var fldrtemp="Logs";
if (fso.FolderExists(fldrtemp)) {}
else { var fldr = fso.CreateFolder("Logs"); }

var fldrtemp="Logs\\" + dd;
if (fso.FolderExists(fldrtemp)) {}
else { var fldr = fso.CreateFolder(fldrtemp); }

var fldrtemp="Logs\\" + dd + "\\" + ((Day>9) ? "" : "0]")+Day+"." + Month+"." + Year;
if (fso.FolderExists(fldrtemp)) {}
else { var fldr = fso.CreateFolder(fldrtemp); }


jmc.output('#log "'+'Logs\\' + dd + '\\' + ((Day>9) ? '' : '0]')+ Day+ '.' + Month+'.' + Year+ '\\' + Nname + '"');
jmc.parse('#log "'+'Logs//' + dd + '//' + ((Day>9) ? '' : '0]')+ Day +'.' + Month+'.' + Year+ '//' + Nname + '"');

}

Хотел выразить особую благодарность в поддержке Неревару.
Спасибо Ромка laugh.gif)

Добавил )) Мб кому-то пригодится, содрать и изменить можна любой скрипт под себя. Вот еще один скриптик, он находит Труп ПЕРСОНАЖА из кучи других трупов мобов (В основном тут использовалось: Имя ПЕРСОНАЖА пишется с большой буквы, название моба с маленькой, если же используется имя моба, то с большой):

function act_corpse(corpse,location)
{
if ( (corpse == "Асигода") || (corpse == "Бамбулы") || (corpse == "Беорна") || (corpse == "Грыша") || (corpse == "Варгана") || (corpse == "Белого клоуна") || (corpse == "Хислопа") || (corpse == "Гормадока Барквина") || (corpse == "Ксантаруса") || (corpse == "ЯсенЯ"))
{
return
}
var symb;
symb = corpse.substr(0,1)
if ((symb >= "А") && (symb <= "Я"))
{
jmc.parse("#drop")
jmc.Showme('[0\;33mТруп [1\;31m'+corpse+'[0\;33m в комнате [1\;37m'+location+'[1\;30m.');
}
}


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 29 Nov 2007, 17:07 (Сообщение отредактировал Aldaran - 29 Nov 2007, 17:08)
Сообщение #27

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




Интересна!
Создал weapon1.scr и записал в него ниже преведенный скрипт, загрузил, стало работать, удаляешь этот файл, суешь все с него в weapon.scr: выдает ошибку!

Мб если есть var weapon, то нельзя импользовать и *.scr с таким же названием?

function disarmfswd()
{
var color = jmc.Event.substr(0, 9);
if(color == "")
{
if (jmc.GetVar("loyalweap1") == 1)
{
jmc.parse("wear $weapon");
}
else
{
jmc.parse("take $weapon");
}
if (jmc.GetVar("doubleweap") == 1)
if (jmc.GetVar("loyalweap2") == 1)
{
jmc.parse("wear $secweapon");
}
else
{
jmc.parse("take $secweapon");
}
if (jmc.GetVar("loyalweap1") == 1)
{
}
else
{
jmc.parse("wear $weapon");
}
if (jmc.GetVar("doubleweap") == 1)
if (jmc.GetVar("loyalweap2") == 1)
{
}
else
{
jmc.parse("wear $secweapon");
}
}
}

Я извиняюсь за этот адский спам...Просто не встречал еще такого!

КРОВЬ! СМЕРТЬ! СОТОНА!


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Бяха
сообщение 27 May 2008, 11:25
Сообщение #28

Newbie
Сообщений: 11
Спасибо сказали: 0 раз




Делимся скриптами, говорим? Ну вот и мои пять копеек:

- Кнопка-Тригер - на одной кнопке висит две операции Сесть и Встать. В маде присутствуют также коврики которые таскаешь с собой и садясь на которые быстрее чёнить регенишь. Соотв-но в скрипт встроено юзание коврика.

(не программер, такшо на структуру не плюваться)

//в конфиге жабы должны быть определены переменные
//sit - определяющая стоите вы(1), сидите(2)
//carp - имя коврика ("леопард", "раковин" или "ковр" )))
//carpis - 0 если нет коврика, 1 есть коврик
//air - "1" если вы под флаем (нужна чтобы при возвращении из сидения вы оказывались "летящим", в статус-окне, а не "стоящим")
//
//также есть переменная showsit - которая выводится в нижние статус-окна и которая показывает ваше положение "сижу", "стою","лечу", "СПЛЮ"
//
//переменная mana_hp определяет на каком из ковриков мы сидим - "мана коврик" или "хп коврик", соответственно нужный и подбирается.

var mana_hp=false;

function frest() //---------------ОТДЫХАТЬ - себе.----------------
{ sit=jmc.GetVar("sit");
carp=jmc.GetVar("carp");
carpetis=jmc.GetVar("carpetis");
if (carpetis==0) //проверка - есть ли вообще коврик
if (sit==0) //проверка - Сижу - стою без коврика
{
jmc.parse("отдыхать");
jmc.SetVar("showsit","сижу");
sit=1;
jmc.SetVar("sit",sit);
mana_hp=false;
}
else if (mana_hp) fmrest()
else {
jmc.parse("встать");
if (air==1) {jmc.SetVar("showsit", "лечу");} else {jmc.SetVar("showsit","стою");}
sit=0;
jmc.SetVar("sit",sit);
}


else
//проверка - Сижу - стою с ковриком
if (sit==0)
{
jmc.parse("бро "+carp+"; отдыхать "+carp);
jmc.SetVar("showsit","сижу");
sit=1;
jmc.SetVar("sit",sit);
mana_hp=false;
}
else
if (mana_hp) fmrest()
else {
jmc.parse("встать; взять все."+carp);
if (air==1) {jmc.SetVar("showsit", "лечу");} else {jmc.SetVar("showsit","стою");}
sit=0;
jmc.SetVar("sit",sit);
};
}

---------------
у меня в промпте выводится постоянно состояние моих денег. СОответственно есть скрипт проверяющий обокрали ли меня или нет
(логично что скрипт ругается при каждой покупке smile.gif smile.gif smile.gif smile.gif smile.gif )

#action {<%1hp %2mp %3mv %4.%5 %6>} {#var money1 %4; #var money1s %5; #scri stoling()} {9} {default}


money1=jmc.GetVar("money1"); //кол-во золота
money1s=jmc.GetVar("money1s");//кол-во серебра

function stoling() //проверка на обокраденность
{ money1=jmc.GetVar("money1");
money1s=jmc.GetVar("money1s");
minus=(money1*1+(money1s*0.01))-money*1;
if (minus<0) jmc.showme("***Вас обокрали на "+Math.floor(minus*100)/100+" золота!!!", "yellow");
money=money1*1+money1s*0.01;
minus=0;
}
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 29 May 2008, 08:11 (Сообщение отредактировал Aldaran - 01 Jun 2008, 21:30)
Сообщение #29

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




По подробнее расскажи про коврики (точнее про 'мана коврик' и 'хп коврик'), игрался в несколько мадов, где использовались коврики/панцири и т.д., но не разу не встречал разделения на хп/мана.

Пропущен скрипт fmrest(), которые присутствовал в frest(), но наверняка использовался если mana_hp=true или mana_hp != false. Пропущена переменная air, типа air=jmc.GetVar("air"). У тебя нету вывода в окно статуса положения переменной showsit, как написано выше, ну эт фигня, я не придираюсь.

А почему ты не упростишь скрипт? Например, вместо, sit=0;jmc.SetVar("sit",sit);, можно сделать jmc.SetVar("sit",0);.

Скрипт с проверкой на воровство денег мобами, конешно работать будет, но увеличивать строку приглашения, думаю, не стоит, спама больше, трафика больше (хотя мелоч), да и крадут мобы не так много...

А так все же спасибо за то что, хоть кто-то делится скриптами, важнее не сами скрипты, а внимание и идеи, которые можно использовать.


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Kiber
сообщение 31 May 2008, 15:44
Сообщение #30

Newbie
Сообщений: 5
Спасибо сказали: 0 раз




Цитата(Aldaran @ 28 Nov 2007, 20:12)
Искал... искал... плюнул...

Привет, соАРДИнец)
Скажи, почему-бы просто не поднимать сразу все оружие и не одевать его?
Почему решил разбить на много вариантов?
Случайно не потому, что все параметры (название оружия, флаги) заполняешь вручную, вводишь короткие названия и при подъеме боишься что он больше чем нужно поднимет?
Go to the top of the pageAdd Nick
 
+Quote Post
Kiber
сообщение 31 May 2008, 19:57
Сообщение #31

Newbie
Сообщений: 5
Спасибо сказали: 0 раз




Кстати, по поводу производительности скрипта:
Проверка триггером (грубо говоря, точный триггер на имя моба) работает быстрее, нежели проверка JS (сравнивая переменную с именами мобов). тест 500 строк, результаты отличались на 1 секунду из 13.
Так-же сравнивал просто много триггеров и один общий триггер. В рамках 500 строк результат был одинаков. Вывод: в жабе достаточно хорошо написан парсер строки для триггеров, и предпочтительнее использовать внутренний язык жабы, без вкроек на JS.
Так-же сравнивал предельно точные триггеры (со знаками начала и конца строки^$) с обрезками (со знаком только начала строки ^), 500 строк, точные ведут 11:10.
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 01 Jun 2008, 21:24
Сообщение #32

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




Цитата(Kiber @ 31 May 2008, 16:44)
Скажи, почему-бы просто не поднимать сразу все оружие и не одевать его?
Почему решил разбить на много вариантов?
Случайно не потому, что все параметры (название оружия, флаги) заполняешь вручную, вводишь короткие названия и при подъеме боишься что он больше чем нужно поднимет?

1) Как это просто поднимать все оружие и одевать его?
2) Потому что ты мирный и наверное забыл, что у большенства атакующих лояльное оружие, и бывает такое, что названия двух лоялов разное. Тут проверка на цвет, возможность использования 2х лоялов и 2х оружий.
Параметры оружия вводятся и вручную и с помощью триггера. У меня используются нормальное название предмета, не короткое. Например:
#action {/Вы взЯли в руки трезубец-молнию.$/} {isloyal 0 $loyalweap2;#var weapon Threecog;#stat 1 { $weapon($secweapon)} b cyan, gray} {5} {weap}
#action {/Вы взЯли в руки Падавитель, Танец Смерти.$/} {isloyal 1 $loyalweap2;#var weapon Nozober;#stat 1 { $weapon($secweapon)} b cyan, gray} {5} {weap}

Цитата(Kiber @ 31 May 2008, 20:57)
Так-же сравнивал просто много триггеров и один общий триггер. В рамках 500 строк результат был одинаков. Вывод: в жабе достаточно хорошо написан парсер строки для триггеров, и предпочтительнее использовать внутренний язык жабы, без вкроек на JS.

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


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Kiber
сообщение 02 Jun 2008, 06:46
Сообщение #33

Newbie
Сообщений: 5
Спасибо сказали: 0 раз




Да можно просто исключать из обработки все серые строки, в чем проблема. Ну или в начало серой строки добавлять признак, который исключит эту строку из обработок.
Ты все-таки не ответил на вопрос: ты все флаги и параметры вручную заполняешь? Ну, хоткеями, алиасом, но вручную?
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 02 Jun 2008, 09:06
Сообщение #34

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




Цитата(Kiber @ 02 Jun 2008, 07:46)
Да можно просто исключать из обработки все серые строки, в чем проблема. Ну или в начало серой строки добавлять признак, который исключит эту строку из обработок.
Ты все-таки не ответил на вопрос: ты все флаги и параметры вручную заполняешь? Ну, хоткеями, алиасом, но вручную?

Да, конечно )))


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Kiber
сообщение 02 Jun 2008, 17:49
Сообщение #35

Newbie
Сообщений: 5
Спасибо сказали: 0 раз




не могу тебе написать ПМ. Не знаю почему, может акк не активирован...
В общем, если хочешь - я кину тебе в асю пару строк скрипта, который точно по экипировке определяет точное название оружия. И по состоянию переменных определяет - нужно поднимать 2 оружия или одно. Вручную можно дописать JS функцию, натравливать ее на название оружие, и по совпадениям устанавливать флаг лояльности/проклятости оружия.
В общем, чтобы все было автоматически.
icq
Go to the top of the pageAdd Nick
 
+Quote Post
Aldaran
сообщение 02 Jun 2008, 19:21
Сообщение #36

Newbie
Сообщений: 35
Спасибо сказали: 0 раз




Спасибо за предложение. Скрипт, я могу и сам написать, но у меня нет идей написания...


--------------------
КРОВЬ! СМЕРТЬ! СОТОНА!

http://www.arda.pp.ru/
Go to the top of the pageAdd Nick
 
+Quote Post
Бяха
сообщение 04 Jun 2008, 14:32
Сообщение #37

Newbie
Сообщений: 11
Спасибо сказали: 0 раз




Цитата(Aldaran @ 29 May 2008, 08:11)
Пропущен скрипт fmrest(),... Пропущена переменная air,..У тебя нету вывода в окно статуса положения переменной showsit,
ну да. это я убрал дабы не захламлять пост. Но я думаю если кому надо - попросят и я допишу.

Цитата(Aldaran @ 29 May 2008, 08:11)
А почему ты не упростишь скрипт? Например, вместо, sit=0;jmc.SetVar("sit",sit);, можно сделать jmc.SetVar("sit",0);.
Наверно на случай если переменная sit будет использоваться еще раз в процедуре не выходя из нее.

Цитата(Aldaran @ 29 May 2008, 08:11)
...да и крадут мобы не так много...
ты заявляешь это не узнав даже для какого мада это было написано? опрометчиво smile.gif.
Go to the top of the pageAdd Nick
 
+Quote Post
Бяха
сообщение 04 Jun 2008, 14:56
Сообщение #38

Newbie
Сообщений: 11
Спасибо сказали: 0 раз




первый Скрипт который одному хоткею вешает 2 действия - одеть вещь дающую флай, и снять. Неудобство - ручками приходится менять в конфиге название флаевской и сменной шмоток, если они поменялись.

второй Скрипт - на одном хоткее смена 2-х видов промпта: с экспой и с названиями комнаты.


function fair()
//------------Лечу-Стою-------------
{
if (air==0)
{
jmc.parse("од змей");
jmc.SetVar("showsit", "лечу");
}
else
{
jmc.parse("од тускл");
jmc.SetVar("showsit", "стою");
}
air=1-air;
jmc.SetVar("air",air);
}
------------------------------
function fprompt() //смена промпта для получения инфо об экспе
{ var textsend="";
textsend=((activp==1) ? "PROMPT <{R%h/%Hhp{x {M%m/%Mmp{x %vmv {Y%g.%s{x %X {M%t{x>" : "PROMPT <{R%hhp{x {M%mmp{x %vmv {Y%g.%s{x {C[%r]{x {M%t{x>");
activp=1-activp;
jmc.parse(textsend);
}


Детский скрипт автоматизирующий обмен серебра на золото

#alias {_мм} {#scri changemoney()} {default}

function changemoney() //серебро на золото
{
jmc.send("дать "+money1s+" монет меняла");
}



Скрипты на присвоение переменных ... ничего особенного.

function fnodog() //-----------очара мертва-------------
{ dog="--";
dogis=0;
dogsleep=0;
jmc.SetVar("dog",dog);
jmc.SetVar("dogis",dogis);
jmc.SetVar("dogsleep",dogsleep);
}

function fnodogcarp() //нет коврика для очары
{ dogcarp="--";
dogcarpis=0;
jmc.SetVar("dogcarp",dogcarp);
jmc.SetVar("dogcarpis",dogcarpis);
}

//т.к. на ковриках могут спать и очары, то и для нее отдельный коврик
function fdogcarp(dogcarp) //есть коврик для очары
{ dogcarpis=1;
jmc.SetVar("dogcarp",dogcarp);
jmc.SetVar("dogcarpis",dogcarpis);
}


Добавлено ([mergetime]1212580587[/mergetime]):
Добавочка:

#alias {слуга} {#var dog %1« #var dogis 1« статпок3} {default}
#alias {слуга0} {#scri fnodog()« статпок3} {default}
#alias {статпок3} {#scr jmc.SetStatus(1, "$dog $dogcarp" , "light red")} {default}
#alias {статпок} {#scr jmc.SetStatus(1, "$food $space $cont $light", "white")« #scr jmc.SetStatus(2, "$carp $mcarp $showsit F=$fight", "light blue")« #scr jmc.SetStatus(3, " $speak1, $speak2, $speak3", "b green")} {default}
Go to the top of the pageAdd Nick
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16 December 2019 - 08:15
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика