МПМ Былины - Мир Древней Руси

МПМ Былины - Мир Древней Руси (https://www.bylins.su/vbb/index.php)
-   Клиенты для игры (https://www.bylins.su/vbb/forumdisplay.php?f=52)
-   -   проблема с скриптами в жабе (https://www.bylins.su/vbb/showthread.php?t=2242)

Осьмой 25.08.2006 08:08

изучил конфиг клеровский
попытался написать

var celi= new Array ("Пусто","Пусто","Пусто","Пусто","Пусто","Пусто"," Пусто","Пусто","Пусто","Пусто","Пусто","Пусто","Пу сто");

function c_show()
{
var i = 0;
jmc.send("***ЦЕЛИ НА РЕСК/АГР***");
for(i = 1; i < 13; i++)
{
jmc.send(i+"-> "+celi[i]);
}
}
function reck(n,kto)
{
celi[n]=kto;
}


#alias {р}{#s reck(%1,"%2");}{default}
#alias {реск}{#s c_show();}{default}
что не так?? пишет
Ошибка выполнения Microsoft JScript
Предполагается наличие объекта
Строка:0 Ошибка:0 Scode:800a138f

Яруго 25.08.2006 09:16

Цитата:

Сообщение от WorM (Сообщение 31993)
Кстати что у тебя за комп, у меня например даже на P1 200MHz без лагов этот скрипт работал.И не только он а ещё база шмота и там всякая фигня, правда база грузилась долго.

ммм с компом порядок р4 2700 оперативки 1 гиг связь адсл до 6 мбит/сек - думаю не в железках дело :rolleyes:

С ув.

WorM 25.08.2006 13:00

Цитата:

Сообщение от Яруго (Сообщение 31997)
ммм с компом порядок р4 2700 оперативки 1 гиг связь адсл до 6 мбит/сек - думаю не в железках дело :rolleyes:

С ув.

ну тоды на /dev/hands новые дрова поставь =)

WorM 25.08.2006 13:04

Цитата:

Сообщение от Осьмой (Сообщение 31995)
изучил конфиг клеровский
попытался написать

var celi= new Array ("Пусто","Пусто","Пусто","Пусто","Пусто","Пусто"," Пусто","Пусто","Пусто","Пусто","Пусто","Пусто","Пу сто");

function c_show()
{
var i = 0;
jmc.send("***ЦЕЛИ НА РЕСК/АГР***");
for(i = 1; i < 13; i++)
{
jmc.send(i+"-> "+celi[i]);
}
}
function reck(n,kto)
{
celi[n]=kto;
}


#alias {р}{#s reck(%1,"%2");}{default}
#alias {реск}{#s c_show();}{default}
что не так?? пишет
Ошибка выполнения Microsoft JScript
Предполагается наличие объекта
Строка:0 Ошибка:0 Scode:800a138f

Поставь вместо русских букв "с" латинские "c"

Осьмой 26.08.2006 08:55

писец.. корка я ходячая...
у меня есть алиас в дефаулт.set #alias {загрузи} {#read conf/%1.conf} {default}
я начинаю игру с того что пишу "загрузи наем", "загрузи кудес" ....
есть файл conf\кудес.conf и conf\кудес.scr.. так кора в том что я почемуто ДУМАЛ незнаю почему но вообще самому аж смешно... что эта фигня загружается автомотически...
Кстати говоря я все еще сомневаюсь что она негрузится... тоесть там такие ПЕРЛЫ были. Тоесть откудато брались функции которые я вызывал...


стоп. а каманда read не читает исходники.. как их подрубить следом???

ВСе работает... я овер блин...

WorM 28.08.2006 01:05

Цитата:

Сообщение от Осьмой (Сообщение 32013)
писец.. корка я ходячая...
у меня есть алиас в дефаулт.set #alias {загрузи} {#read conf/%1.conf} {default}
я начинаю игру с того что пишу "загрузи наем", "загрузи кудес" ....
есть файл conf\кудес.conf и conf\кудес.scr.. так кора в том что я почемуто ДУМАЛ незнаю почему но вообще самому аж смешно... что эта фигня загружается автомотически...
Кстати говоря я все еще сомневаюсь что она негрузится... тоесть там такие ПЕРЛЫ были. Тоесть откудато брались функции которые я вызывал...


стоп. а каманда read не читает исходники.. как их подрубить следом???

ВСе работает... я овер блин...

Ниасилил.

Осьмой 28.08.2006 05:29

Цитата:

Сообщение от WorM (Сообщение 32059)
Ниасилил.

А ты слабенький...
если честно я ща читаю и тоже понять не все могу. В кратце. у меня 2 файла на профу, conf и scr. я читаю .conf и был уверен что .scr грузится автомотически. но это тупость....

все работает. пасибо что выслушивали все это нытье. Конфиг готов почтишто... заказ почти выполнен.

Казуал 28.08.2006 09:07

Помогите. Почему-то не поддерживает скрипты, вынесенные с common.scr - файл. Закидываю их "имя конфига".scr - все работает, а с общего не берет. Что делать?
ЗЫ жаба у меня версии 3.26

WorM 29.08.2006 03:32

Цитата:

Сообщение от Казуал (Сообщение 32064)
Помогите. Почему-то не поддерживает скрипты, вынесенные с common.scr - файл. Закидываю их "имя конфига".scr - все работает, а с общего не берет. Что делать?
ЗЫ жаба у меня версии 3.26

commonlib.scr должен называться файл

ЗЫ а ваще поиск решает

Казуал 29.08.2006 08:10

Точно! спасибо за подсказку. Однако вместе с тем столкнулся с другой проблемой, а именно: при написании триггеров и в "профайловском" скриптовом файле и в общем работают триггеры только в "профайловском" *.scr - файле. Пробовал изменять имена функций - не помогает. Подскажите пожалуйста механизм разделения профайловских скриптов и общих.

Devastator 29.08.2006 22:53

думаю вам поможет
в commonlib.scr кидаем
function include(lib)
{
if (jmc.GetVar("Global" + lib.toUpperCase() + "Included") == 1)
return;
jmc.ShowMe("Including \"" + lib + "\"...");

jmc.SetVar("Global" + lib.toUpperCase() + "Included", 1);
jmc.Parse("#read " + lib + ".set");

var sFileName = "settings/" + lib + ".scr";
var FileSystem = new ActiveXObject("Scripting.FileSystemObject");
var Stream;
try
{
Stream = FileSystem.OpenTextFile(sFileName, 1);
}
catch(e)
{
jmc.ShowMe("ERROR: Can't include \"" + sFileName + "\" (" + e.description + ")");
return;
}
jmc.Eval(Stream.ReadAll());
Stream.Close();
}


и пишем алиас #al {include} {#script include("%0")}
алиас можно пихнуть в дефаулт.set )

и теперь у нас есть два конфиг файла тряляля.set и тряляля.scr пишем
include тряляля и у нас подгружается и конф и скрипты, таким образом можно разбить конфиг на части )

WorM 29.08.2006 23:54

Цитата:

Сообщение от Казуал (Сообщение 32102)
Точно! спасибо за подсказку. Однако вместе с тем столкнулся с другой проблемой, а именно: при написании триггеров и в "профайловском" скриптовом файле и в общем работают триггеры только в "профайловском" *.scr - файле. Пробовал изменять имена функций - не помогает. Подскажите пожалуйста механизм разделения профайловских скриптов и общих.

Попробуй первую строку забить пустую или закоментированное что-то

//Это мой конфиг

или

/*Это мой конфиг*/

Казуал 31.08.2006 09:43

Спасибо за ответы, но нашелся более простой способ решения моей проблемы. Дело в том, что клиент не обрабатывает две строки типа:
jmc.RegisterHandler("Incoming","OnIncoming()");
и хоть как ты не называй другие функции, будь то OnIncoming2() или еще как-то, вызываться будет только последняя функция.
А решение такое: в файле commonlib.scr создать функцию с любым именем, например: function Incoming(), а вызов ее совершать из функиции профайловского скрипта. Таким образом будут выполняться и общие и свойственные только текущему профайлу скрипты

Казуал 31.08.2006 09:56

У меня еще один вопрос: как реализовать в скрипте:
#action {^Ваш опыт повысился на %0 оч} {гг %0} {5} {default}
т.е. возникли проблемы, как выделить из строки подстроку %0
Я сделал что-то вроде:
var line = jmc.Event;
if (line.search ("^Ваш опыт повысился на ") != -1) {
line=line.replace ("Ваш опыт повысился на ", "");
line=line.replace (" очков.", "");
line=line.replace (" очко.", "");
line=line.replace (" очка.", "");
account += line*1;
}

...но что-то слишком коряво получилось. Да еще пришлось писать account += line*1; - ибо иначе не складывает два числа, а выполняет Concat, т.е. 50+150=50150 :(

WorM 31.08.2006 10:50

Цитата:

Сообщение от Казуал (Сообщение 32163)
У меня еще один вопрос: как реализовать в скрипте:
#action {^Ваш опыт повысился на %0 оч} {гг %0} {5} {default}
т.е. возникли проблемы, как выделить из строки подстроку %0
Я сделал что-то вроде:
var line = jmc.Event;
if (line.search ("^Ваш опыт повысился на ") != -1) {
line=line.replace ("Ваш опыт повысился на ", "");
line=line.replace (" очков.", "");
line=line.replace (" очко.", "");
line=line.replace (" очка.", "");
account += line*1;
}

...но что-то слишком коряво получилось. Да еще пришлось писать account += line*1; - ибо иначе не складывает два числа, а выполняет Concat, т.е. 50+150=50150 :(

account += Math.floor(line) так правильней, Math.floor преобразовывает строку в число.

Попробуй вот так
Код:

line=jmc.Event;

var expstr=/^Ваш опыт повысился на (\d+) очк(о|ов|а)\.$/;
if(expstr.test(line))
 account+=Math.floor(expstr.exec(line)[1]);

Проверил вроде даже работает +)

ЗЫ Почитай про regexp(регулярные выражения) в JavaScript.


Часовой пояс GMT +4, время: 10:52.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot