[KO-FOX] [1299-1397-1453-15xx-18xx] Userlerdeki İtemi arama prosedürü[BANKA+INVENTORY!] <ZaGoR>

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 54

Admin

Knight Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
45,967
Merhaba arkadaşlar. Prosedür Alıntıdır Biraz düzenleme yapılmıştır.



Bu Nedir ?



Bu prosedür oyundaki userlerinizdeki item bulmak için bize yardımcı olacak bir prosedürdür.



Örnek : Prosedürü Çalıştırarak Hangi userlerde "Ring of courage" Veya "Raptor" vs gibi itemleri banka veya çanta olmak üzere aratabiliriz.



Ne işe yarar ? Faydası nedir ?



Serverinizde Dupe veya buglu item gibi bir durum olduğu zaman itemleri aratıp oyuna rollback atmak yerine dupe veya bug yapan kullanıcıları tespit edip banlayabilirsiniz.






Kurulum : Prosedürümüzü Ekleyelim.



[HIDE-REPLY]
Kod:
CREATE procedure [dbo].[KoFoXItemBulucu] /* KO-FOX ZAGOR */ @num int, @mode int as if @mode in (1,2) begin if @mode = 1 begin if exists (select * from sysobjects where id = object_id(N'found') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table found CREATE TABLE found([StrUserID] [varchar](21) NULL) end if @mode = 2 begin if exists (select * from sysobjects where id = object_id(N'found') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table found CREATE TABLE found([strAccountID] [varchar](21) NULL) end declare @item varbinary(4), @i int set @item = substring(cast(@num as varbinary(4)),4,1)+substring(cast(@num as varbinary(4)),3,1)+substring(cast(@num as varbinary(4)),2,1)+substring(cast(@num as varbinary(4)),1,1) set @i = 1 if @mode = 1 -- Tüm itemleri karakterlerin inventorysinde ara KO-FOX ZAGOR !  begin while @i &lt; 401 begin insert found select struserid from userdata where substring(stritem, @i,4) = @item set @i = @i + 8 end end else if @mode = 2 -- Tüm itemleri karakterlerin Bankasında ara Ko-Fox ZaGoR !  begin while @i &lt; 1601 begin insert found select straccountid from warehouse where substring(warehousedata, @i,4) = @item set @i = @i + 8 end end select * from found drop table found end GO
[/HIDE-REPLY]



[HIDE-REPLY]

Kullanım :




Kod:
exec KoFoXItemBulucu itemkodu,1--inventoryde ara  exec KoFoxItemBulucu itemkodu,2--bankada ara

[/HIDE-REPLY]



w11d1.png




Paylaşımlarım devam edecektir 😉


[KO-FOX] [1299-1397-1453-15xx-18xx] Userlerdeki İtemi Arama Prosedürü[BANKA+INVENTORY!] <ZaGoR>

Knight Online özel sunucularında geliştirme yaparken, kullanıcıların envanterlerinde ya da bankalarında belirli itemleri aramak oldukça kritik bir işlemdir. Bu işlem hem hile tespiti hem de oyun içi dengelerin korunması açısından önemlidir.

Giriş
Knight Online özel sunucularında (pserver), kullanıcıların sahip olduğu itemleri kontrol etmek, hem geliştiriciler hem de sunucu yöneticileri için önemli bir konudur. Özellikle bazı özel itemlerin yasadışı yollarla çoğaltılması gibi durumlar, oyun içi ekonomiyi bozabilir. Bu nedenle kullanıcı envanterleri ve banka alanlarında item aramak, gerekli kontrolleri yapmak açısından kritik bir adımdır.

İtem Arama Prosedürü Nedir?
Bu prosedür, veritabanı seviyesinde kullanıcıların envanter ve banka alanlarında belirli itemleri bulmayı sağlar. Bu işlem genellikle SQL sorguları aracılığıyla gerçekleştirilir. Prosedürün amacı, belirli item ID'lerine sahip objelerin hangi kullanıcıda, hangi slot'ta olduğunu tespit etmektir. Bu, hem hileli itemlerin tespiti hem de oyun içi istatistiklerin analizi için kullanılır.

Veritabanı Yapısı
Knight Online özel sunucularında veritabanı yapısı genellikle CHARACTER, ITEM, INVENTORY, BANK gibi tablolardan oluşur. Bu tablolar arasında ilişkiler kurulmuştur ve doğru sorgularla kullanıcıya ait tüm itemler sorgulanabilir.

SQL Sorgusu Örneği
Kod:
SELECT c.Name, i.ItemID, inv.Slot FROM CHARACTER c[BR][/BR]JOIN INVENTORY inv ON c.CharID = inv.CharID[BR][/BR]JOIN ITEM i ON inv.ItemID = i.ItemID[BR][/BR]WHERE i.ItemID = 'XXXXX';

Bu sorgu, belirli bir ItemID'ye sahip olan kullanıcıları listeler. Aynı şekilde BANK tablosu için de ayrı bir sorgu hazırlanabilir.

Banka Araması
Banka araması, envanter aramasına benzer şekilde yapılır. Farklı olarak BANK tablosu kullanılır.

Kod:
SELECT c.Name, b.ItemID, b.Slot FROM CHARACTER c[BR][/BR]JOIN BANK b ON c.CharID = b.CharID[BR][/BR]WHERE b.ItemID = 'XXXXX';


Zaman Aralığına Göre Filtreleme
Bazı durumlarda, belirli bir zaman aralığında itemin eklenmiş olup olmadığını kontrol etmek isteyebilirsiniz. Bu durumda sorguya bir tarih filtresi eklenmelidir.

Kod:
SELECT c.Name, i.ItemID, inv.Slot, inv.AddDate[BR][/BR]FROM CHARACTER c[BR][/BR]JOIN INVENTORY inv ON c.CharID = inv.CharID[BR][/BR]JOIN ITEM i ON inv.ItemID = i.ItemID[BR][/BR]WHERE i.ItemID = 'XXXXX'[BR][/BR]AND inv.AddDate BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD';


Sunucu Versiyonlarına Göre Uyum
KO-FOX aracılığıyla çalışırken, farklı sunucu versiyonlarında (1299, 1397, 1453, 15xx, 18xx) item ID'leri değişiklik gösterebilir. Bu yüzden prosedür, kullanıcının çalıştığı versiyona göre uyarlanmalıdır. Özellikle USKO, ROFD gibi sistemlerde item ID'ler farklı olabilir. Bu nedenle geliştiricilerin bu hususa dikkat etmesi gerekir.

ZaGoR Tarafından Geliştirilen Araçlar
ZaGoR, KO-FOX gibi gelişmiş araçlar sayesinde bu tür sorguları daha hızlı ve kolay bir şekilde gerçekleştirmemizi sağlar. Bu tür sistemler, hem geliştiriciler hem de sunucu sahipleri için büyük kolaylık sağlar. Özellikle veritabanı üzerinde manuel işlem yapmaktansa, bu tür GUI tabanlı sistemler kullanmak hatayı önler.

Sonuç
Knight Online özel sunucularında kullanıcı envanterlerinde ve bankalarında item aramak, hem hile tespiti hem de oyun içi dengeyi koruma açısından kritik öneme sahiptir. Bu işlem, doğru SQL sorguları ve uygun sistemlerle kolaylıkla yapılabilir.


[KO-FOX] [1299-1397-1453-15xx-18xx] Procedure for Searching Items in Users[BANK+INVENTORY!] <ZaGoR>

While developing Knight Online private servers, searching for specific items in users' inventories or banks is a critical process. This action is important both for detecting cheating and maintaining in-game balance.

Introduction
In Knight Online private servers (pserver), checking user-owned items is crucial for developers and server administrators alike. Especially the unauthorized duplication of certain special items can disrupt the in-game economy. Therefore, scanning user inventories and bank areas is essential for carrying out necessary checks.

What Is the Item Search Procedure?
This procedure allows finding specific items owned by users at the database level. This operation is typically performed through SQL queries. The purpose of this procedure is to identify which user has which specific item ID and in which slot. It is used for both identifying illegal items and analyzing in-game statistics.

Database Structure
The database structure of Knight Online private servers generally consists of tables such as CHARACTER, ITEM, INVENTORY, BANK. Relationships are established between these tables, and all items belonging to a user can be queried with correct queries.

Example SQL Query
Kod:
SELECT c.Name, i.ItemID, inv.Slot FROM CHARACTER c[BR][/BR]JOIN INVENTORY inv ON c.CharID = inv.CharID[BR][/BR]JOIN ITEM i ON inv.ItemID = i.ItemID[BR][/BR]WHERE i.ItemID = 'XXXXX';

This query lists users who have a specific ItemID. A separate query can also be prepared for the BANK table.

Bank Search
Bank searches are performed similarly to inventory searches, but using the BANK table instead.

Kod:
SELECT c.Name, b.ItemID, b.Slot FROM CHARACTER c[BR][/BR]JOIN BANK b ON c.CharID = b.CharID[BR][/BR]WHERE b.ItemID = 'XXXXX';


Filtering by Time Range
In some cases, you may want to check whether an item was added within a specific time range. In such situations, a date filter should be added to the query.

Kod:
SELECT c.Name, i.ItemID, inv.Slot, inv.AddDate[BR][/BR]FROM CHARACTER c[BR][/BR]JOIN INVENTORY inv ON c.CharID = inv.CharID[BR][/BR]JOIN ITEM i ON inv.ItemID = i.ItemID[BR][/BR]WHERE i.ItemID = 'XXXXX'[BR][/BR]AND inv.AddDate BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD';


Compatibility According to Server Versions
When working via KO-FOX, item IDs may vary across different server versions (1299, 1397, 1453, 15xx, 18xx). Therefore, the procedure must be adapted according to the version being used by the user. Especially in systems like USKO, ROFD, item IDs can differ. Developers must pay attention to this point.

Tools Developed by ZaGoR
Thanks to tools like KO-FOX developed by ZaGoR, we can perform such queries more quickly and easily. These systems provide great convenience for both developers and server owners. Instead of performing manual operations on the database, using such GUI-based systems prevents errors.

Conclusion
Searching for items in user inventories and banks in Knight Online private servers is critically important for both detecting cheating and maintaining in-game balance. This process can be easily accomplished using proper SQL queries and appropriate systems.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt