Hoş Geldin, Ziyaretçi!

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

dsgn kguard
vsupload kguardedgeakademi

vSRO Paylaşım VSRO | Görev Ekleme Rehberi

Yuppi

vsro.org
.
Katılım
3 Şub 2019
Mesajlar
810
Çözümler
1
Alınan Beğeni
2,567
Ödül Puanları
113
Konum
İstanbul
herşeyi iyi güzel ayarladıkda %100 görev düşecek şekilde ayarladık diyelim bir uniqueye ekledik görevi 8 kişi party şeklinde gidip hepsi görevi aldığı zaman uniqueyi kestiklerinde 1 tane görev düşecek hangisine verirse artık böyle yapmak yerine 8 kişiyede düşecek şekilde nasıl yapabiliriz mesela partyde kimler varsa hepsine o görevden 1 tane düşecek. tek bir kişiye değil herkes kendisininkini alıcak atıyorum 7 kişiyiz 7 tane düşecek isimleri yazacak görev eşyasının üzerinde hangisi kiminse onu alabilecek yerden bu konuya biri acıklık getirirse cok sevinirim beyler baya uğraştım ama bulamadım gezmediğim yer kalmadı
Scpritteki luasetstartmethod kısmının hemen altına

LuaSetDivideType(5)

ekleyerek dener misin?
 
Katılım
14 Eki 2019
Mesajlar
380
Alınan Beğeni
196
Ödül Puanları
43
Konum
İzmir
Herkese Senua'dan merhabalar,

Hepinizin bildiği gibi görev ekleme ile ilgili güzel bir rehber hiçbir yerde mevcut değil. Gördüğüm en kapsamlı görev konusu Epvp'deki görev scpritleri paylaşıldığında anlatılan konu idi, ancak onun bile eksikleri vardı. Sizlere elimden geldiğinde tane tane ayrıntılı bir biçimde hazırsanız anlatmaya başlıyorum.

İlk olarak scpritlerden bahsetmek istiyorum. Nedir bu scpritler? Scpritler lua dilinde yazılmış kod parçalarıdır, fonksiyonlarıdır da diyebiliriz. Gameserver'e tanımlanmış lua komutları bu scpritlerin içerisinde aranır ve mevcut komutlar okunarak gameserver tarafından işleme alınır. Scprit olayının genel çalışma mantığı budur. Unutmadan söyleyeyim tanımlanmış çok fantastik komutlar mevcuttur, bunların %80'i mevcut scpitlerde kullanılmamıştır ama aktiflerdir. Bunların ne olduğunu ve neler yapılabileceğini sizin kabiliyetinize bırakıyorum. Her şeyi anlatmayalım değilmi tadı kaçmasın :p

Scpritlerin clean halini bu linkten indirebilirsiniz.
Rar içerisindeki Event klasöründekiler event lua'ları için, Quest klasöründekiler normal quest'ler içindir. @Define.lua genel komutlar için joymax tarafından yapılmış tanımları içermektedir. @Eventlist.lua event lua'larının listesi ve @QuestList.lua ise normal quest lua'larının listesidir. Konu sonuna kadarki tüm işlemleri yaptıktan sonra scprit kalsörümüzdeki bütün .bat uzantılı komutları çalıştırıp .sct uzantılarını serverfiles içerisindeki eski .sct'ler ile değiştireceğiz.

Anlatımda kendi server'imde Roc'a eklediğim görevi kullanacağım. Hadi başlayalım.

1- Görev lua'sı
Ekli dosyayı görüntüle 376

1 numaralı kısım; Görevimizin fonksiyonudur. Bu fonsiyonumuzun ismi _RefQuest'e ekleyeceğimiz satırdaki codename ile aynı olmak zorundadır.
2 numaralı kısım; Görevimizin ID sinin alınmasını sağlayan komuttur. QNO_VENUS_ROC codename'ye sahip görevin ID'si bu komut ile alınır ve işleme konulur. _RefQuest'e ekleyeceğimiz satırdaki codename ile aynı olmak zorundadır.
3 numaralı kısım; Görevimizin başlama koşuludur. QSC_LEVEL, 1,1 li kısımın ilki max level, ikincisi min level şartıdır. 1,1 yaparsanız görev her seviyede kullanılabilir demektir.
4 numaralı kısım; Konuşma penceresi akfif/deaktif, 1 demek aktif demektir.
5 numaralı kısım; Göreve başlama metodu, QM_CONVERSATION konuşma şeklinde demek. 1 sayısı npc'lerin sayısı, ve sonraki kısımda ilgili npc'lerin kodunu göstermektedir.
6 numaralı kısım; Görevi tamamlama npc'si. ve bu npc'nin kodu
7 numaralı kısım; Görevin belireceği npc sayısı ve npc'lerin kodu
8 numaralı kısım; Görevi yapabilme sayısı, 0 demek sınırsız sayıda yapılabilir demek
9 numaralı kısım; Görevin kod kısmındaki veri boyutunun limiti, burada QuestID baz alınmış. 1 sayısı da baz alınan tanım sayısını göstermekte. Burada sadece QuestID baz alındığı için değerimiz 1.
10 numaralı kısım; MISSION_TYPE_GATHER_ITEM_FROM_MONSTER görevin yapılma şekli mob'tan item toplama demek, SN_ ile başlayan bütün kısımlar oyunda görünecek yazılardan bahsetmekte. Bunları konunun ilerisinde media kısmında kullanacağız. NPC'mizin kodu yine burada da var, düşecek itemin kodu ve bu itemden ne kadar toplanması gerektiği 1,1 li kısımda mevcut, 1,20 yaparsak 20 tane toplamamız gerekir. Mob'un kodu ve sondaki 100 rakamı item'in bu mob'tan düşme ihtimali. 100 demek %100 ihtimal demek.
11 numaralı kısım; NPC ve görev penceresindeki konuşma pencerelerinin olduğu kısım
12 numaralı kısım; Görevi yapabilme sayısı, 0 demek sınırsız sayıda yapılabilir demek
13 numaralı kısım; Görev ödüllerinin verilme şekli, 1 demek npc'den açılan pencere ile almak demek.
15 numaralı kısım; Görev ödüllerinin tanımlandığı kısım. İlk baştaki 4 adet sıfır orada olmak zorunda, bu alanda exp, gold, zerk gibi değişik görev ödülleri kullanılıyor. Bundan sonraki kısımda item kodundan önceki 1 sayısı bu itemin ödül olarak aktif olup olmadığını, item kodundan sonraki sayıda bu itemden kaç adet verileceğini belirtiyor.
16 numaralı kısım; Görev ödülü olarak skill point verebilmenin olduğu kısım
17 numaralı kısım; end komutumuz function'ın son bulduğu kısım end olmazsa gameserver lua'mızın hatalı olduğunu söyler ve görevi işleme almaz.

Bundan sonraki database ve media kısımlarında item sayılarımız, QuestID'miz ve görev codename'mizin lua ile tutarlı olması gerektiğini unutmayınız.

2- Database;

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

3- Media;

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.


Konu giderek düzenlenecek ve ayrıntı artırılacaktır.
Mökemmelsin sen :D
 
Katılım
16 Ara 2019
Mesajlar
310
Alınan Beğeni
124
Ödül Puanları
43
Konum
Antalya
Artık yeni ve yaratıcı görevler görmek umuduyla, paylaşım için teşekkürler.
 
Katılım
30 Ara 2019
Mesajlar
143
Alınan Beğeni
59
Ödül Puanları
28
Konum
Bursa
benim bir sorum var ben görevi toplama şeklinde değilde sadece kesme olarak yapmak istiyorum yani 1000 tane niye hunter kes şeklinde ve bunun sadece 80+ level karakterlere gözükmesini ve 1 kez yapılmasını istiyorum level kısmı tamam 1 kez tamam ama bunu toplamaktan kesmeye nasıl çeviririz bu şekilde 6 7 tane görev eklicem farklı farklı düşünceleriniz nelerdir yardımcı olabilir misiniz, teşekkürler.

NOT: BİRAZ ARAŞTIRMA YAPTIKTAN SONRA YAPMAK İSTEDİĞİMİ BULDUM
LuaSetMissionData_EX BU KOMUT VE MISSION_TYPE_KILL_MONSTER komutu kesme görevi olarak ekliyor başka bir sorum daha olacak ben 7 adet farklı kesme görevini aynı npc ekliyeceğim konuşma pencerelerinin kodlarını media eklerken değiştirmem gerekiyor mu mesela sn_1 2 3 4 5 diye gidiyor ben 2. görevi eklerken 6 7 8 9 gibi mi devam edicem yoksa aynı kod satırını mı eklicem.
 
Son düzenleme:
Katılım
15 Ocak 2020
Mesajlar
16
Alınan Beğeni
2
Ödül Puanları
3
Konum
erzurum
Herkese Senua'dan merhabalar,

Hepinizin bildiği gibi görev ekleme ile ilgili güzel bir rehber hiçbir yerde mevcut değil. Gördüğüm en kapsamlı görev konusu Epvp'deki görev scpritleri paylaşıldığında anlatılan konu idi, ancak onun bile eksikleri vardı. Sizlere elimden geldiğinde tane tane ayrıntılı bir biçimde hazırsanız anlatmaya başlıyorum.

İlk olarak scpritlerden bahsetmek istiyorum. Nedir bu scpritler? Scpritler lua dilinde yazılmış kod parçalarıdır, fonksiyonlarıdır da diyebiliriz. Gameserver'e tanımlanmış lua komutları bu scpritlerin içerisinde aranır ve mevcut komutlar okunarak gameserver tarafından işleme alınır. Scprit olayının genel çalışma mantığı budur. Unutmadan söyleyeyim tanımlanmış çok fantastik komutlar mevcuttur, bunların %80'i mevcut scpitlerde kullanılmamıştır ama aktiflerdir. Bunların ne olduğunu ve neler yapılabileceğini sizin kabiliyetinize bırakıyorum. Her şeyi anlatmayalım değilmi tadı kaçmasın :p

Scpritlerin clean halini bu linkten indirebilirsiniz.
Rar içerisindeki Event klasöründekiler event lua'ları için, Quest klasöründekiler normal quest'ler içindir. @Define.lua genel komutlar için joymax tarafından yapılmış tanımları içermektedir. @Eventlist.lua event lua'larının listesi ve @QuestList.lua ise normal quest lua'larının listesidir. Konu sonuna kadarki tüm işlemleri yaptıktan sonra scprit kalsörümüzdeki bütün .bat uzantılı komutları çalıştırıp .sct uzantılarını serverfiles içerisindeki eski .sct'ler ile değiştireceğiz.

Anlatımda kendi server'imde Roc'a eklediğim görevi kullanacağım. Hadi başlayalım.

1- Görev lua'sı
Ekli dosyayı görüntüle 376

