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
PANEL.LUA
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.)