Bvural41 1
Bvural41
Mt2Hizmet 1
Mt2Hizmet
SLyFeLLowTR 1
SLyFeLLowTR
DEVLOPER 1
DEVLOPER
noisiv 1
noisiv
Manwe Work 1
Manwe Work
mavzermete 1
mavzermete
Hikaye Ekle

Çoklu NPC Sistemi[LUA]

  • Konuyu başlatan Konuyu başlatan thenemne0032
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 19
  • Görüntüleme Görüntüleme 3K

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhabalar,

Yine istek üzerine kodlandı. Basit bir quest o yüzden üzerinde fazla durmayacağım.


b5ZpJZ.jpg

1-) usr/game/share/locale/turkey/quest bölümüne "npcac.lua" adında bir lua dosyası açalım. Daha sonra dosyasının içine aşağıdaki kodları yazalım:


PHP:
quest npcac begin
	state start begin
		when 20087.chat."Çoklu NPC" begin
			npcKategori = {
				"Silah Satıcısi",
				"Balıkçi",
				"Market",
			}
			npcKategoriSay = tonumber(table.getn(npcKategori))
			npcKategori[npcKategoriSay + 1 ] = "Kapat"
			npcKategoriSec = select_table(npcKategori)
			for i=1,npcKategoriSay,1 do
				if npcKategoriSec == npcKategoriSay + 1 then
					return
				end 
				if npcKategoriSec == i then
					npc.open_shop(npcac.npcVeri(tostring(npcKategori[i])))
				end
			end
		end
		
		function npcVeri(npcKodu)
		 npcVeri = {
				["Silah Satıcısi"] = {1},
				["Balıkçi"] = {2},
				["Market"] = {3}
			}
				return npcVeri[npcKodu][1]
		end
	end
end



Bunu kaydedip çıkıyoruz.

2-)Putty'e geliyoruz.

cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.

./qc npcac.lua

Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 20087 kodlu NPC'den sistemi kontrol edebilirsiniz.




NOT: Şuan 3 tane NPC kayıtlıdır. Eğer daha fazla NPC eklemek istiyorsanız yapmanız gereken şudur:


PHP:
			npcKategori = {
				"Silah Satıcısi",
				"Balıkçi",
				"Market",
				"Silahci",
				"Zırhci"
			}


Bu kısma NPC'ye tıklanınca görülecek ismi ekliyoruz.(ÇOK ÇOK önemli, isimlerin sonu " ı " harfi ile bitmemeli! Eğer " ı " harfi ile biterse sistem çalışmaz. Örneğin: Silahçı yada Zırhçı yapamazsınız!)

Daha sonra aşağıdaki kısma da aynı şekilde ekliyorsunuz:



PHP:
		 npcVeri = {
				["Silah Satıcısi"] = {1},
				["Balıkçi"] = {2},
				["Market"] = {3},
				["Silahci"] = {4},
				["Zirhci"] = {5}
			}


Karşısındaki 4,5 değerlerini siz player veritabanından shop.sql tablosuna girip bulacaksınız.

Shop.sql'i açınca: vnum sütunu buradaki 1,2,3,4,5 değerlerini temsil eder. npc_vnum'sa o değerlerin hangi NPC olacağını. Örneğin shop.sql'i açtığınızda vnum'u 4 yapıp npc_vnum'u 9001 yapmalısınız. Sistemin mantığı bu şekilde.(Buradaki ilk isimler Zirhci, Balikci, Silahci... yukarıdaki kısımla aynı isimde ve aynı sırada olmalı yoksa sistem karışır.)
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst