Klan sistemi ekledim sunucuda kullandığım klan sistemini ve kullanacağım turf sistemimi bağladım fakat turf sistemi klan panele puan vermiyor ve turflar klanlara göre renkli olmuyor kullandığım scriptler altta yardımcı olursanız iyi olur sorunu çözemedm.
turf_exp_ayar = 50 -- Klan sistem turf alınca kaç exp vericek
-- Aşağıdaki fonksiyonları kendi klan sisteminize göre ayarlayın
local klansistem = exports.KlanSistem
function getPlayerKlan(oyuncu)
return klansistem:getPlayerGroup(oyuncu)
end
function getKlanName(klan)
return klansistem:getGroupName(tonumber(klan))
end
function getKlanLevel(klan)
return klansistem:getGroupLevel(tonumber(klan))
end
function getPlayerKlanRank(oyuncu)
return klansistem:getPlayerGroupRank(oyuncu)
end
function getKlanColor(klan)
local r,g,b = klansistem:getGroupColor(tonumber(klan))
return r,g,b
end
function outputKlanChat(msg,klanid,textdisplay)
klansistem:outputGroupChat(msg, klanid, textdisplay, true)
end
function getKlanPlayers(klan)
local oyuncular = {}
for i,oyuncu in ipairs(getElementsByType("player")) do
local oyuncuklan = getPlayerKlan(oyuncu)
if oyuncuklan then
if klan == oyuncuklan then
table.insert(oyuncular,oyuncu)
end
end
end
return oyuncular
end
function oyuncuyaParaVer(oyuncu,miktar)
return givePlayerMoney(oyuncu,miktar)
end
function klanaPuanVer(klan,puan)
return klansistem:modifyGroupExperience(klan, puan)
end
local TurfTable = {
Bolgeler = {
[1] = {rx=1398.3022460938,ry= 1984.0321044922 ,sx=160,sy=60,bx=1398.3022460938,by=1984.0321044922,bz=10,bsx=160,bsy=60,bheight=30,red=255,green=255,blue=255} ,
[2] = {rx=2518.2463,ry= 704.07672 ,sx=158,sy=58,bx=2518.2463,by=704.07672,bz=10,bsx=158,bsy=58,bheight=30,red=255,green=255,blue=255},
[3] = {rx=649.09711,ry= -1384.1523 ,sx=137,sy=53,bx=649.09711,by=-1384.1523,bz=12,bsx=137,bsy=53,bheight=50,red=255,green=255,blue=255},
[4] = {rx=2226.5393,ry= -1961.9048 ,sx=76,sy=57,bx=2226.5393,by=-1961.9048,bz=12,bsx=76,bsy=57,bheight=35,red=255,green=255,blue=255},
[5] = {rx=2237.9451,ry= 2723.7808 ,sx=125,sy=99,bx=2237.9451,by=2723.78088,bz=6,bsx=125,bsy=99,bheight=35,red=255,green=255,blue=255},
[6] = {rx=2777.4761,ry= 833.62354 ,sx=117,sy=189,bx=2777.4761,by=833.62354,bz=8,bsx=117,bsy=189,bheight=35,red=255,green=255,blue=255},
[7] = {rx=1702.3667,ry= -1945.1685 ,sx=108,sy=64,bx=1702.3667,by=-1945.1685,bz=11,bsx=108,bsy=64,bheight=40,red=255,green=255,blue=255},
[8] = {rx=1883.2728,ry= -1250.0649 ,sx=166,sy=103,bx=1883.2728,by=-1250.0649,bz=10,bsx=166,bsy=103,bheight=30,red=255,green=255,blue=255},
[9] = {rx=-1474.9866,ry= 340.65936 ,sx=134,sy=100,bx=-1474.9866,by=340.65936,bz=6,bsx=134,bsy=100,bheight=20,red=255,green=255,blue=255},
[10] = {rx=-2694.7336,ry= -58.295513 ,sx=81,sy=87,bx=-2694.7336,by=-58.295513,bz=2,bsx=81,bsy=87,bheight=20,red=255,green=255,blue=255},
[11] = {rx=-2739.4321,ry= 345.75079 ,sx=66,sy=60,bx=-2739.4321,by=345.75079,bz=2,bsx=66,bsy=60,bheight=20,red=255,green=255,blue=255},
},
Timer = {},
TurfPara = 4000,
TurfPuan = 50
}
function createTurf(rx,ry,sx,sy,bx,by,bz,bsx,bsy,bheight,red,green,blue)
local area = createRadarArea(rx,ry,sx,sy,red,green,blue,170)
local cubo = createColCuboid(bx,by,bz,bsx,bsy,bheight)
setElementData(cubo,"Turf-Area",area)
setElementData(cubo,"Turf-Clan","Boş")
setElementData(cubo,"Turf-Clan2","Boş")
setElementData(cubo,"Turf-Point",0)
setElementData(cubo,"Turf-Count",0)
setElementData(cubo,"Turf-State",false)
addEventHandler ( "onColShapeHit", cubo, TurfArea_Enter )
addEventHandler ( "onColShapeLeave", cubo, TurfArea_Exit )
setTimer(function(turf)
if getElementData(turf,"Turf-Clan")~="Boş" then
TurfClanPara = getElementData(resourceRoot,"Banka"..getElementData(turf,"Turf-Clan").."")
TurfClanYeniPara = tonumber(TurfClanPara+TurfTable.TurfPara)
executeSQLQuery("UPDATE ClanSistemiBanka SET Banka=? WHERE Clan=?",tonumber(TurfClanYeniPara),tostring(getElementData(turf,"Turf-Clan")))
setElementData(resourceRoot,"Banka"..getElementData(turf,"Turf-Clan").."",tonumber(TurfClanYeniPara))
TurfClanPuan = getElementData(resourceRoot,"Level"..getElementData(turf,"Turf-Clan").."")
TurfClanYeniPuan = tonumber(TurfClanPuan+TurfTable.TurfPuan)
executeSQLQuery("UPDATE ClanSistemiLevel SET Level=? WHERE Clan=?",tonumber(TurfClanYeniPuan),tostring(getElementData(turf,"Turf-Clan")))
setElementData(resourceRoot,"Level"..getElementData(turf,"Turf-Clan").."",tonumber(TurfClanYeniPuan))
end
end,60*60000,0,cubo)
end
setTimer(function()
--outputChatBox("#00ffffTurf #0064ffParaları Dağıtıldı [Turf Başına: $"..TurfTable.TurfPara.." | +"..TurfTable.TurfPuan.." KP]",root, 255, 0, 0,true)
triggerClientEvent("onClientCreateMessage", root, "#3399FFTurf Paraları Dağıtıldı #FFFFFF[Turf Başına #3399FF$#FFFFFF"..TurfTable.TurfPara.." | #3399FF+#FFFFFF"..TurfTable.TurfPuan.." KP]")
end,60*60000,0)
function clanTurfStarted()
for i=1,#TurfTable.Bolgeler do
local rx,ry,sx,sy,bx,by,bz,bsx,bsy,bheight,red,green,blue = TurfTable.Bolgeler[i].rx,TurfTable.Bolgeler[i].ry,TurfTable.Bolgeler[i].sx,TurfTable.Bolgeler[i].sy,TurfTable.Bolgeler[i].bx,TurfTable.Bolgeler[i].by,TurfTable.Bolgeler[i].bz,TurfTable.Bolgeler[i].bsx,TurfTable.Bolgeler[i].bsy,TurfTable.Bolgeler[i].bheight,TurfTable.Bolgeler[i].red,TurfTable.Bolgeler[i].green,TurfTable.Bolgeler[i].blue
createTurf(rx,ry,sx,sy,bx,by,bz,bsx,bsy,bheight,red,green,blue)
end
end
addEventHandler ( "onResourceStart", resourceRoot,clanTurfStarted )
function TurfArea_Enter( hitElement, mD )
if (hitElement and mD and getElementType(hitElement) == "player") then
local player = hitElement
setElementData(player,"Turf",true)
setElementData(player,"TurfAlani",source)
triggerClientEvent(player, "TurfLabelAktif", getRootElement(getThisResource()),getElementData(source,"Turf-Clan"))
triggerClientEvent(player,"Turf-F1Kapat",source)
if doesPedHaveJetPack ( player ) then
removePedJetPack(player)
end
if getElementData(player,"group")=="" then return end
if getElementData(source,"Turf-State") == false then
if getElementData(player,"group") and not isPedInVehicle(player) then
if getElementData(player,"group")== getElementData(source,"Turf-Clan") then
exports.Duyuru:sendClientMessage("#0064ffKlan Sistemi : #ffffffBu turf zaten kendi klanının.", player, 255,0,0)
return
end
setElementData(source,"Turf-State",true)
setElementData(source,"Turf-Clan2",getElementData(player,"group"))
setElementData(source,"Turf-Count",getElementData(source,"Turf-Count")+1)
setRadarAreaFlashing (getElementData(source,"Turf-Area"), true)
setElementData(player,"TurfAktif",true)
TurfTable.Timer[source] = setTimer(function(turf)
TurfPoint = getElementData(turf,"Turf-Point") + getElementData(turf,"Turf-Count")
setElementData(turf,"Turf-Point",TurfPoint)
for i, _oyuncu in ipairs(getElementsByType("player") ) do
if getElementData(_oyuncu,"Turf")== true and getElementData(_oyuncu,"TurfAlani")==turf then
triggerClientEvent(_oyuncu, "TurfPuanKazan", getRootElement(getThisResource()),TurfPoint,getElementData(turf,"Turf-Clan2") or "Turf Bugging.. C2",getElementData(turf,"Turf-Clan") or "Turf Bugging.. C1")
end
end
if getElementData(turf,"Turf-Point") >= 100 then
local c1 = getElementData(turf,"Turf-Clan") or "Turf Bugging.. C1"
local c2 = getElementData(turf,"Turf-Clan2") or "Turf Bugging.. C2"
--outputChatBox("#ff0000[Turf El Değiştirdi] #0064ffYeni Clan: #00ffff"..c2.." #7f7f7f<-> #ff7f00Eski Clan: #00ffff"..c1.."",root, 255, 0, 0,true)
triggerClientEvent("onClientCreateMessage", root, "#CC0000Turf Bilgisi #FFFFFF[#3399FFEle Geçiren Klan Adı : #00CC00"..c2.."#FFFFFF] #FFFFFF[#3399FFBölgesini Kaybeden Klan Adı : #00CC00"..c1.."#FFFFFF]")
setElementData(turf,"Turf-Clan",getElementData(player,"group") or "Turf Bugging.. Clan")
setElementData(turf,"Turf-Clan2","Boş")
setElementData(turf,"Turf-Count",0)
setElementData(turf,"Turf-Point",0)
setElementData(turf,"Turf-State",false)
local klan = getPlayerKlan(source)
klanaPuanVer(klan,turf_exp_ayar)
local Row = executeSQLQuery("SELECT * FROM ClanSistemiRENK WHERE Clan=?",tostring(getElementData(turf,"Turf-Clan")))
local R = Row[1]["R"]
local G = Row[1]["G"]
local B = Row[1]["B"]
if R and G and B then
setRadarAreaColor (getElementData(turf,"Turf-Area"), R, G, B, 170 )
else
setRadarAreaColor (getElementData(turf,"Turf-Area"), 0, 0, 0, 170 )
end
setRadarAreaFlashing (getElementData(turf,"Turf-Area"), false)
if isTimer(TurfTable.Timer[turf]) then
killTimer(TurfTable.Timer[turf])
for i, _oyuncu in ipairs(getElementsByType("player") ) do
if getElementData(_oyuncu,"Turf")== true and getElementData(_oyuncu,"TurfAlani")==turf then
triggerClientEvent(_oyuncu, "TurfPuanKazan", getRootElement(getThisResource()),0,"Yok",getElementData(turf,"Turf-Clan") or "Turf Bugging.. C1")
end
end
end
end
end,2000,0,source)
end
elseif getElementData(source,"Turf-State") == true then
if getElementData(player,"group") == getElementData(source,"Turf-Clan2") and not isPedInVehicle(player) then
setElementData(source,"Turf-Count",getElementData(source,"Turf-Count")+1)
setElementData(player,"TurfAktif",true)
end
end
elseif isElement(hitElement) and getElementType(hitElement) == "vehicle" then
destroyElement(hitElement)
--exports.hudyamasi:dm("Hata #FFFFFF| Turf bölgesine araçla girdiğin için aracın destroy edildi.", hitElement, 255, 0, 0, true)
end
end
function TurfArea_Exit ( hitElement, mD )
if (hitElement and mD and getElementType(hitElement) == "player") then
local player = hitElement
setElementData(player,"Turf",false)
triggerClientEvent(player, "TurfLabelPasif", getRootElement(getThisResource()))
if getElementData(player,"group")=="" then return end
if getElementData(source,"Turf-State") == true then
if getElementData(player,"group") == getElementData(source,"Turf-Clan2") and getElementData(player,"TurfAktif")==true and not isPedInVehicle(player) then
setElementData(source,"Turf-Count",getElementData(source,"Turf-Count")-1)
setElementData(player,"TurfAktif",false)
if getElementData(source,"Turf-Count") == 0 then
if isTimer(TurfTable.Timer[source]) then
killTimer(TurfTable.Timer[source])
end
setRadarAreaFlashing (getElementData(source,"Turf-Area"), false)
setElementData(source,"Turf-State",false)
setElementData(source,"Turf-Point",0)
setElementData(source,"Turf-Clan2","Boş")
end
end
end
end
end
function TurfonVehicleEnter ( player, seat, jacked )
if getElementData(player,"Turf")==true then
cancelEvent()
exports.Duyuru:sendClientMessage("#0064ffKlan Sistemi : #ffffffTurf bölgesinde araca binemezsiniz, turf bölgesinden çıkıp binebilirsiniz.", player, 255,0,0)
end
end
addEventHandler ( "onVehicleStartEnter", getRootElement(), TurfonVehicleEnter )
function onTurfquitPlayer()
local player = source
local turf = getElementData(player,"TurfAlani")
setElementData(player,"Turf",false)
triggerClientEvent(player, "TurfLabelPasif", getRootElement(getThisResource()))
if getElementData(player,"group")=="" then return end
if turf then
if getElementData(turf,"Turf-State") == true then
if getElementData(player,"group") == getElementData(turf,"Turf-Clan2") and getElementData(player,"TurfAktif")==true and not isPedInVehicle(player) then
setElementData(turf,"Turf-Count",getElementData(turf,"Turf-Count")-1)
setElementData(player,"TurfAktif",false)
if getElementData(turf,"Turf-Count") == 0 then
if isTimer(TurfTable.Timer[turf]) then
killTimer(TurfTable.Timer[turf])
end
setRadarAreaFlashing (getElementData(turf,"Turf-Area"), false)
setElementData(turf,"Turf-State",false)
setElementData(turf,"Turf-Point",0)
setElementData(turf,"Turf-Clan2","Boş")
end
end
end
end
end
addEventHandler ( "onPlayerQuit", getRootElement(), onTurfquitPlayer )