onur akbaş 1
onur akbaş
IronTalonX 1
IronTalonX
D 1
delimuratt
berzahx 1
berzahx
PrimeAC 1
PrimeAC
DEVLOPER 1
DEVLOPER
ShadowFon 1
ShadowFon
mavzermete 1
mavzermete
romegames 1
romegames
InfernoShade 1
InfernoShade
Fethi Polat 1
Fethi Polat
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı Quest ile npc kodluyorum çalışmıyor

  • Konuyu başlatan Konuyu başlatan MrRED
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 399

MrRED

Level 1
Üye
Katılım
1 Ara 2020
Konular
7
Mesajlar
32
Çözüm
5
Online süresi
2d 8h
Reaksiyon Skoru
7
Altın Konu
0
TM Yaşı
5 Yıl 6 Ay 15 Gün
Başarım Puanı
49
MmoLira
1,225
DevLira
0
Ticaret - 0%
0   0   0

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!

Arkadaşlar ben bi item karşılığı eşya alma üzerine quest yazdım ancak kodu uzatınca ./qc çektikten sonra değişen birşey olmuyor en son çalışır halde ne varsa o haliyle kalıyor ama kodu kısa tutarsam sorun yok

[CODE title="Deneme"]quest deneme_test begin
state start begin
when 30129.chat."Deneme" begin

say_title("Deneme")
say(" ")
say("İç içe çok fazla sorgu olduğunda ")
say("quest çalışmıyor ")

local _goster = select("Seçenekleri Göster","Kapat")
if _goster == 1 then
say_title("Ödüller: ")
say(" ")

local _secenekler = select ("Silahlar", "Zırhlar", "Sandıklar", "Kapat")
if _secenekler == 1 then
say_title("Silahlar")
say("Buradaki esyalar 5 bar degerindedir")

local _silahlar = select ("Zehir Kılıcı", "Kin Kılıcı", "Aslan Kılıcı", "Şeytan Kanadı Çakram", "Havalı Çelik Yay", "Orkide Çan", "Kapat")
if _silahlar == 1 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 2 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("kin Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("kin Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("kin Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 3 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 4 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 5 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 6 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
else
return
end
elseif _secenekler == 2 then
say_title("Zırhlar")
say("Buradaki esyalar 5 bar degerindedir")

local _zirhlar = select("Kraliyet Zırhları", "Gümüş Kraliyet Zırhları", "Altın Kraliyet Zırhları", "Kapat")
if _zirhlar == 1 then
say_title("Kraliyet Zırhları: ")
say(" ")
say(" ")
say_title("Karakterini Seç: ")
local _kro_sec = select ("Savaşçı", "Ninja", "Sura", "Şaman", "Kapat")
if _kro_sec == 1 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _kro_sec == 2 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _kro_sec == 3 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _kro_sec == 4 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
else
return
end
elseif _zirhlar == 2 then
say_title("Gümüş Kraliyet Zırhları: ")
say(" ")
say(" ")
say_title("Karakterini Seç: ")

local _g_kro_sec = select ("Savaşçı", "Ninja", "Sura", "Şaman", "Kapat")
if _g_kro_sec == 1 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _g_kro_sec == 2 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _g_kro_sec == 3 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _g_kro_sec == 4 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
else
return
end
elseif _zirhlar == 3 then
say_title("Altın Kraliyet Zırhları: ")
say(" ")
say(" ")
say_title("Karakterini Seç: ")

local _a_kro_sec = select ("Savaşçı", "Ninja", "Sura", "Şaman", "Kapat")
if _a_kro_sec == 1 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _a_kro_sec == 2 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _a_kro_sec == 3 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _a_kro_sec == 4 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Sav Kro almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Sav Kro Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
else
return
end
else
return
end
elseif _secenekler == 3 then
say_title("Sandıklar")
say(" ")
say("Bar karşılığı sandık mı almak istiyorsun?")
say("Krallar sandığı 55 bar")
say("Kırmızı Ejderha sandığı 11 bar")
say("DrHouse sandığı 5 bar")
say("Azrail sandığı 3 bar")

local _sandiklari_goster = select("Sandıkları Göster", "Kapat")
if _sandiklari_goster == 1 then
say_title("Sandıklar")
say("")
local _sandiklar = select("Krallar Sandığı", "Kırmızı Ejderha Sandığı", "DrHouse Sandığı", "Azrail Sandığı", "Kapat")
if _sandiklar == 1 then
if pc.count_item(80008) < 10 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Krallar Sandığı almak istediğine emin misin?")
say(" ")
say_item(" ",38052,"")
say(" ")
say(" ")
say(" ")

say_title("Krallar Sandığı")
local _al_kral_san = select("Al", "Kapat")
if _al_kral_san == 1 then
pc.remove_item("80008", 1)
pc.give_item2("38052", 1)
chat("Krallar Sandığı Kazandın.")
return
else
return
end
end
elseif _sandiklar == 2 then
if pc.count_item(80008) < 10 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Krallar Sandığı almak istediğine emin misin?")
say(" ")
say_item(" ",38052,"")
say(" ")
say(" ")
say(" ")

say_title("Krallar Sandığı")
local _al_kral_san = select("Al", "Kapat")
if _al_kral_san == 1 then
pc.remove_item("80008", 1)
pc.give_item2("38052", 1)
chat("Krallar Sandığı Kazandın.")
return
else
return
end
end
elseif _sandiklar == 3 then
if pc.count_item(80008) < 10 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Krallar Sandığı almak istediğine emin misin?")
say(" ")
say_item(" ",38052,"")
say(" ")
say(" ")
say(" ")

say_title("Krallar Sandığı")
local _al_kral_san = select("Al", "Kapat")
if _al_kral_san == 1 then
pc.remove_item("80008", 1)
pc.give_item2("38052", 1)
chat("Krallar Sandığı Kazandın.")
return
else
return
end
end
elseif _sandiklar == 4 then
if pc.count_item(80008) < 10 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Krallar Sandığı almak istediğine emin misin?")
say(" ")
say_item(" ",38052,"")
say(" ")
say(" ")
say(" ")

say_title("Krallar Sandığı")
local _al_kral_san = select("Al", "Kapat")
if _al_kral_san == 1 then
pc.remove_item("80008", 1)
pc.give_item2("38052", 1)
chat("Krallar Sandığı Kazandın.")
return
else
return
end
end
else
return
end
else
return
end

else
return
end

else
return
end


end
end
end [/CODE]


Bu yazmaya çalıştığım kodun taslağı gibi birşey. Neredeyse aynı kod. Kodları defalarca satır satır inceledim kodda hata yok.
Buradaki örnekte sadece silahlar kısmını eklersem yani şu şekilde ;
[CODE title="Deneme"]quest deneme_test begin
state start begin
when 30129.chat."Deneme" begin

say_title("Deneme")
say(" ")
say("İç içe çok fazla sorgu olduğunda ")
say("quest çalışmıyor ")


say_title("Silahlar")
say("Buradaki esyalar 5 bar degerindedir")

local _silahlar = select ("Zehir Kılıcı", "Kin Kılıcı", "Aslan Kılıcı", "Şeytan Kanadı Çakram", "Havalı Çelik Yay", "Orkide Çan", "Kapat")
if _silahlar == 1 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 2 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("kin Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("kin Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("kin Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 3 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 4 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 5 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
elseif _silahlar == 6 then
if pc.count_item(80008) < 5 then
say("Bar yetersiz daha sonra tekrar dene.")
return
else
say_title("Zehir Kılıcı almak istediğine emin misin?")
say(" ")
say_item(" ",189,"")
say(" ")
say(" ")
say(" ")

local _al = select("Zehir Kılıcı Al", "Kapat")
if _al == 1 then
pc.remove_item("80008", 1)
pc.give_item2("189", 1)
chat("Zehir Kılıcı Kazandın.")
return
else
return
end
end
else
return
end


end
end
end [/CODE]

Bu şekilde yazdığımda yani sadece silahları veya sadece zırhları yada sadece sandıkları yazınca sorunsuz çalışıyor ancak silahlar gibi zırhları da seçenek olarak eklediğimde zırhlar seçeneğinin içini doldurmasam bile sadece bi tane say(" ") komutu bile yazsam en basit olarak quest ./qc deneme.quest yaptığımda putty den hata vermiyor ancak object klasöründe npc nin klasörüne baktığımda değişen birşey yok locale/turkey/quest e attığımı kontrol ediyorum sorun yok ama object altındaki klasörde değişiklik olmuyor. oyunda reload q çekiyorum değişen birşey yok reboot deniyorum değişen birşey yok ne bi syser ne bi hata ama çalışmıyor.
Umarım sıkıntımı anlatabilmişimdir.
 
Çözüm
Ticaret - 0%
0   0   0
Sorunum kendi tarafımdan çözüme ulaşmıştır. Aslında hatamın çok basit ama dikkat edilmesi gereken bi yazılım hatası olduğunu fark ettim.
Kodları yazarken türkçe karakterler ile biten tırnak içi kelimelerde boşluk bırakmam gerekiyordu. Örnek olarak;
local _silahlar = select ("Zehir Kılıcı", "Kin Kılıcı", "Aslan Kılıcı", "Şeytan Kanadı Çakram", "Havalı Çelik Yay", "Orkide Çan", "Kapat")
bu satırda "Zehir Kılıcı" yazarken türkçe karakter ı ile bitiyor ı harfinden sonra boşluk bıraktığımda sorun çözülmüş oldu. Doğrusu şu şekilde olmalı;
local _silahlar = select ("Zehir Kılıcı ", "Kin Kılıcı ", "Aslan Kılıcı ", "Şeytan Kanadı Çakram", "Havalı Çelik Yay", "Orkide Çan", "Kapat")
sadece türkçe karakter ile biten kelimelerde boşluk bırakmak...
Sorunum kendi tarafımdan çözüme ulaşmıştır. Aslında hatamın çok basit ama dikkat edilmesi gereken bi yazılım hatası olduğunu fark ettim.
Kodları yazarken türkçe karakterler ile biten tırnak içi kelimelerde boşluk bırakmam gerekiyordu. Örnek olarak;
local _silahlar = select ("Zehir Kılıcı", "Kin Kılıcı", "Aslan Kılıcı", "Şeytan Kanadı Çakram", "Havalı Çelik Yay", "Orkide Çan", "Kapat")
bu satırda "Zehir Kılıcı" yazarken türkçe karakter ı ile bitiyor ı harfinden sonra boşluk bıraktığımda sorun çözülmüş oldu. Doğrusu şu şekilde olmalı;
local _silahlar = select ("Zehir Kılıcı ", "Kin Kılıcı ", "Aslan Kılıcı ", "Şeytan Kanadı Çakram", "Havalı Çelik Yay", "Orkide Çan", "Kapat")
sadece türkçe karakter ile biten kelimelerde boşluk bırakmak yeterli türkçe karakter ile başlamasının bir sorunu yok.
 
Çözüm

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

Geri
Üst