Форумы онлайн-игры "Сфера Миров" http://sow.flybb.ru/ |
|
лор из файла для жабы http://sow.flybb.ru/topic460.html |
Страница 1 из 2 |
Автор: | mp2 [ 02-07, 21:36 ] |
Заголовок сообщения: | лор из файла для жабы |
не могли бы вы поделиться работающими под жабу скриптами, которые бы выдергивали из файла с лором текст и отсылали в окно жабы. вообще то, в 3.5 жабе есть команда #spit, но алиас на лор сделать не получится, потому что в этой команде нельзя использовать вариаблы. получается, что надо каждый раз набирать целиком #spit {./lor/боевые перчатки.txt} {#showme %0}, меняя название нужной шмотки, чтобы загрузить лор. собственно, поделитесь пожалуйста вариантами решения. |
Автор: | Alz [ 02-07, 23:15 ] |
Заголовок сообщения: | |
Если каждый лор в отдельном файле то очень просто... Код: function FindLor(item){
var str; var FileSystem = new ActiveXObject("Scripting.FileSystemObject"); if (FileSystem.FileExists("base/"+item+".txt")) { var eqbase=FileSystem.OpenTextFile("base/"+item+".txt",1); while (!eqbase.AtEndOfStream) { str=eqbase.ReadLine(); jmc.ShowMe(str); } jmc.ShowMe(""); eqbase.Close(); } else { jmc.ShowMe("Предмет '"+item+"' не найден!"); } } |
Автор: | mp2 [ 02-07, 23:26 ] |
Заголовок сообщения: | |
а нельзя ли пояснить для ньюба как именно применять скрипт? |
Автор: | Alz [ 02-07, 23:52 ] |
Заголовок сообщения: | |
Вставить его в файл settings/<имяпрофиля>.scr Файлы лоров поместить в папку base или изменить ее на нужную в скрипте... В клиенте: #alias {лор} {#s FindLor("%0")} |
Автор: | mp2 [ 03-07, 03:14 ] |
Заголовок сообщения: | |
пишет Ошибка выполнения Microsoft JScript "FileSystem" - определение отсутствует Строка:4 Ошибка:0 Scode:800a1391 |
Автор: | Alz [ 03-07, 05:37 ] |
Заголовок сообщения: | |
Сорри, поправил. |
Автор: | mp2 [ 03-07, 05:42 ] |
Заголовок сообщения: | |
заработало!!! спасибо огромное)) |
Автор: | Традус [ 07-07, 22:36 ] |
Заголовок сообщения: | |
как добавить пробел перед выводом лора? |
Автор: | Alz [ 09-07, 16:18 ] |
Заголовок сообщения: | |
Перед while добавить строку jmc.ShowMe(""); |
Автор: | Традус [ 10-07, 05:43 ] |
Заголовок сообщения: | |
есть файлик /base/черный шлем с забралом.txt ведь можно же сделать поиск по начальному слову что бы не набирать название предмета полностью а набрать например черный шле* |
Автор: | Alz [ 10-07, 18:54 ] |
Заголовок сообщения: | |
Код: function ShowFile(item){
var FileSystem = new ActiveXObject("Scripting.FileSystemObject"); var eqbase=FileSystem.OpenTextFile("base/"+item+".txt",1); jmc.ShowMe(""); while (!eqbase.AtEndOfStream) { str=eqbase.ReadLine(); jmc.ShowMe(str); } jmc.ShowMe("-----"); jmc.ShowMe(""); eqbase.Close(); } function FindLor(item){ var str; var FileSystem = new ActiveXObject("Scripting.FileSystemObject"); var line, ext, files; var find = 0; var dir = FileSystem.GetFolder("base/"); if (item != "") { if (FileSystem.FileExists("base/"+item+".txt")) { ShowFile(item); find = 1; } else { files = new Enumerator (dir.files); for (;!files.atEnd(); files.moveNext()) { ext = FileSystem.GetExtensionName(files.item()).toLowerCase(); if(ext == "txt") { line = FileSystem.GetBaseName(files.item()).toLowerCase(); if(line.indexOf(item)!=-1) { ShowFile(line); find = 1; } } } } } if (find == 0) { jmc.ShowMe(""); jmc.ShowMe("Предмет '"+item+"' не найден!"); jmc.ShowMe(""); } } |
Автор: | Тивлин [ 22-07, 20:22 ] |
Заголовок сообщения: | |
а я дллку себе намалевал лор по части названия(всех совпадающих) и список стафа с содержанием строк:-P |
Автор: | Традус [ 24-07, 08:35 ] |
Заголовок сообщения: | |
и к чему ты это сказал? похвастаться нам что ты умеешь писать дллки на змад? не выложил не предложил ничего. просто пустые слова. Альз молодец сделал вещь. а ты лишь пофлудил. |
Автор: | Тивлин [ 25-07, 09:59 ] |
Заголовок сообщения: | |
аха) пофлудить хочу))) но думаю лучше иметь другую систему, где все хранится в одном файле и определенным образом разделяется, тогда можно будет удобно искать что угодно и где угодно (от названия до статов стафа) |
Автор: | Alz [ 29-02, 22:32 ] |
Заголовок сообщения: | |
Конкретный вопрос, конретный ответ... Для 1 файла скрипт даже проще. Код: function FindLor(item){
var FileSystem = new ActiveXObject("Scripting.FileSystemObject"); var eqbase=FileSystem.OpenTextFile("base/data.dat",1); var flag, line, send = ""; var find = 0; ItemN = new RegExp("^Предмет '.+m([а-я-, ]+).+', Тип предмета:"); var s, ss, sss; if (item!=""&&item!="."&&item!="..") { jmc.ShowMe(""); item=item.toLowerCase(); if (item.indexOf("*гг")!=-1) { send = "гг"; item=item.replace(" *гг",""); } s=item.substring(0,item.indexOf(".")); ss=item.substring(item.indexOf(".")+1); if (ss!="") { sss = ss.substring(ss.indexOf(".")+1); ss = ss.substring(0,ss.indexOf(".")); } if (FileSystem.FileExists("base/data.dat")) { while (!eqbase.AtEndOfStream) { line=eqbase.ReadLine(); if (line.search(ItemN)!=-1) { if (RegExp.$1.indexOf(s)!=-1&&RegExp.$1.indexOf(ss)!=-1&&RegExp.$1.indexOf(sss)!=-1) flag=true; } if (line.search("^---END---")!=-1&&flag==true) { flag=false; jmc.ShowMe("---"); } if (flag==true) { find = 1; if (send!="") { line=line.replace(/\[\d?\;?\d+m/g,''); jmc.Send(send+" "+line); } else jmc.ShowMe(line); } } } if (find == 0) { jmc.ShowMe(""); jmc.ShowMe("Предмет '"+item+"' не найден!"); jmc.ShowMe(""); } } } |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |