http://rghost.ru/51609015 Исправил. Если есть у кого новые значения или которых нету в программе, можете скинуть в ЛС я их добавлю.
Может кому еще нужно) http://rghost.ru/51550828 версия 1.5
Вот ещё так на всякий 199 - 1 чи 299 - 2 чи 399 - 3 чи
Ставлю на землю. Все правильно стоит. Вот я сейчас даже попробовал взял НПС`а который уже стоит в NPCgen поменял ему id на свой все закинул перезагрузил и он тупо пропал назад id вернул и старый НПС появился в elements.data проверял по id под которым я НПС создал он у меня id во всем файле. Вот думаю может elements.data сама кривая хотя не должно такого быть сервер же включается. Просто когда беру любой существующий id из elements.data и добавляю в npcgen то все нормально а как добавляю свой то все не появляется ни чего.
Всем привет у меня такая проблема открываю npcgen.data от 69 версии добавляю NPC все сохраняю добавляю на сервер запускаю а NPC не появляется в elements.data все прописано правильно. В чем может быть проблема? На RageZone взял координаты для 69 версии добавил в sNPCedit попробовал заново и все равно не получается.
Изменил размер окна и поправил открытие трактатов. Скачать
UPD Добавлены статы Исправлен цвет чекбоксов и радиобатнов По просьбе viperx5 сделан разделенный выбор ID классов Скриншоты [img] [img] [img] Скачать
UPD Добавлены несколько доп.бонусов Скачать
Всем привет, программированием занимаюсь не так давно решил написать программку бонусы в них не обновлены сейчас работаю над выявлением типа каждого бонуса. Особенно понадобиться новичкам UPD 1.0 Добавлен выбор бонусов для трактатов. Исправлен вывод бонусов на вкладке "Оружие". Скриншоты [img] [img] [img] [img] [img] rghost narod
Ну типы я знаю их всего 8, а вот остальное я подучу получше то знаю очень плохо и тогда отпишу.
Дельфи только начел учить недавно, пока что очень плохо знаю это так что как подучу получше тогда напишу. Я так понял без основных знаний цикл и т.д. редактор не написать так что пошел подучивать.
Имеется данный код открытия первого листа elements.data написал с помощью Delphi 2010 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus; type TList1 = record id:integer; name: array [0..63] of byte; int1:integer; int2:integer; int3:integer; int4:integer; end; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; ListBox1: TListBox; Button1: TButton; OpenDialog1: TOpenDialog; procedure ListBox1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private ListPos: array [1..4] of Integer; // сюда сохраняем смещения листa ListLen: array [1..4] of Integer; // сюда сохраняем количество элементов ffile: tStream; procedure OpenList1(lb: TListBox); // это у нас собс-но открытие первого листа procedure FillListPos; // это будет заполнение листа public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var List1: array of TList1; procedure TForm1.OpenList1(lb: TListBox); var num: integer; w: widestring; begin num := lb.ItemIndex; Edit1.Text:=IntToStr(List1[num].id); SetLength(w, 32); Move(List1[num].name[0], w[1], 64); Edit2.Text:=w; Edit3.Text:=IntToStr(List1[num].int1); Edit4.Text:=IntToStr(List1[num].int2); Edit5.Text:=IntToStr(List1[num].int3); Edit6.Text:=IntToStr(List1[num].int4); end; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; ws: WideString; begin if OpenDialog1.Execute then begin if not FileExists(opendialog1.FileName) then exit; if Assigned(fFile) then begin FreeAndNil(fFile); end; // Создаем поток fFile := TFileStream.Create(OpenDialog1.FileName, (fmOpenReadWrite{or fmShareExclusive})); // Заполняем массив с позициями FillListPos; // Читаем лист 1 SetLength(ws, 32); fFile.Position := ListPos[1]+4; SetLength(List1, ListLen[1]); fFile.Read(List1[0], ListLen[1]*SizeOf(TList1)); for i := 0 to ListLen[1] - 1 do begin Move(List1[i].name, Pointer(ws)^, 64); ListBox1.Items.Add(IntToStr(List1[i].id) + ' - ' + ws); end; end; end; procedure TForm1.FillListPos; var fListLen: Integer; begin (* == подсчет смещений каждого последующего листа == 8 это смещение первого листа. 8 + 4 + размер первого листа = смещение второго листа. смещение второго листа + 4 + размер второго листа = смещение третьего, и т.д. *) ListPos[1] := 8; if Assigned(fFile) then begin fFile.Position := ListPos[1]; // устанавливавем маркер в позицию начала Листа1 fFile.Read(fListLen, SizeOf(fListLen)); // Считываем количество элементов ListLen[1] := fListLen; ListPos[2] := ListPos[1] + ListLen[1]*SizeOf(TList1) + 4; // получаем смещение второго листа end; end; // -------------------------------------------------------- // procedure TForm1.ListBox1Click(Sender: TObject); begin openlist1(listbox1); end; end. Суть вопроса хотел узнать как реализовать сохранения новых параметров и сохранения самой страницы обратно в elements.data И ещё один вопрос как можно реализовать открытия второй страницы elements.data (какие значения нужно изменить или добавить) Заранее спасибо.
Спасибо
Какой версии клиент нужен для данной сборки?
Ну подумаешь слегка не так тему написал. Писал ночью когда хотел спать и не обратил внимание.
Команды управления. ./cpw - показать список команд ./cpw install - установить программу ./cpw rsagen - перегенерировать RSA ключи ./cpw x executable... ( ./cpw x Launcher.exe patcher.exe) - прописать RSA ключи в список исполняемых файлов. ./cpw initial - создать базовый билд ./cpw new (revision number) - создать новый патч, если указать с версией number ./cpw revision (revision number) - создать новый патч, если указать с версией number ./cpw listgen - пересоздать списки файлов ./cpw listupdate - пересоздать списки файлов Перед установкой обновите Java до 7 версии с сайта linuxway.ru/poleznoe/ustanovka-oracle-java-7-jdk-v-ubuntu/ установить патчер с сайта http://pwcpw.codeplex.com/ Установка. Если у вас CPW на линуксе или колинукс дебиане, заходим в phpmyadmin. Создаём базу pwu. Выбираем её. Нажимаем импорт, и указываем путь до файла install.sql находиться в патчере, папка config. Для установки требуеться запустить терминал в Ubuntu и вписываем следующее apt-get install patcher 1) Распаковываем patcher.tar.gz в файловая система /patcher 2) Даю права папке chmod 777 -R /patcher 3) Перехожу в папку patcher cd /patcher 4) root@ubuntu-virtual-machine:/patcher# 5) ./cpw install Отвечаем на необходимые вопросы и дождаться создания таблицы в базе данных. вводим в первое Input mysql server (eg, localhost): localhost Input mysql login (eg, pwu): root Input mysql password (eg, superpuperpassword): пароль к базе MySQl Input mysql database name (eg, pwu): pwu полсе того как вы ввели должно появиться следующее Saving config. Creating table. Install complete. Now unpack your client using provided instuctions. Afterwards place unpacked files under files/new/ P.S. терминал не закрывать... Далее в папке files/CPW/info создайте файл pid без какого либо указания формата. пишим в этом файле "101" Такая же цифра должна быть в клиенте patcher\server\pid.ini [Version] pid=101 После этого В files\new\element помещаем всю папку из клиента element Исключение составляют *.pck Их мы должны распаковать! В распакованом виде они должны находиться в папках с соответствующим названием. Пример: У нас был models.pck архив, после распаковки получилась models.pck.filles папка. Открыли models.pck.filles и увидели там папку models, Она то нам и нужна. Помещаем ее в files\new\element Так делаем со всеми архивами! Внимание в В files\new\element недолжно быть ни одного *.pck файла!!! И так, теперь можно приступать. Пишем в терминале "./cpw initial" и... ждем... ждем... и опять ждем. По окончанию Ваш патч будит находиться в папке files\CPW папку CPW копируем в файловую систему в /var/www/ при создании обновленя в updateserver.txt пишем так http://Ваш_ip/CPW/ или если у вас FTP то заливаем папку CPW на FTP сервер и пишем http://Ваш_FTP/CPW/ Внимание что бы сделать новый патч, используем команду new! Удаляем файлы из files\new\element и копируем в эту же папку новые файлы Запускаем терминал, для тех кто еще не понял как это делаеться: пишем ./cpw new И снова ждем... Готовый патч окажеться опять же в папке files\CPW И это еще не все))) В наш патчер, прямо рядом с bat файлами ложим 2 файла Launcher.exe и patcher.exe Открываем терминал или пишем в тот в котором всё делали если вы его ещё не закрыли в терминале вписываем ./cpw x Launcher.exe patcher.exe и запускаем.. По окончанию закиньте пропатченые Launcher.exe и patcher.exe в клиент и измените в клиенте \patcher\server\updateserver.txt http://Ваш IP/CPW/ либо http://Ваш FTP/CPW/ запускаем сервер с регистрацией запускаем в клиенте launcher\FixIt.bat А дальше как сказал один умный человек "дело техники" В шаре Гайд по установке CPW на windows вот решил выложить гайд по установки на системы более подходяших для серверов. Кому помог тыкни понравилось =)
Лучше всего последнюю.
С VBox я мало знаком так что не знаю что ещё посоветовать. Если бы был VMware то с ним бы помог.
Извини немного не так написал, нужно изменить в home/gdeliveryd там фал sysauctionlist.txt и ещё файл menuid в sysauctionlist.txt делай как я написал выше а в menuid удали все.
Попробуй зайди в home/gamed/config там файл sysauctionlist.txt и нижу items удали все. Ошибка возникает из-за того что в этом файле есть id которых нету в elements.data а данный файл отвечает за аукцион, или же ты можешь в этом файле просто найти id которые пишутся в ошибки и их удалить. что бы зайти в phpmyadmin и в клиенте что бы он видел сервер на VBOX`е сверху с право есть две стрелки нажми ПКМ и выбери "Информация соединения" точно не помню как называется после как нажмешь откроется окно и в нем будет написан ip ubuntu вот его вписывай в gamesys.conf и в клиент.
Имена участников (разделяйте запятой).