Yardım questi oyuna entegre etme

  • Konuyu açan Konuyu açan mnyk2070
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 8
  • Gösterim Gösterim 556
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

mnyk2070

MT Üye
MT Üye
Editör
Mesaj
394
Çözümler
11
Beğeni
131
Puan
499
Ticaret Puanı
0
iyi günler arkadaşlar bir sorum var şimdi ben bi files kurdum bu fileste quest bölümünde gm yönetim paneli var fakat hiç bir şekilde bulamıyorum oyuniçinde
kodu yazıyorum
Kod:
Genişlet Daralt Kopyala
quest gelismis_gm_sistemi begin
        state start begin
        when letter with pc.get_gm_level() == 3 or pc.get_gm_level() == 4 begin
        send_letter ("GM Paneli")
        end
        when info or button with pc.get_gm_level() == 3 or pc.get_gm_level() == 4 begin
            uyariO = "Bilgilendirme:"
            uyariOL = "Uyarı:"
            yoneticiIsim = pc.get_name()
            if not pc.get_gm_level() == 3 or not pc.get_gm_level() == 4 then
                syschat("Bu sistem sadece oyun yetkililerine özeldir.")
                return
            end
            yoneticiSecim = select("Yönetim Paneli","Kapat")
            if yoneticiSecim == 1 then
                yoneticiPanelIslemler = {
                    "İmparatorluk Değiştir",
                    "Cinsiyet Değiştir",
                    "Oyuncuyu Sustur",
                    "Hesabı Kapat",
                    "Derece Değiştir",
                    "Loncadan Çıkart",
                    "Statü Sıfırla",
                }
                yoneticiPanelIslemlerSay = tonumber(table.getn(yoneticiPanelIslemler))
                yoneticiPanelIslemler[yoneticiPanelIslemlerSay + 1] = "Kapat"
                yoneticiPanelSecim = select_table(yoneticiPanelIslemler)
                if yoneticiPanelSecim == 1 then
                    say_title(uyariO)
                    say("")
                    say("Merhaba yönetici, "..yoneticiIsim)
                    say("Buradan oyuncunun imparatorluğunu değiştirebilirsin.")
                    say("")
                    say_reward("İmparatorluğunu değiştirmek istediğin kişinin ismini gir: ")
                    imparatorDegistirmeIsim = input()
                    oyuncuAra = find_pc_by_name(imparatorDegistirmeIsim)
                    if oyuncuAra == 0 then
                        say_title(uyariOL)
                        say("")
                        say_reward("Oyuncu bulunamadı.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    else
                        o_id = pc.select(oyuncuAra)
                            oyuncuImparatorluk = pc.get_empire()
                            if oyuncuImparatorluk == 1 then
                                oyuncuImp = "Shinsoo"
                            elseif oyuncuImparatorluk == 2 then
                                oyuncuImp = "Chunjo"
                            elseif oyuncuImparatorluk == 3 then
                                oyuncuImp = "Jinno"
                            end
                        pc.select(o_id)
                        say_title(uyariO)
                        say("")
                        say("Oyuncunun imparatorluk bilgileri: ")
                        say("")
                        say_reward("Oyuncunun şuan ki imparatorluğu: "..oyuncuImp)
                        say("")
                        imparatorlukSecim = select("Shinsoo","Chunjo","Jinno","Kapat")
                        if imparatorlukSecim == 1 then
                            oyuncuAra_y = find_pc_by_name(imparatorDegistirmeIsim)
                            if oyuncuAra_y != 0 then
                                o_id_y = pc.select(oyuncuAra_y)
                                    pc.change_empire(1)
                                    syschat("Sistem: İmparatorluğunuz yönetici tarafından değiştirilmiştir.")
                                    warp_to_village(pc.get_map_index())
                                pc.select(o_id_y)
                                say_title(uyariO)
                                say("")
                                say("Oyuncunun imparatorluğu başarı ile değiştirildi.")
                                send_letter ("Yönetim Paneli")
                            else
                                say_title(uyariOL)
                                say("")
                                say_reward("Oyuncu oyunda bulunamadı.")
                                say("")
                                send_letter ("Yönetim Paneli")
                            end
                        elseif imparatorlukSecim == 2 then
                            oyuncuAra_y = find_pc_by_name(imparatorDegistirmeIsim)
                            if oyuncuAra_y != 0 then
                                o_id_y = pc.select(oyuncuAra_y)
                                    pc.change_empire(2)
                                    syschat("Sistem: İmparatorluğunuz yönetici tarafından değiştirilmiştir.")
                                    warp_to_village(pc.get_map_index())
                                pc.select(o_id_y)
                                say_title(uyariO)
                                say("")
                                say("Oyuncunun imparatorluğu başarı ile değiştirildi.")
                                send_letter ("Yönetim Paneli")
                            else
                                say_title(uyariOL)
                                say("")
                                say_reward("Oyuncu oyunda bulunamadı.")
                                say("")
                                send_letter ("Yönetim Paneli")
                            end
                           
                        elseif imparatorlukSecim == 3 then
                            oyuncuAra_y = find_pc_by_name(imparatorDegistirmeIsim)
                            if oyuncuAra_y != 0 then
                                o_id_y = pc.select(oyuncuAra_y)
                                    pc.change_empire(3)
                                    syschat("Sistem: İmparatorluğunuz yönetici tarafından değiştirilmiştir.")
                                    warp_to_village(pc.get_map_index())
                                pc.select(o_id_y)
                                say_title(uyariO)
                                say("")
                                say("Oyuncunun imparatorluğu başarı ile değiştirildi.")
                                send_letter ("Yönetim Paneli")
                            else
                                say_title(uyariOL)
                                say("")
                                say_reward("Oyuncu oyunda bulunamadı.")
                                say("")
                                send_letter ("Yönetim Paneli")
                            end
                           
                        elseif imparatorlukSecim == 4 then
                            return
                        end
                    end
                elseif yoneticiPanelSecim == 2 then
                    say_title(uyariO)
                    say("")
                    say("Merhaba yönetici, "..yoneticiIsim)
                    say("Buradan oyuncunun cinsiyetini değiştirebilirsiniz.")
                    say("")
                    say_reward("Cinsyetini değiştirmek istediğin oyuncunun ismini gir: ")
                    cinsiyetOyuncuIsim = input()
                    cinsiyetOyuncuIsimAra = find_pc_by_name(cinsiyetOyuncuIsim)
                    if cinsiyetOyuncuIsimAra == 0 then
                        say_title(uyariOL)
                        say("")
                        say_reward("Oyuncu bulunamadı.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    else
                        cinsiyetOyuncuDizi = {}
                        cinsiyet_oyuncu_id = pc.select(cinsiyetOyuncuIsimAra)
                            if pc.is_married() then
                                cinsiyetOyuncuDizi[1] = 0
                            else
                                pc.change_sex()
                                syschat("Sistem: Cinsiyetiniz yönetici tarafından değiştirilmiştir.")
                                warp_to_village(pc.get_map_index())
                            end
                        pc.select(cinsiyet_oyuncu_id)
                        if cinsiyetOyuncuDizi[1] == 0 then
                            say_title(uyariOL)
                            say("")
                            say_reward("Oyuncu evli olduğu için cinsiyeti değiştirilemedi.")
                            say("")
                            send_letter ("Yönetim Paneli")
                        else
                            say_title(uyariO)
                            say("")
                            say("Oyuncunun cinsiyeti başarı ile değiştirilmiştir.")
                            say("")
                            send_letter ("Yönetim Paneli")
                        end
                    end
                elseif yoneticiPanelSecim == 3 then
                    say_title(uyariO)
                    say("")
                    say("Merhaba yönetici, "..yoneticiIsim)
                    say("Buradan dilediğin oyuncuyu susturabilirsin.")
                    say("")
                    say_reward("Susturmak istediğin oyuncunun ismini gir: ")
                    susturmaOyuncuIsim = input()
                    susturmaOyuncuIsimAra = find_pc_by_name(susturmaOyuncuIsim)
                    if susturmaOyuncuIsimAra == 0 then
                        say_title(uyariOL)
                        say("")
                        say_reward("Oyuncu bulunamadı.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    else
                        say_title(uyariO)
                        say("")
                        say_reward("Susturma nedeninizi giriniz: ")
                        susturmaOyuncuNeden = input()
                        if susturmaOyuncuNeden == "" then
                            say_title(uyariOL)
                            say("")
                            say_reward("Susturma nedeni boş olamaz. İşlem iptal edildi.")
                            say("")
                            send_letter ("Yönetim Paneli")
                        else
                            say_title(uyariO)
                            say("")
                            say_reward("Susturmak istediğiniz süreyi giriniz:[ENTER](Süre dakika cinsindendir.)")
                            oyuncuSusturmaSure = tonumber(input())
                            if oyuncuSusturmaSure == nil or oyuncuSusturmaSure == "" or oyuncuSusturmaSure < 1 then
                                say_title(uyariOL)
                                say("")
                                say_reward("Geçersiz giriş yapıldı. İşlem iptal edildi.")
                                say("")
                                send_letter ("Yönetim Paneli")
                            else
                                susturmaOyuncuIsimAra_y = find_pc_by_name(susturmaOyuncuIsim)
                                if susturmaOyuncuIsimAra_y == 0 then
                                    say_title(uyariOL)
                                    say("")
                                    say_reward("Oyuncu bulunamadı.")
                                    say("")
                                    send_letter ("Yönetim Paneli")
                                else
                                    command("block_chat "..susturmaOyuncuIsim.." "..oyuncuSusturmaSure*(60))
                                    susturma_oyuncu_id = pc.select(susturmaOyuncuIsimAra_y)
                                        syschat("Sistem: Karakteriniz yönetici tarafından "..oyuncuSusturmaSure.." dakika susturulmuştur.")
                                        syschat("Sistem: Susturulma nedeni: "..susturmaOyuncuNeden)
                                    pc.select(susturma_oyuncu_id)
                                    say_title(uyariO)
                                    say("")
                                    say("Oyuncu başarı ile susturulmuştur.")
                                    say("")
                                    send_letter ("Yönetim Paneli")
                                end
                            end
                        end
                    end
                elseif yoneticiPanelSecim == 4 then
                    say_title(uyariO)
                    say("")
                    say("Merhaba yönetici, "..yoneticiIsim)
                    say("Buradan oyuncunun hesabını süreli ya da süresiz[ENTER]kapatabilirsin.")
                    say("")
                    say_reward("Hesabını kapatmak istediğin oyuncunun ismini gir: ")
                    hesapKapatmaOyuncuIsim = input()
                    oyuncuIdKontrol = mysql_query("select * from player.player where name='"..hesapKapatmaOyuncuIsim.."'")
                    oyuncuIdKontrolSay = tonumber(table.getn(oyuncuIdKontrol))
                    if oyuncuIdKontrolSay < 1 then
                        say_title(uyariOL)
                        say("")
                        say_reward("Oyuncu bulunamadı.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    else
                        hesapKapatmaDizi = {}
                        hesapKapatmaDizi[1] = oyuncuIdKontrol.account_id[1]
                        oyuncuHesapId = hesapKapatmaDizi[1]
                        say_title(uyariO)
                        say("")
                        say_reward("Hesabı ne kadar kapatmak istiyorsunuz?[ENTER](Süresiz kapatmak istiyorsanız 0 yazın.[ENTER](Süre dakika cinsindendir. 1 yazarsanız 1 dakika kapatır.) ")
                        hesapKapatmaSure = tonumber(input())
                        if hesapKapatmaSure == nil or hesapKapatmaSure == "" or hesapKapatmaSure < 0 then
                            say_title(uyariOL)
                            say("")
                            say_reward("Geçersiz giriş yaptınız. İşlemler sıfırlandı.")
                            say("")
                            send_letter ("Yönetim Paneli")
                        else
                            if hesapKapatmaSure == 0 then
                                hesapSuresizKapandi = mysql_query("UPDATE account.account SET status='BLOCK' where id='"..oyuncuHesapId.."'")
                                if hesapSuresizKapandi then
                                    say_title(uyariO)
                                    say("")
                                    say("Hesap süresiz olarak başarıyla kapatıldı.")
                                    say("")
                                    send_letter ("Yönetim Paneli")
                                end
                            else
                                hesapSureliKapatildi = mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL "..hesapKapatmaSure.." MINUTE where id='"..oyuncuHesapId.."'")
                                if hesapSureliKapatildi then
                                    say_title(uyariO)
                                    say("")
                                    say("Hesap süreli şekilde başarı ile kapatıldı.")
                                    say("")
                                    send_letter ("Yönetim Paneli")
                                end
                            end
                        end
                       
                    end
                elseif yoneticiPanelSecim == 5 then
                    say_title(uyariO)
                    say("")
                    say("Merhaba yönetici, "..yoneticiIsim)
                    say("Buradan oyuncuların derece puanını değiştirebilirsin.")
                    say("")
                    say_reward("Derecesini değiştirmek istediğin oyuncunun ismini gir: ")
                    dereceDegistirIsim = input()
                    dereceDegistirIsimAra = find_pc_by_name(dereceDegistirIsim)
                    if dereceDegistirIsimAra == 0 then
                        say_title(uyariOL)
                        say("")
                        say_reward("Oyuncu bulunamadı.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    else
                        dereceDegistirDizi = {}
                        derece_oyuncu_id = pc.select(dereceDegistirIsimAra)
                            dereceDegistirDizi[1] = pc.get_alignment()
                        pc.select(derece_oyuncu_id)
                        say_title(uyariO)
                        say("")
                        say_reward("Oyuncunun derece puanı: "..dereceDegistirDizi[1])
                        say("")
                        say_reward("Eklenecek ya da çıkarılacak derece mikarını girin:[ENTER](Derece azaltmak için miktarın başına - koyun.)")
                        guncellenecekDerece = tonumber(input())
                        if guncellenecekDerece == nil or guncellenecekDerece == "" or guncellenecekDerece > 20000 or guncellenecekDerece < -20000 then
                            say_title(uyariOL)
                            say("")
                            say_reward("Geçersiz giriş yapıldı. İşlemler sıfırlandı.")
                            say("")
                            send_letter ("Yönetim Paneli")
                        else
                            dereceDegistirIsimAra_y = find_pc_by_name(dereceDegistirIsim)
                            if dereceDegistirIsimAra_y == 0 then
                                say_title(uyariOL)
                                say("")
                                say_reward("Oyuncu bulunamadı.")
                                send_letter ("Yönetim Paneli")
                            else
                                o_derece_id_y = pc.select(dereceDegistirIsimAra_y)
                                    oyuncuSuankiDerece = pc.get_alignment()
                                    if (guncellenecekDerece+oyuncuSuankiDerece) > 20000 then
                                        dereceDegistirDizi[2] = 0
                                    elseif (guncellenecekDerece+oyuncuSuankiDerece) < -20000 then
                                        dereceDegistirDizi[2] = 1
                                    else
                                        if guncellenecekDerece < 0 then
                                            dereceDegistirDizi[2] = 2
                                            pc.change_alignment(guncellenecekDerece)
                                            syschat("Sistem: Hesabınızdan yönetici tarafından "..genel_veri(guncellenecekDerece).." derece azaltılmıştır.")
                                        else
                                            dereceDegistirDizi[2] = 2
                                            pc.change_alignment(guncellenecekDerece)
                                            syschat("Sistem: Hesabınıza yönetici tarafından "..genel_veri(guncellenecekDerece).." derece aktarılmıştır.")
                                        end
                                    end
                                pc.select(o_derece_id_y)
                                if dereceDegistirDizi[2] == 0 then
                                    say_title(uyariOL)
                                    say("")
                                    say_reward("Yüklediğiniz derece ile oyuncunun derece sınırı aşıyor.[ENTER]İşlem iptal edildi.")
                                    say("")
                                    send_letter ("Yönetim Paneli")
                                elseif dereceDegistirDizi[2] == 1 then
                                    say_title(uyariOL)
                                    say("")
                                    say_reward("Azaltığınız derece ile oyuncunun derecesi sınırı aşıyor.[ENTER]İşlem iptal edildi.")
                                    say("")
                                    send_letter ("Yönetim Paneli")
                                elseif dereceDegistirDizi[2] == 2 then
                                    say_title(uyariO)
                                    say("")
                                    say("Derece işlemi başarı ile gerçekleşmiştir.")
                                    say("")
                                    send_letter ("Yönetim Paneli")
                                end
                            end
                        end
                    end
                elseif yoneticiPanelSecim == 6 then
                    say_title(uyariO)
                    say("")
                    say("Merhaba yönetici, "..yoneticiIsim)
                    say("Buradan oyuncuyu loncadan çıkartabilirsin.")
                    say("")
                    say_reward("Loncadan çıkartmak istediğin oyuncunun ismini gir: ")
                    loncadanCikIsim = input()
                    loncadanCikIdKontrol = mysql_query("select * from player.player where name='"..loncadanCikIsim.."'")
                    loncadanCikIdKontrolSay = tonumber(table.getn(loncadanCikIdKontrol))
                    if loncadanCikIdKontrolSay < 1 then
                        say_title(uyariOL)
                        say("")
                        say_reward("Oyuncu bulunamadı.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    else
                        loncadanCikOyuncuId = loncadanCikIdKontrol.id[1]
                        loncaKontrol = mysql_query("select * from player.guild_member where pid='"..loncadanCikOyuncuId.."'")
                        loncaKontrolSay = tonumber(table.getn(loncaKontrol))
                        --say(loncaKontrolSay)
                        if loncaKontrolSay < 1 then
                            say_title(uyariOL)
                            say("")
                            say_reward("Oyuncu herhangi bir loncada değil.")
                            say("")
                            send_letter ("Yönetim Paneli")
                        else
                            oyuncuLoncaId = loncaKontrol.guild_id[1]
                            loncaIsimKontrol = mysql_query("select * from player.guild where id='"..oyuncuLoncaId.."'")
                            loncaIsimKontrolSay = tonumber(table.getn(loncaIsimKontrol))
                            if loncaIsimKontrolSay < 1 then
                                say_title(uyariOL)
                                say("")
                                say_reward("Oyuncunun loncası kapatılmıştır. Oyuncu şuan loncada değil.")
                                say("")
                                send_letter ("Yönetim Paneli")
                            else
                                oyuncuLoncaIsmi = loncaIsimKontrol.name[1]
                                say_title(uyariO)
                                say("")
                                say_reward("Oyuncunun bulunduğu lonca: "..oyuncuLoncaIsmi)
                                say("")
                                say_reward("Ne yapmak istiyorsun?")
                                say("")
                                loncaCikartSecim = select("Loncadan Çikart","Kapat")
                                if loncaCikartSecim == 1 then
                                    loncadanCikartOyuncuAra = find_pc_by_name(loncadanCikIsim)
                                    if loncadanCikartOyuncuAra == 0 then
                                        say_title(uyariOL)
                                        say("")
                                        say_reward("Oyuncu bulunamadı.")
                                        say("")
                                        send_letter ("Yönetim Paneli")
                                    else
                                        loncadanCik_id = pc.select(loncadanCikartOyuncuAra)
                                            pc.remove_from_guild()
                                            syschat("Sistem: Oyun yöneticisi tarafından loncadan çıkartıldınız.")
                                            warp_to_village(pc.get_map_index())
                                        pc.select(loncadanCik_id)
                                        say_title(uyariO)
                                        say("")
                                        say("Oyuncu loncadan başarı ile çıkartıldı.")
                                        say("")
                                        send_letter ("Yönetim Paneli")
                                    end
                                elseif loncaCikartSecim == 2 then
                                    return
                                end
                            end
                        end
                    end
                elseif yoneticiPanelSecim == 7 then
                    say_title(uyariO)
                    say("")
                    say("Merhaba yönetici, "..yoneticiIsim)
                    say("Buradan oyuncunun statüsünü sıfırlayabilirsin.")
                    say("")
                    say_reward("Statüsünü sıfırlamak istediğin oyuncunun ismini gir: ")
                    statuSifirlaIsim = input()
                    statuSifirlaIsimAra = find_pc_by_name(statuSifirlaIsim)
                    if statuSifirlaIsimAra == 0 then
                        say_title(uyariOL)
                        say("")
                        say_reward("Oyuncu bulunamadı.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    else
                        statu_id = pc.select(statuSifirlaIsimAra)
                            char_log(0,"RESET_ALL","RESET_STAT_POINTS")
                            pc.reset_point()
                            char_log( 0,"RESET_ALL","RESET_END")
                            syschat("Sistem: Statünüz oyun yöneticisi tarafından sıfırlanmıştır.")
                        pc.select(statu_id)
                        say_title(uyariO)
                        say("")
                        say("Oyuncunun statüsü başarı ile sıfırlanmıştır.")
                        say("")
                        send_letter ("Yönetim Paneli")
                    end
                elseif yoneticiPanelSecim == 8 then
                    return
                end -- bana lazım olan end
            elseif yoneticiSecim == 2 then
                return
            end
        end   
       
        function dropKontrol(gelen_drop_bilgisi)
            dropBilgisi = gelen_drop_bilgisi
            if dropBilgisi == nil or dropBilgisi == "" or dropBilgisi < 1 then
                return false
            else
                return true
            end
        end
    end
end
mesela buna oyun içinde nasıl erişebilirim bu ve buna benzer questler içinde aynı soruyu soruyorum
 
(1: Player, 2: LOW_WIZARD, 3: GOD, 4: HIGH_WIZARD, 5: IMPLEMENTOR)
sizin yetkiniz IMPLEMENTOR oldugu için gözükmüyor ordaki sayıyı 5 yapabilirsiniz
 
teşekkür ederim deneyeceğim mesela başlangıçta sadece karaktere özel yazı yazmasını istiyorum şunun gibi

Kod:
Genişlet Daralt Kopyala
when button or info begin
        say_title("Oyun Hakkında: ")
        say("")
        say("Artık icraat zamanı. Kılıcın keskin, yüreğin pek, ")
        say("atın yağız, yayın gergin, bahtın açık olsun. ")
        say("Hoş vakit geçirmen dileğiyle. ")
        say("")
        say_reward("KUNT2")
        say("")
        set_state("baslangictamam")
    end
end
    state baslangictamam begin
    end
end

fakat oyunda gözükmüyor
 
Quest Yazma Dersleri burdan quest kodlamaya bakabilirsiniz
örnek bir başlangıç için
quest questadı begin
state start begin
when button or info begin kullanılması gerek
 
Başlangıçta item vereb give_basic_weapon quest dosyasına notice(“şebnem özellikleri sınırsız verildi”) şeklinde yazarsanız sadece o oyuncu görecek. Yada direk quest penceresinde say(“”) ile yazdırabilirsiniz
 
  1. say("Artık icraat zamanı. Kılıcın keskin, yüreğin pek, ")
  2. say("atın yağız, yayın gergin, bahtın açık olsun. ")
  3. say("Hoş vakit geçirmen dileğiyle. ")
mesela bunlar yazılı fakat göstermiyor
 
button or info kullanırsanız sadece sol tarafta çıkan quest ikonlarına tıkladığınızda çalışın.
Onları when login içine yazmayı deneyebilirsiniz
 
Üst