Mt2Hizmet 1
Mt2Hizmet
Scarlet 1
Scarlet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Metin2 - Quest önerileriniz.

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

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Dediğim gibi her yerde kendimizi gösteriyoruz millet olarak bir de güzel yönlerimizi ön plana çıkarabilsek ne güzel olacak. Şöyle bir bug'dan da bahsedeyim konusu açılmışken. Bir quest input düşün sadece para çekme ve yatırma için. Adam oraya -9999999 tarzında bir şey yazarak para bugu ortaya çıkarıyor.

Evet bu dediğinle karşılaştım daha önce bir kaç birbirinin benzeri olan questte denk geldim fakat kodlayan kişide bu bug'un oluşması için zemin hazırlamış. Tam denetim sağlamadan kodluyorlar. Bu durumda bu şekilde bugların oluşmasına neden oluyor çoğu zaman. Kodlayan kişi de bana göre dikkat etmeli. En basitinden şöyle örnek vereyim: yaptığım Offline Alışveriş Sistemin'de oyuncu eklediği eşyanın fiyatını güncelleyebiliyor. Tam güncelleme esnasında birisi o eşyayı almaya kalktı ve satan kişi fiyatı 10m yang'dan 50m yanga çekti. Sonra oyuncu eşyayı bir aldı ve 10m gideceği yere 50m yang parası gitmiş. Fakat orada tam alınacağı sırada fiyatının güncellenip güncellenmediğini denetliyorum ve güncellenmişse fiyat güncellenmiştir tekrar satın alınız gibi bir uyarı veriyor. Bu oluşabilecek sorunlardan birine bir örnekti ve bu şekilde çözüm getirdim. Yani emin olun denetlediğim bir çok questte sorunlar mevcut, ayrıntılı kodlanmıyor. Bu da bambaşka sorunlara yol açıyor. Ben de çok düştüm buna zamanında. Hiçbir sorun yokmuş gibi görünürken bir bakıyorsun bug oluşuyor ve nasıl düşünemedim bunu diyor insan. Bence bizler yeteri kadar üstüne düşüp, önlemimizi alalım. Bu noktada en iyi yapılacak şey bu çünkü.
 
Daha iyi fikirler çıkar umarım. Sürekli güncel olarak takip ediyorum bu konuyu ve bende beğendiğim önerileri yazmaya çalışarak arkadaşımıza yardımcı olmaya çalışıyorum. Umarım güzel öneriler çıkar.
 
Şuan bazı serverlerde olan ''Ajan sistemi'' yapılabilir. Sadece lonca savaşına girince lonca liderine yanda görev şeklinde ismi yazılan Oyuncuyu loncadan çıkartıp şehre yollayan bir sistem yazılabilir.

- Sadece lonca savaşında gelecek
- Sadece lonca liderine gelecek
- Lonca savaşı bitince bu yandaki görev kaybolacak

Paylaşılan gelişmiş yönetici panelinde loncadan çıkart fonksiyonu kullanılmış;

Kod:
               elseif yoneticiPanelSecim == 7 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("") 
                    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("") 
                        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("") 
                            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("") 
                                    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("") 
                                    end 
                                elseif loncaCikartSecim == 2 then 
                                    return 
                                end 
                            end 
                        end 
                    end

Oyuncuyu şehre atma fonsiyonuda bir kaç questte kullanışmış örn; ox , arena questleri gibi

Bu şekilde bir sistem yazılabilirmi bilmiyorum ama fikir önerisini paylaşayım.
 
Son düzenleme:

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

Geri
Üst