| Yepyeni bir Report-System! | Version 0.0.1 | BEING DEVELOPED! |

Xcalationable

Kömür Madencisi
Mesajlar
104
En iyi cevaplar
2
Beğeniler
26
Puanları
60
Merhaba arkadaşlar, uzun zamandır konu açmıyordum ama tekrardan aranıza döndüm. Sizler için OWL altyapısı haricinde kullanabileceğiniz bir report-system geliştiriyorum, sistem şu anlık yalnızca ACL kullanan sunucuları desteklemekte, yakın zamanda admin-system da paylaşacağım ve ordan ona bağlayacağım neyse fazla uzatmadan sistemin özelliklerine geçeyim. F2 tuşuyla size güzel bir rapor paneli çıkıyor, raporunuzu atıyorsunuz ve rapor aktif ACL'de admin yetkisi bulunanlara gidiyor, onlar da /raporac [ID] koduyla raporu kabul edebiliyorlar. Sistem şu anlık bu kadar basit, yakında çok çok daha geliştirilecek o yüzden lütfen kötü yorum yapmayın.

META.XML


XML:
<meta>
    <script src="panel.lua" type="client"/>
    <script src="server.lua" type="server"/>
    <file src="images/0000ff.png"/>
    <file src="images/ffff00.png"/>
</meta>

PANEL.LUA
C#:
--[[-------------------------------------------------
Furkan Esen aka Violence Yapımıdır. Bütün hakları saklıdır.
--]]-------------------------------------------------


function raporAc()
        panel = guiCreateStaticImage(144, 83, 775, 429, ":report/images/ffff00.png", false)
        guiSetProperty(panel, "ImageColours", "tl:FE020102 tr:FE020102 bl:FE020102 br:FE020102")

        editBox = guiCreateEdit(18, 64, 732, 165, "", false, panel)
        title = guiCreateLabel(10, 11, 750, 43, "Phoenix RolePlay Gaming - Rapor Sistemi", false, panel)
        guiSetFont(title, "sa-header")
        guiLabelSetHorizontalAlign(title, "left", true)
        kural = guiCreateLabel(27, 252, 687, 90, "Gönderdiğim raporu onaylıyorum, doğacak herhangi bir olumsuzluktan sorumlu tutulacağımı kabul ediyorum.", false, panel)
        guiSetFont(kural, "default-bold-small")

        onay = guiCreateCheckBox(619, 0, 15, 15, "", false, false, kural)

        btnImage = guiCreateStaticImage(174, 312, 412, 107, ":report/images/ffff00.png", false, panel)

        onayButon = guiCreateLabel(2, 2, 410, 105, "           Raporu Gönder!", false, btnImage)
        guiSetFont(onayButon, "sa-header")
        guiLabelSetColor(onayButon, 2, 1, 2)   
        addEventHandler("onClientGUIClick", onayButon, onayGUI, false)
        showCursor(true)
end
bindKey("F2", "down", raporAc)



function onayGUI(button)
if button == "left" then
    if ( getElementType(onay) == "gui-checkbox" ) then -- Is the element clicked a checkbox?
        if ( guiCheckBoxGetSelected(onay) ) then
            guiSetVisible(panel, false)
            showCursor(false)
            local takim = getTeamFromName("adminler")
            outputChatBox("#FF0000[!] #FFFFFFBaşarıyla raporunuz ilgili adminlere gönderildi!", 0, 255, 0, true)
            local oyuncular = getElementsByType("player")
            local adm = getOnlineAdmins()
            for _,p in ipairs(adm) do
                local oyuncu = getPlayerName(getLocalPlayer())
                outputChatBox("#FF0000[!] #FFFFFF"..getPlayerName(getLocalPlayer()).." isimli oyuncudan rapor geldi![/raporac ["..oyuncu.."]", p, 0, 255, 0, true)
                outputChatBox("#FF0000[!] #FFFFFF Sebep : "..guiGetText(editBox).."", p, 0, 255, 0, true)
                setElementData(getLocalPlayer(), "raporatti", true)
            end
    end end
end
end

function raporAc(thePlayer, cmd, playerName)
if (getPlayerTeam(thePlayer) == getTeamFromName("adminler")) then
    if playerName then
        local oyuncu = getPlayerFromName(playerName)
        if (getElementData(oyuncu, "raporatti") == true) then
            outputChatBox("#FF0000[!] #FFFFFF"..getPlayerName(thePlayer).." isimli yetkili raporunuzu kabul etti, bekleyin.", oyuncu, 0, 255, 0, true)
            outputChatBox("#FF0000[!] #FFFFFF"..getPlayerName(oyuncu).." isimli oyuncunun raporunu açtınız, bekleyin.", oyuncu, 0, 255, 0, true)
            setElementData(getLocalPlayer, "raporatti", false)
end end end
end
addCommandHandler("raporac", raporAc)

Ve son olarak SERVER.LUA

C#:
function createAdminTeamOnStart()
    AdminTeam = createTeam("adminler", 255, 0, 0)
end
addEventHandler("onResourceStart", resourceRoot, createAdminTeamOnStart)

function adminEkle(thePlayer, cmd, playerName)
if getPlayerName(thePlayer) == "Violence" then
    local oyuncu = getPlayerFromName(playerName)
    if not (getPlayerTeam(oyuncu) == getTeamFromName("adminler")) then
        local takim = getTeamFromName("adminler")
        setPlayerTeam(oyuncu, takim)
        outputChatBox("#FF0000[!] #FFFFFFArtık bir adminsin!", oyuncu, 255, 255, 255, true)
        setPlayerNametagColor(oyuncu, 255, 0, 0)
end end
end
addCommandHandler("adminyap", adminEkle)

Fotoğraflar da ekte mevcut, images klasörü oluşturup içine atarsınız. :)

Bu da oyundan bir görüntü. (NOT: SİSTEM DENENDİ VE HATASIZ ÇALIŞMAKTA.)


mta-screen_2020-08-22_16-18-29.png
 


Ekli dosyalar

  • 0000ff.png
    0000ff.png
    120 bayt · Görüntüleme: 140
  • ffff00.png
    ffff00.png
    120 bayt · Görüntüleme: 136

BorakanT

ben kimim?
Mesajlar
1,753
En iyi cevaplar
7
Beğeniler
1,732
Puanları
4,850
Ruh hali
fontlar olmamış ama çok güzel sistem. bir nebze düşürür haksızlıkları
 

Erkutay_

DragonBlock
Mesajlar
745
En iyi cevaplar
11
Beğeniler
832
Puanları
1,490
whats difference between "| Yepyeni bir Report-System! | Version 0.0.1 | BEING DEVELOPED! |" and "| Yepyeni bir rapor-sistemi! | versiyon 0.0.1 | geliştirilmekte! |"
 

Üst