E-Posta Sistemi

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 287

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhabalar,

Bu konuda da E-Posta Sistemini paylaşacağım sizinle.

İlk olarak her oyuncunun E-Posta kutusu bu şekilde görünecektir.

Xvq1EO.jpg
[/CENTER]

Daha sonra mesaj geldiğinde aşağıdaki gibi olacaktır:

Wn9vMP.gif


İşlemleri veritabanı üzerinden yapacağız. İlk olarak eğer sunucunuzda MySQL kodları çalışmıyor ise "questing.lua" nın en altına aşağıdaki fonksiyonu ekleyin:


MYSQL FONKSİYONU:
Kod:
mysql_query10 = function(query)     if not pre then         local rt = io.open('CONFIG','r'):read('*all')         pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')     end     math.randomseed(os.time())     local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}     --os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi) -- für MySQL51     os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- für MySQL55     for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi);     for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)         out[i-1]               = out[i-1] or {}         out[i-1][a]            = tostring(b) or b or 'NULL'         out[t[1][a]]           = out[t[1][a]] or {}         out[t[1][a]][i-1]      = tostring(b) or b or 'NULL'     end) end     return out end

Şimdi "quest_functions" dosyamızı açalım ve "mysql_query10" var mı yok mu kontrol edelim. Eğer yoksa en alta "mysql_query10" kodunu ekleyelim. Burası ile de işimiz bitti.

Daha sonra kullanacağımız veritabanı dosyasını indiriyoruz.



MySQL dosyalarını "player" veritabanına ekliyoruz. Herhangi bir işlem yapmanıza gerek yok. (REBOOT atmanıza gerek yok eklemeyi yaptıktan sonra)


Şimdi bir işlem daha yapmamız gerekiyor. "Player" tablosuna aşağıdaki gibi sağ tıklayıp "Design Table" diyoruz.

3DzD30.jpg


Daha sonra "eposta_durum" ve "eposta_gelen" adında 2 adet sütun ekliyoruz veritabanımıza.

RYDY47.jpg


Kaydedip çıkabilirsiniz daha sonra. Reboot atmanıza gerek yok!


Şimdi lua(quest) dosyalarımızı oluşturalım.

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


Kod:
quest eposta_sistemi begin state start begin when login begin local karakter_id = pc.get_player_id() loop_timer("eposta_kontrol",1) pc.setqf("eposta_var",0) end when eposta_kontrol.timer begin local karakter_id = tonumber(pc.get_player_id()) local karakter_isim = pc.get_name() local gelen_mesaj = mysql_query10("select * from player.eposta where alan_id='"..karakter_id.."' and alan_isim='"..karakter_isim.."' and okundu_mu='0' ") local gelen_mesaj_kactane = tonumber(table.getn(gelen_mesaj)) if pc.getqf("eposta_var") == 0 and gelen_mesaj_kactane > 0 then send_letter("E-Posta("..gelen_mesaj_kactane..")") pc.setqf("eposta_var",1) elseif pc.getqf("eposta_var") == 1 and gelen_mesaj_kactane > 0 then send_letter(" ") pc.setqf("eposta_var",0) else send_letter("E-Posta("..gelen_mesaj_kactane..")") end end when letter begin local karakter_id = tonumber(pc.get_player_id()) local karakter_isim = pc.get_name() local gelen_mesaj = mysql_query10("select * from player.eposta where alan_id='"..karakter_id.."' and alan_isim='"..karakter_isim.."' and okundu_mu='0' ") local gelen_mesaj_kactane = tonumber(table.getn(gelen_mesaj)) send_letter("E-Posta("..gelen_mesaj_kactane..")") end when info or button begin local karakter_id = pc.get_player_id() local karakter_isim= pc.get_name() local eposta = select("E-Posta Gönder","E-Posta Kontrol","Yönetici E-Posta Kontrol","E-Posta Alım","Kapat") if eposta == 1 then say_title("Bilgilendirme:") say("") say("Merhaba "..karakter_isim) say("E-Posta sistemine hoş geldin.") say("") say_reward("Devam etmek istiyor musun?") say("") local eposta_gonderme = select("Evet","Hayır") if eposta_gonderme == 1 then say_title("Bilgilendirme:") say("") say("E-Posta karakter ismine göre gönderilmektedir.") say("Karakter ismi dışında herhangi bir şey girerseniz E-Postanız yollanmayacaktır.") say("") say_reward("E-Posta yollayacağınız karakter adını giriniz:") local eposta_gonderilen = tostring(input()) if eposta_gonderilen == "" then say_title("Uyarı:") say("") say_reward("Bu alanı boş bırakamazsınız, tekrar deneyin.") say("") else local gonderilen_kisi_bilgiler = mysql_query10("select * from player.player") local kac_kisi_var = tonumber(table.getn(gonderilen_kisi_bilgiler)) local i = 1 while i <= kac_kisi_var do local gonderilen_kisi_isim = tostring(gonderilen_kisi_bilgiler.name[i]) if eposta_gonderilen == gonderilen_kisi_isim then    local gonderilen_kisi_kontrol = mysql_query10("select * from player.player where name= '"..eposta_gonderilen.."'") pc.setqf("eposta_durum",gonderilen_kisi_kontrol.eposta_durum[1]) pc.setqf("eposta_gelen",gonderilen_kisi_kontrol.eposta_gelen[1]) local kisi_kontrol_id = gonderilen_kisi_kontrol.id[1] local kisi_kontrol_isim = gonderilen_kisi_kontrol.name[1] if pc.getqf("eposta_durum") == 1 then  say_title("Bilgilendirme:") say("") say("E-Posta gönderme bölümüne hoş geldin, "..karakter_isim) say("") say_reward("Aşağıya yollamak istediğin mesajı gir:") local giden_mesaj = tostring(input()) if giden_mesaj == "" then say_title("Uyarı:") say("") say_reward("Mesaj kısmını boş bırakamazsınız! Tekrar deneyin.") say() else --------------------- Mesaj Gönderilecek local tarih_saat = os.date("%x").." "..os.date("%X") local eposta_ekle = mysql_query10("insert into eposta(gonderen_id,gonderen_isim,alan_id,alan_isim,mesaj,tarih_saat) values('"..karakter_id.."','"..karakter_isim.."','"..kisi_kontrol_id.."','"..kisi_kontrol_isim.."','"..giden_mesaj.."','"..tarih_saat.."')") if eposta_ekle then mysql_query10("UPDATE  player.player SET eposta_gelen = eposta_gelen + 1 where id= '"..kisi_kontrol_id.."' and name='"..kisi_kontrol_isim.."'") say_title("Bilgilendirme:") say("") say(karakter_isim..", mesajınız "..kisi_kontrol_isim.." isimli oyuncuya başarı ile[ENTER]iletilmiştir.") say("") else say_title("Uyarı:") say("") say_reward("Mesajınız gönderilemedi, tekrar deneyiniz!") end ---------------------- END  end else say_title("Uyarı:") say("") say_reward("Bu kişi E-Posta alımlarını kapatmıştır.[ENTER]Mesaj gönderemezsiniz!") say("") end break elseif i == kac_kisi_var then say_title("Uyarı:") say("") say_reward("Aradığınız kişi oyunumuzda kayıtlı değildir.") say("") break end i = i + 1 end end elseif eposta_gonderme == 2 then return end elseif eposta == 2 then local karakter_id = tonumber(pc.get_player_id()) local karakter_isim = pc.get_name() local gelen_mesaj = mysql_query10("select * from player.eposta where alan_id='"..karakter_id.."' and alan_isim='"..karakter_isim.."'") local gelen_mesaj_kactane = tonumber(table.getn(gelen_mesaj)) local gonderen_dizi = {} for z=1,gelen_mesaj_kactane,1 do gonderen_dizi[z] = gelen_mesaj.gonderen_isim[z] end local gelen_mesaj_dizi = {} for z=1,gelen_mesaj_kactane,1 do gelen_mesaj_dizi[z] = gelen_mesaj.mesaj[z] end local gelen_mesaj_id = {} for z=1,gelen_mesaj_kactane,1 do gelen_mesaj_id[z] = gelen_mesaj.id[z] end gonderen_dizi[gelen_mesaj_kactane + 1] = "Kapat" mesaj_gonderen = select_table(gonderen_dizi) local i = 1 while i < (gelen_mesaj_kactane + 1)  do if mesaj_gonderen == gelen_mesaj_kactane + 1 then break end if mesaj_gonderen == i  then say_title("Bilgilendirme:") say("") say_reward("Mesajınız:") say_title(gelen_mesaj_dizi[i]) say("") say_reward("Ne yapmak istersin?") say("") local islem_yap = select("Okundu Olarak İşaretle","Sil","Kapat") if islem_yap == 1 then local okundu = mysql_query10("UPDATE player.eposta SET okundu_mu = 1 where id='"..gelen_mesaj_id[i].."' ") if okundu then say_title("Bilgilendirme:") say("") say("Gelen mesaj okundu olarak işaretlenmiştir.") say("") else  say_title("Uyarı:") say("") say_reward("Mesaj okundu olarak işaretlenemedi!") say("") end elseif islem_yap == 2 then local eposta_kac_sorgula = mysql_query10("select * from player.player where id= '"..karakter_id.."' and name='"..karakter_isim.."' ") local epostasi_kac = tonumber(eposta_kac_sorgula.eposta_gelen[1]) if epostasi_kac > 0 then local silindi = mysql_query10("DELETE FROM player.eposta WHERE id='"..gelen_mesaj_id[i].."'") local gelen_eksilt = mysql_query10("UPDATE  player.player SET eposta_gelen = eposta_gelen - 1 where id= '"..karakter_id.."' and name='"..karakter_isim.."'") if silindi and gelen_eksilt then say_title("Bilgilendirme:") say("") say("Gelen mesaj başarı ile silinmiştir.") say("") else  say_title("Uyarı:") say("") say_reward("Mesaj silinemedi!") say("") end end end end i = i + 1 end elseif eposta == 3 then say_title("Bilgilendirme:") say("") say("YAKINDA...") say("") elseif eposta == 4 then local karakter_id_y = pc.get_player_id() local karakter_isim_y = pc.get_name() local kapansin_mi_sorgula = mysql_query10("select * from player.player where id= '"..karakter_id_y.."' and name='"..karakter_isim_y.."' ")    local eposta_durum = tonumber(kapansin_mi_sorgula.eposta_durum[1]) local eposta_alimi = select("Aktif Et","Kapat","Çıkış") if eposta_alimi == 1 then say_title("Bilgilendirme:") say("") say("Merhaba,"..pc.get_name()) say("Buradan E-Posta alımını aktif edebilirsin.") say("E-Posta alımını aktif edersen, diğer oyuncular sana mesaj yollayabilirler.") say("E-Posta alımını dilersen tekrardan kapatabilirsin.") say("") say_reward("Aktif etmek istiyor musun?") say("") local aktif_olsun_mu = select("Evet","Hayır") if aktif_olsun_mu == 1 then if eposta_durum == 0 then local eposta_aktif_et = mysql_query10("UPDATE player.player SET eposta_durum = '1' where id='"..karakter_id_y.."' and name='"..karakter_isim_y.."' ") if eposta_aktif_et then say_title("Bilgilendirme:") say("") say("E-Posta alımı başarı ile aktif edilmiştir. Artık mesaj alabileceksiniz.") say("") end else say_title("Uyarı:") say("") say_reward("E-Posta alımlarınız zaten aktif, tekrar aktif edemezsiniz.") say("") end end elseif eposta_alimi == 2 then say_title("Bilgilendirme:") say("") say("Merhaba,"..pc.get_name()) say("Buradan E-Posta alımını kapatabilirsin.") say("E-Posta alımını kapatırsan, kimse sana mesaj yollayamaz.") say("Dilersen tekrardan açabilirsin.") say("") say_reward("Kapatmak istiyor musun?") say("") local kapansin_mi = select("Evet","Hayır") if kapansin_mi == 1 then if eposta_durum == 1 then local eposta_kapat = mysql_query10("UPDATE player.player SET eposta_durum = '0' where id='"..karakter_id_y.."' and name='"..karakter_isim_y.."' ") if eposta_kapat then say_title("Bilgilendirme:") say("") say("E-Posta alımı başarı ile kapatılmıştır. Artık mesaj alamayacaksınız.") say("") end else say_title("Uyarı:") say("") say_reward("E-Posta alımlarınız zaten kapalı, tekrar kaptamazsınız.") say("") end end end end 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 eposta_sistemi.lua

Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra karakter atarak E-Posta göndermeye başlayabilirsiniz.




NOT: E-Posta alımını istediğiniz gibi açıp kapatabilirsiniz:​

Pq6J3v.jpg


94qZX9.jpg


qY8Oq3.jpg

EK RESİMLER​

ZDQBpZ.jpg


ZDQBaa.jpg


a5MQ9B.jpg


7kXn9r.jpg





GÜNCELLEME!
Oyuncular mesajı silseler bile ben kontrol edebileyim diyorsanız aşağıdaki MySQL dosyasını indirip "log" veritabanına yükleyin. Daha sonra aşağıdaki kodları eski eposta kodları ile değiştirin:




Aşağıdaki kodu yazıyoruz yeni E-Posta Sistemi kodu olarak:

Kod:
quest eposta_sistemi begin state start begin when login begin local karakter_id = pc.get_player_id() loop_timer("eposta_kontrol",1) pc.setqf("eposta_var",0) end when eposta_kontrol.timer begin local karakter_id = tonumber(pc.get_player_id()) local karakter_isim = pc.get_name() local gelen_mesaj = mysql_query10("select * from player.eposta where alan_id='"..karakter_id.."' and alan_isim='"..karakter_isim.."' and okundu_mu='0' ") local gelen_mesaj_kactane = tonumber(table.getn(gelen_mesaj)) if pc.getqf("eposta_var") == 0 and gelen_mesaj_kactane > 0 then send_letter("E-Posta("..gelen_mesaj_kactane..")") pc.setqf("eposta_var",1) elseif pc.getqf("eposta_var") == 1 and gelen_mesaj_kactane > 0 then send_letter(" ") pc.setqf("eposta_var",0) else send_letter("E-Posta("..gelen_mesaj_kactane..")") end end when letter begin local karakter_id = tonumber(pc.get_player_id()) local karakter_isim = pc.get_name() local gelen_mesaj = mysql_query10("select * from player.eposta where alan_id='"..karakter_id.."' and alan_isim='"..karakter_isim.."' and okundu_mu='0' ") local gelen_mesaj_kactane = tonumber(table.getn(gelen_mesaj)) send_letter("E-Posta("..gelen_mesaj_kactane..")") end when info or button begin local karakter_id = pc.get_player_id() local karakter_isim= pc.get_name() local eposta = select("E-Posta Gönder","E-Posta Kontrol","Yönetici E-Posta Kontrol","E-Posta Alım","Kapat") if eposta == 1 then say_title("Bilgilendirme:") say("") say("Merhaba "..karakter_isim) say("E-Posta sistemine hoş geldin.") say("") say_reward("Devam etmek istiyor musun?") say("") local eposta_gonderme = select("Evet","Hayır") if eposta_gonderme == 1 then say_title("Bilgilendirme:") say("") say("E-Posta karakter ismine göre gönderilmektedir.") say("Karakter ismi dışında herhangi bir şey girerseniz E-Postanız yollanmayacaktır.") say("") say_reward("E-Posta yollayacağınız karakter adını giriniz:") local eposta_gonderilen = tostring(input()) if eposta_gonderilen == "" then say_title("Uyarı:") say("") say_reward("Bu alanı boş bırakamazsınız, tekrar deneyin.") say("") else local gonderilen_kisi_bilgiler = mysql_query10("select * from player.player") local kac_kisi_var = tonumber(table.getn(gonderilen_kisi_bilgiler)) local i = 1 while i <= kac_kisi_var do local gonderilen_kisi_isim = tostring(gonderilen_kisi_bilgiler.name[i]) if eposta_gonderilen == gonderilen_kisi_isim then    local gonderilen_kisi_kontrol = mysql_query10("select * from player.player where name= '"..eposta_gonderilen.."'") pc.setqf("eposta_durum",gonderilen_kisi_kontrol.eposta_durum[1]) pc.setqf("eposta_gelen",gonderilen_kisi_kontrol.eposta_gelen[1]) local kisi_kontrol_id = gonderilen_kisi_kontrol.id[1] local kisi_kontrol_isim = gonderilen_kisi_kontrol.name[1] if pc.getqf("eposta_durum") == 1 then  say_title("Bilgilendirme:") say("") say("E-Posta gönderme bölümüne hoş geldin, "..karakter_isim) say("") say_reward("Aşağıya yollamak istediğin mesajı gir:") local giden_mesaj = tostring(input()) if giden_mesaj == "" then say_title("Uyarı:") say("") say_reward("Mesaj kısmını boş bırakamazsınız! Tekrar deneyin.") say() else --------------------- Mesaj Gönderilecek local tarih_saat = os.date("%x").." "..os.date("%X") local eposta_ekle = mysql_query10("insert into eposta(gonderen_id,gonderen_isim,alan_id,alan_isim,mesaj,tarih_saat) values('"..karakter_id.."','"..karakter_isim.."','"..kisi_kontrol_id.."','"..kisi_kontrol_isim.."','"..giden_mesaj.."','"..tarih_saat.."')") local eposta_ekle1 = mysql_query10("insert into eposta_kontrol(gonderen_id,gonderen_isim,alan_id,alan_isim,mesaj,tarih_saat) values('"..karakter_id.."','"..karakter_isim.."','"..kisi_kontrol_id.."','"..kisi_kontrol_isim.."','"..giden_mesaj.."','"..tarih_saat.."')") if eposta_ekle and eposta_ekle1 then mysql_query10("UPDATE  player.player SET eposta_gelen = eposta_gelen + 1 where id= '"..kisi_kontrol_id.."' and name='"..kisi_kontrol_isim.."'") say_title("Bilgilendirme:") say("") say(karakter_isim..", mesajınız "..kisi_kontrol_isim.." isimli oyuncuya başarı ile[ENTER]iletilmiştir.") say("") else say_title("Uyarı:") say("") say_reward("Mesajınız gönderilemedi, tekrar deneyiniz!") end ---------------------- END  end else say_title("Uyarı:") say("") say_reward("Bu kişi E-Posta alımlarını kapatmıştır.[ENTER]Mesaj gönderemezsiniz!") say("") end break elseif i == kac_kisi_var then say_title("Uyarı:") say("") say_reward("Aradığınız kişi oyunumuzda kayıtlı değildir.") say("") break end i = i + 1 end end elseif eposta_gonderme == 2 then return end elseif eposta == 2 then local karakter_id = tonumber(pc.get_player_id()) local karakter_isim = pc.get_name() local gelen_mesaj = mysql_query10("select * from player.eposta where alan_id='"..karakter_id.."' and alan_isim='"..karakter_isim.."'") local gelen_mesaj_kactane = tonumber(table.getn(gelen_mesaj)) local gonderen_dizi = {} for z=1,gelen_mesaj_kactane,1 do gonderen_dizi[z] = gelen_mesaj.gonderen_isim[z] end local gelen_mesaj_dizi = {} for z=1,gelen_mesaj_kactane,1 do gelen_mesaj_dizi[z] = gelen_mesaj.mesaj[z] end local gelen_mesaj_id = {} for z=1,gelen_mesaj_kactane,1 do gelen_mesaj_id[z] = gelen_mesaj.id[z] end gonderen_dizi[gelen_mesaj_kactane + 1] = "Kapat" mesaj_gonderen = select_table(gonderen_dizi) local i = 1 while i < (gelen_mesaj_kactane + 1)  do if mesaj_gonderen == gelen_mesaj_kactane + 1 then break end if mesaj_gonderen == i  then say_title("Bilgilendirme:") say("") say_reward("Mesajınız:") say_title(gelen_mesaj_dizi[i]) say("") say_reward("Ne yapmak istersin?") say("") local islem_yap = select("Okundu Olarak İşaretle","Sil","Kapat") if islem_yap == 1 then local okundu = mysql_query10("UPDATE player.eposta SET okundu_mu = 1 where id='"..gelen_mesaj_id[i].."' ") if okundu then say_title("Bilgilendirme:") say("") say("Gelen mesaj okundu olarak işaretlenmiştir.") say("") else  say_title("Uyarı:") say("") say_reward("Mesaj okundu olarak işaretlenemedi!") say("") end elseif islem_yap == 2 then local eposta_kac_sorgula = mysql_query10("select * from player.player where id= '"..karakter_id.."' and name='"..karakter_isim.."' ") local epostasi_kac = tonumber(eposta_kac_sorgula.eposta_gelen[1]) if epostasi_kac > 0 then local silindi = mysql_query10("DELETE FROM player.eposta WHERE id='"..gelen_mesaj_id[i].."'") local gelen_eksilt = mysql_query10("UPDATE  player.player SET eposta_gelen = eposta_gelen - 1 where id= '"..karakter_id.."' and name='"..karakter_isim.."'") if silindi and gelen_eksilt then say_title("Bilgilendirme:") say("") say("Gelen mesaj başarı ile silinmiştir.") say("") else  say_title("Uyarı:") say("") say_reward("Mesaj silinemedi!") say("") end end end end i = i + 1 end elseif eposta == 3 then say_title("Bilgilendirme:") say("") say("YAKINDA...") say("") elseif eposta == 4 then local karakter_id_y = pc.get_player_id() local karakter_isim_y = pc.get_name() local kapansin_mi_sorgula = mysql_query10("select * from player.player where id= '"..karakter_id_y.."' and name='"..karakter_isim_y.."' ")    local eposta_durum = tonumber(kapansin_mi_sorgula.eposta_durum[1]) local eposta_alimi = select("Aktif Et","Kapat","Çıkış") if eposta_alimi == 1 then say_title("Bilgilendirme:") say("") say("Merhaba,"..pc.get_name()) say("Buradan E-Posta alımını aktif edebilirsin.") say("E-Posta alımını aktif edersen, diğer oyuncular sana mesaj yollayabilirler.") say("E-Posta alımını dilersen tekrardan kapatabilirsin.") say("") say_reward("Aktif etmek istiyor musun?") say("") local aktif_olsun_mu = select("Evet","Hayır") if aktif_olsun_mu == 1 then if eposta_durum == 0 then local eposta_aktif_et = mysql_query10("UPDATE player.player SET eposta_durum = '1' where id='"..karakter_id_y.."' and name='"..karakter_isim_y.."' ") if eposta_aktif_et then say_title("Bilgilendirme:") say("") say("E-Posta alımı başarı ile aktif edilmiştir. Artık mesaj alabileceksiniz.") say("") end else say_title("Uyarı:") say("") say_reward("E-Posta alımlarınız zaten aktif, tekrar aktif edemezsiniz.") say("") end end elseif eposta_alimi == 2 then say_title("Bilgilendirme:") say("") say("Merhaba,"..pc.get_name()) say("Buradan E-Posta alımını kapatabilirsin.") say("E-Posta alımını kapatırsan, kimse sana mesaj yollayamaz.") say("Dilersen tekrardan açabilirsin.") say("") say_reward("Kapatmak istiyor musun?") say("") local kapansin_mi = select("Evet","Hayır") if kapansin_mi == 1 then if eposta_durum == 1 then local eposta_kapat = mysql_query10("UPDATE player.player SET eposta_durum = '0' where id='"..karakter_id_y.."' and name='"..karakter_isim_y.."' ") if eposta_kapat then say_title("Bilgilendirme:") say("") say("E-Posta alımı başarı ile kapatılmıştır. Artık mesaj alamayacaksınız.") say("") end else say_title("Uyarı:") say("") say_reward("E-Posta alımlarınız zaten kapalı, tekrar kaptamazsınız.") say("") end end end end end end end

NOT: eposta.sql dosyasını silmeyeceksiniz veritabanından. Eğer silinen mesajları görebileyim diyorsanız verdiğim MySQL dosyasını "log" veritabanına ekleyin yeterli.
Metin2 Lobby'da E-Posta Sistemi Nedir?
Metin2 Lobby olarak sunucularımızda oyuncuların daha etkili iletişim kurabilmesi ve oyun içi aktiviteleri takip edebilmesi için gelişmiş bir e-posta sistemi entegrasyonu sağladık. Bu sistem, Metin2 sunucularında bulunan özel quest sistemleriyle entegre çalışarak, oyuncuların oyun içi görevlerden, ödüllerden ve etkinliklerden haberdar olmalarını sağlar.

E-Posta Sisteminin Özellikleri
Bu sistem sayesinde oyunculara özel mesajlar, quest tamamlama bildirimleri ve ödüller doğrudan e-posta yoluyla gönderilir. Bu özellik, Metin2 quest sistemlerindeki ilerlemeleri daha kolay takip etmeyi mümkün kılar. Ayrıca, quest reward veya quest item gibi ödüllerin doğrulukla takip edilmesini sağlar.

Quest Sistemleriyle Entegrasyon
Oyun içi quest sistemleriyle doğrudan entegre çalışan e-posta sistemi, lua quest dosyalarının tetiklenmesiyle aktif hale gelir. Oyuncular bir quest tamamladığında, sistem otomatik olarak e-posta üzerinden bildirim gönderir. Bu sayede oyuncular, quest begin ve quest end durumlarını daha şeffaf bir şekilde görebilirler.

Teknik Altyapı ve Güvenlik
Tüm bu süreçler, Metin2 quest geliştirme (development) aşamasında güvenlik protokolleriyle korunmuştur. Her quest trigger ve quest timer gibi sistemsel olaylar, kullanıcıların e-posta adreslerine doğrudan erişim olmadan güvenli bir şekilde işlenir. Bu sayede hem kullanıcı gizliliği sağlanır hem de sistemsel güven artırılır.

Hatalar ve Hata Ayıklama
Bazen Metin2 quest sistemlerinde oluşabilecek hatalar ya da quest debug işlemleri için e-posta sistemi, geliştiricilere önemli veriler sağlar. Hata durumunda sistem, geliştiriciye otomatik olarak log bilgilerini e-posta yoluyla iletir. Bu, quest hata çözümünü hızlandırır ve sunucu performansını artırır.

E-Posta Bildirimleriyle Quest Takibi
Oyuncular, daily quest, custom quest ya da special quest gibi görevlerin tamamlanması durumunda doğrudan e-posta ile bilgilendirilirler. Bu özellik sayesinde, oyuncular görevlerini daha düzenli takip edebilir ve ödüllerini kaçırmazlar. Ayrıca, quest chain gibi uzun süreli görevlerde, her adım tamamlandığında kullanıcıya özel e-posta gönderilir.

Özetle
Metin2 Lobby olarak sunduğumuz e-posta sistemi, sadece iletişim değil aynı zamanda Metin2 quest sistemlerinin etkileşimini artıran güçlü bir araçtır. Hem oyuncular hem de geliştiriciler için kolaylık sağlayan bu sistem, Metin2 quest geliştirme ve deneyimi için kritik bir rol üstlenmektedir.


What is the Email System on Metin2 Lobby?
As Metin2 Lobby, we have implemented an advanced email system integration to allow players to communicate more effectively and track in-game activities. This system works integrated with special quest systems in Metin2 servers, enabling players to stay informed about quests, rewards, and events.

Features of the Email System
Thanks to this system, special messages, quest completion notifications, and rewards are sent directly via email to players. This feature makes it easier to track progress in Metin2 quest systems. Additionally, it ensures accurate tracking of quest rewards and quest items.

Integration with Quest Systems
The email system works directly integrated with in-game quest systems, becoming active through triggers in lua quest files. When a player completes a quest, the system automatically sends notifications via email. Thus, players can see quest begin and quest end states more transparently.

Technical Infrastructure and Security
All processes are protected with security protocols during Metin2 quest development phases. Every event like quest triggers and quest timers are processed securely without direct access to user email addresses. This ensures both user privacy and enhanced system security.

Errors and Debugging
Sometimes for errors that may occur in Metin2 quest systems or debugging processes, the email system provides important data to developers. In error cases, the system automatically sends log information to developers via email, speeding up quest error resolution and improving server performance.

Tracking Quests via Email Notifications
Players are notified directly via email upon completion of tasks such as daily quests, custom quests, or special quests. Thanks to this feature, players can track their quests more regularly and not miss out on rewards. Moreover, in long-term quests like quest chains, personalized emails are sent each time a step is completed.

In Summary
The email system provided by Metin2 Lobby is not only a communication tool but also a powerful mechanism enhancing interaction within Metin2 quest systems. This system plays a crucial role in both Metin2 quest development and player experience for both users and developers.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt