Open Adilx05 opened 3 years ago
Eğer ki yüklemezsek zaten program direk şöyle bi hata veriyor : System.IO.FileNotFoundException: 'C:\Users\****\Downloads\SimpleCL-master\SimpleCL\bin\Debug/Icon/item\europe\man_item\light_01_ba.png'
Su an phBotun database (.db3) dosyalarini kullaniyor. /Resources/ klasöründeki TRSRO_DB.db3 databaseyi kullanirsan pk2extractor calisir.
O zaman koddaki bu bölümü Resources klasörü oluşturup dbyi oraya atıp oraya yönlendireyim bakalım
Iconları Pk2Extractor ile çıkarmamız gerekiyor oda phBotun yüklü olmasını gerektiriyor;
var phDbPath = @"C:\Users\burak\AppData\Local\Programs\phBot Testing\Data\TRSRO.db3"; var dbPath = @"C:\Users\burak\AppData\Local\Programs\phBot Testing\Data\TRSRO_DB.db3";
Pk2Extractor de şöyle bi değişiklik yaptım ama hala bütün klasörler boş DevIL hatalı diyor veya bendeki kütüphanenin sürümü farklıdır bilemiyorum ama düzeltilmiş kodu atıyım bu arada Resources diye klasör oluşturup onun içine TRSRO_DB.db3'ü attım.
using System.IO;
using System.Text.RegularExpressions;
namespace Pk2Extractor
{
internal class Program
{
public static void Main(string[] args)
{
var pk2Path = @"C:\Program Files (x86)\SilkroadTR\Media.pk2";
var phDbPath = GetPath("Resources/TRSRO_DB.db3");
var dbPath = GetPath("Resources/TRSRO_DB.db3");
/*File.Copy(phDbPath, dbPath, true);
File.SetAttributes(dbPath, File.GetAttributes(dbPath) & ~FileAttributes.ReadOnly);*/
var pk2Extractor = new Api.Pk2Extractor(pk2Path, dbPath);
pk2Extractor.StoreTextReferences();
pk2Extractor.StoreModels();
pk2Extractor.StoreTeleportBuildings();
pk2Extractor.StoreTeleportLinks();
pk2Extractor.StoreItems();
pk2Extractor.ExtractItemIcons();
pk2Extractor.ExtractSkillIcons();
pk2Extractor.AddMinimap();
}
private static string GetPath(string relativePath)
{
var appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
string pattern = @"^(.+\\)(.+exe)$";
Regex regex = new Regex(pattern, RegexOptions.None);
var match = regex.Match(appPath);
return System.IO.Path.GetFullPath(match.Groups[1].Value + relativePath);
}
}
}
Resources klasörü projede zaten mevcut. (C:\Users\burak\RiderProjects\SimpleCL\SimpleCL\Resources)
Resources klasörü projede zaten mevcut. (C:\Users\burak\RiderProjects\SimpleCL\SimpleCL\Resources)
Bunu değil Pk2Extractor için ayrı oluşturdum.
Ama sorun değişmiyor klasörler hala boş bütün metodları try catch içine aldım DevIL.NET2 modülünde hata veya eksiklik görünüyor onun kendi kullandığın sürümünü de projeye eklemen lazım sanırım.
Simdilik bu dosyalari indirip Debug klasörüne cikart: https://mega.nz/file/T4kWyB6B#Hk1FX9d6VXKMl8S6K7yB08RwhdDi1EWljIbEvPP5R7Q
TRSRO_DB.db3'ü de ayni yere koy
Sorun DevIL.NET2 kütüphanesindeymiş biraz araştırdım https://www.reddit.com/r/csharp/comments/8erxrs/help_with_upgrading_devilnet2/ , https://www.nuget.org/packages/DevIL/ Paket Nugettende çekilmiş yani dependiencieslerini de yükleyemiyoruz.
Ok, o zaman baska bir sekilde cekmem lazim iconlari
Iconları kaynaklara ekleyip derlemede kopyalamayı eklemek sorunları çözebilir
konuyu hortlatmış gibi olacağım ancak JellyBitz in paylaştığı xbot u çalıştırmayı başardım eğer yapamayan yapmak isteyen dosyaları paylaşabilirim devil.net2 yi ve devill.dll i
konuyu hortlatmış gibi olacağım ancak JellyBitz in paylaştığı xbot u çalıştırmayı başardım eğer yapamayan yapmak isteyen dosyaları paylaşabilirim devil.net2 yi ve devill.dll i
O paket yanlış bilmiyorsam zararlı dosya içeriyor diye kaldırılmıştı. Kullandığı metotları çıkartıp kendimiz ayrı bi kütüphane oluşturursak o zaman bu bot çalışır öbür türlü public yayınladığın zaman insanların antivirüsleri bağırır.
Bu kütüphanenin oluşturulmuşunu bulabilme imkanı varmıdır bilginiz varmı bu kütüphaneyle ilgili
bot devil.dll'i artik kullanmiyor, GDImageLibrary.dll kullaniliyor iconlari cikartmak icin
help me
Iconları Pk2Extractor ile çıkarmamız gerekiyor oda phBotun yüklü olmasını gerektiriyor;
var phDbPath = @"C:\Users\burak\AppData\Local\Programs\phBot Testing\Data\TRSRO.db3"; var dbPath = @"C:\Users\burak\AppData\Local\Programs\phBot Testing\Data\TRSRO_DB.db3";