1 numaralı kısım; Görevimizin fonksiyonudur. Bu fonsiyonumuzun ismi _RefQuest'e ekleyeceğimiz satırdaki codename ile aynı olmak zorundadır.
2 numaralı kısım; Görevimizin ID sinin alınmasını sağlayan komuttur. QNO_VENUS_ROC codename'ye sahip görevin ID'si bu komut ile alınır ve işleme konulur. _RefQuest'e ekleyeceğimiz satırdaki codename ile aynı olmak zorundadır.
3 numaralı kısım; Görevimizin başlama koşuludur. QSC_LEVEL, 1,1 li kısımın ilki max level, ikincisi min level şartıdır. 1,1 yaparsanız görev her seviyede kullanılabilir demektir.
4 numaralı kısım; Konuşma penceresi akfif/deaktif, 1 demek aktif demektir.
5 numaralı kısım; Göreve başlama metodu, QM_CONVERSATION konuşma şeklinde demek. 1 sayısı npc'lerin sayısı, ve sonraki kısımda ilgili npc'lerin kodunu göstermektedir.
6 numaralı kısım; Görevi tamamlama npc'si. ve bu npc'nin kodu
7 numaralı kısım; Görevin belireceği npc sayısı ve npc'lerin kodu
8 numaralı kısım; Görevi yapabilme sayısı, 0 demek sınırsız sayıda yapılabilir demek
9 numaralı kısım; Görevin kod kısmındaki veri boyutunun limiti, burada QuestID baz alınmış. 1 sayısı da baz alınan tanım sayısını göstermekte. Burada sadece QuestID baz alındığı için değerimiz 1.
10 numaralı kısım; MISSION_TYPE_GATHER_ITEM_FROM_MONSTER görevin yapılma şekli mob'tan item toplama demek, SN_ ile başlayan bütün kısımlar oyunda görünecek yazılardan bahsetmekte. Bunları konunun ilerisinde media kısmında kullanacağız. NPC'mizin kodu yine burada da var, düşecek itemin kodu ve bu itemden ne kadar toplanması gerektiği 1,1 li kısımda mevcut, 1,20 yaparsak 20 tane toplamamız gerekir. Mob'un kodu ve sondaki 100 rakamı item'in bu mob'tan düşme ihtimali. 100 demek %100 ihtimal demek.
11 numaralı kısım; NPC ve görev penceresindeki konuşma pencerelerinin olduğu kısım
12 numaralı kısım; Görevi yapabilme sayısı, 0 demek sınırsız sayıda yapılabilir demek
13 numaralı kısım; Görev ödüllerinin verilme şekli, 1 demek npc'den açılan pencere ile almak demek.
15 numaralı kısım; Görev ödüllerinin tanımlandığı kısım. İlk baştaki 4 adet sıfır orada olmak zorunda, bu alanda exp, gold, zerk gibi değişik görev ödülleri kullanılıyor. Bundan sonraki kısımda item kodundan önceki 1 sayısı bu itemin ödül olarak aktif olup olmadığını, item kodundan sonraki sayıda bu itemden kaç adet verileceğini belirtiyor.
16 numaralı kısım; Görev ödülü olarak skill point verebilmenin olduğu kısım
17 numaralı kısım; end komutumuz function'ın son bulduğu kısım end olmazsa gameserver lua'mızın hatalı olduğunu söyler ve görevi işleme almaz.

Bundan sonraki database ve media kısımlarında item sayılarımız, QuestID'miz ve görev codename'mizin lua ile tutarlı olması gerektiğini unutmayınız.

2- Database;

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

3- Media;

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.


Konu giderek düzenlenecek ve ayrıntı artırılacaktır.
Göreve tıkladığımda Dc oldu char. Lua da mı hata yaptım tam çözemedim. Yardımcı olur musunuz?

function QNO_ADVANCED_ADV4()
QUESTID = LuaGetQuestID("QNO_ADVANCED_ADV4")
LuaSetStartCodition(2, QSC_QUEST, QSC_LEVEL, 120, 1)
LuaSetDifferentString(1)
QM_CONVERSATION = 1
LuaSetStartMethod(QM_CONVERSATION, 1, "NPC_TQ_TREASUREBOX1")
LuaInsertMissionOrCompleteNpc("NPC_TQ_TREASUREBOX1")
LuaQuestInsertNpc(1, "NPC_TQ_TREASUREBOX1")
LuaSetAchievementLimit(0)
LuaSetMissionDataSize(QUESTID, 1)
LuaSetCollectionItemMissionData(QUESTID, 0, MISSION_TYPE_GATHER_ITEM_FROM_MONSTER, "SN_CON_QNO_ADVANCED_ADV4", 1, "NPC_TQ_TREASUREBOX1", 1, 25, "ITEM_ETC_TREASUREBOX_KEY_CHALLENGE", "MOB_AR_CURSECOLD",100 )
InsertQuestMenuStringList("NPC_TQ_TREASUREBOX1", 8, "BASIC_MENUSTRING_GREETING", "SN_NPC_TQ_TREASUREBOX1_QS", "BASIC_MENUSTRING_REQUEST_ACCEPT_QUEST", "SN_TALK_QNO_ADVANCED_ADV4_01", "BASIC_MENUSTRING_AT_ACCEPT", "SN_TALK_QNO_ADVANCED_ADV4_02", "BASIC_MENUSTRING_AT_DENY", "SN_TALK_QNO_ADVANCED_ADV4_03", "BASIC_MENUSTRING_NOT_ACHIEVED", "SN_TALK_QNO_ADVANCED_ADV4_04", "BASIC_MENUSTRING_ACCEPT_AFTER_ONE_CLEAR", "SN_TALK_QNO_ADVANCED_ADV4_05", "BASIC_MENUSTRING_ACHIEVED", "SN_TALK_QNO_ADVANCED_ADV4_06", "BASIC_MENUSTRING_ACHIEVED_NOW", "SN_TALK_QNO_ADVANCED_ADV4_07")
LuaSetMissionCompleteNum(0)
PAY_ITEM_METHOD_EXACT = 1
LuaSetAchievedItem(0, 0, 0, 0, 1, "ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_WE_RARE_B_12" , 1,1, "ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_SH_RARE_B_12",1)
LuaSetAchievedSkillPont(0)
end
 

Secram

.
Katılım
7 Ocak 2020
Mesajlar
13
Alınan Beğeni
1
Ödül Puanları
3
Konum
adana
Herkese Senua'dan merhabalar,

Hepinizin bildiği gibi görev ekleme ile ilgili güzel bir rehber hiçbir yerde mevcut değil. Gördüğüm en kapsamlı görev konusu Epvp'deki görev scpritleri paylaşıldığında anlatılan konu idi, ancak onun bile eksikleri vardı. Sizlere elimden geldiğinde tane tane ayrıntılı bir biçimde hazırsanız anlatmaya başlıyorum.

İlk olarak scpritlerden bahsetmek istiyorum. Nedir bu scpritler? Scpritler lua dilinde yazılmış kod parçalarıdır, fonksiyonlarıdır da diyebiliriz. Gameserver'e tanımlanmış lua komutları bu scpritlerin içerisinde aranır ve mevcut komutlar okunarak gameserver tarafından işleme alınır. Scprit olayının genel çalışma mantığı budur. Unutmadan söyleyeyim tanımlanmış çok fantastik komutlar mevcuttur, bunların %80'i mevcut scpitlerde kullanılmamıştır ama aktiflerdir. Bunların ne olduğunu ve neler yapılabileceğini sizin kabiliyetinize bırakıyorum. Her şeyi anlatmayalım değilmi tadı kaçmasın :p

Scpritlerin clean halini bu linkten indirebilirsiniz.
Rar içerisindeki Event klasöründekiler event lua'ları için, Quest klasöründekiler normal quest'ler içindir. @Define.lua genel komutlar için joymax tarafından yapılmış tanımları içermektedir. @Eventlist.lua event lua'larının listesi ve @QuestList.lua ise normal quest lua'larının listesidir. Konu sonuna kadarki tüm işlemleri yaptıktan sonra scprit kalsörümüzdeki bütün .bat uzantılı komutları çalıştırıp .sct uzantılarını serverfiles içerisindeki eski .sct'ler ile değiştireceğiz.

Anlatımda kendi server'imde Roc'a eklediğim görevi kullanacağım. Hadi başlayalım.

1- Görev lua'sı
Ekli dosyayı görüntüle 376

1 numaralı kısım; Görevimizin fonksiyonudur. Bu fonsiyonumuzun ismi _RefQuest'e ekleyeceğimiz satırdaki codename ile aynı olmak zorundadır.
2 numaralı kısım; Görevimizin ID sinin alınmasını sağlayan komuttur. QNO_VENUS_ROC codename'ye sahip görevin ID'si bu komut ile alınır ve işleme konulur. _RefQuest'e ekleyeceğimiz satırdaki codename ile aynı olmak zorundadır.
3 numaralı kısım; Görevimizin başlama koşuludur. QSC_LEVEL, 1,1 li kısımın ilki max level, ikincisi min level şartıdır. 1,1 yaparsanız görev her seviyede kullanılabilir demektir.
4 numaralı kısım; Konuşma penceresi akfif/deaktif, 1 demek aktif demektir.
5 numaralı kısım; Göreve başlama metodu, QM_CONVERSATION konuşma şeklinde demek. 1 sayısı npc'lerin sayısı, ve sonraki kısımda ilgili npc'lerin kodunu göstermektedir.
6 numaralı kısım; Görevi tamamlama npc'si. ve bu npc'nin kodu
7 numaralı kısım; Görevin belireceği npc sayısı ve npc'lerin kodu
8 numaralı kısım; Görevi yapabilme sayısı, 0 demek sınırsız sayıda yapılabilir demek
9 numaralı kısım; Görevin kod kısmındaki veri boyutunun limiti, burada QuestID baz alınmış. 1 sayısı da baz alınan tanım sayısını göstermekte. Burada sadece QuestID baz alındığı için değerimiz 1.
10 numaralı kısım; MISSION_TYPE_GATHER_ITEM_FROM_MONSTER görevin yapılma şekli mob'tan item toplama demek, SN_ ile başlayan bütün kısımlar oyunda görünecek yazılardan bahsetmekte. Bunları konunun ilerisinde media kısmında kullanacağız. NPC'mizin kodu yine burada da var, düşecek itemin kodu ve bu itemden ne kadar toplanması gerektiği 1,1 li kısımda mevcut, 1,20 yaparsak 20 tane toplamamız gerekir. Mob'un kodu ve sondaki 100 rakamı item'in bu mob'tan düşme ihtimali. 100 demek %100 ihtimal demek.
11 numaralı kısım; NPC ve görev penceresindeki konuşma pencerelerinin olduğu kısım
12 numaralı kısım; Görevi yapabilme sayısı, 0 demek sınırsız sayıda yapılabilir demek
13 numaralı kısım; Görev ödüllerinin verilme şekli, 1 demek npc'den açılan pencere ile almak demek.
15 numaralı kısım; Görev ödüllerinin tanımlandığı kısım. İlk baştaki 4 adet sıfır orada olmak zorunda, bu alanda exp, gold, zerk gibi değişik görev ödülleri kullanılıyor. Bundan sonraki kısımda item kodundan önceki 1 sayısı bu itemin ödül olarak aktif olup olmadığını, item kodundan sonraki sayıda bu itemden kaç adet verileceğini belirtiyor.
16 numaralı kısım; Görev ödülü olarak skill point verebilmenin olduğu kısım
17 numaralı kısım; end komutumuz function'ın son bulduğu kısım end olmazsa gameserver lua'mızın hatalı olduğunu söyler ve görevi işleme almaz.

Bundan sonraki database ve media kısımlarında item sayılarımız, QuestID'miz ve görev codename'mizin lua ile tutarlı olması gerektiğini unutmayınız.

2- Database;

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.

3- Media;

Rich (BB code):
İçeriği görebilmek için Uye olmanız gerekiyor.


Konu giderek düzenlenecek ve ayrıntı artırılacaktır.
 
AdBlock Detected

Anlıyoruz, reklamlar can sıkıcı!

Elbette, reklam engelleme yazılımı reklamları engellemede harika bir iş çıkarır, ancak aynı zamanda web sitemizin faydalı özelliklerini de engeller. En iyi site deneyimi için lütfen AdBlocker'ınızı devre dışı bırakın.

AdBlock'u Devre Dışı Bıraktım.