Jump to content

مشكل حفظ السلاح


Recommended Posts

السلام عليكم ششخباركككم

 

 

هاللكود تبع الاخ ذاا كيلر مشكلة انة يحفظ سلاح لا متت بس اذا خرجت ودخلت لسيرفر ماايحفظ :(

 

addEventHandler("onPlayerWasted", root, 
    function() 
        local weapons = convertWeaponsToJSON(source) 
        setElementData(source,"tempWeapons",weapons) 
    end 
) 
  
addEventHandler("onPlayerSpawn", root, 
    function () 
        local weapons = getElementData(source,"tempWeapons") 
        if (weapons) then 
            giveWeaponsFromJSON(source, weapons) 
        end 
    end 
) 
  
function convertWeaponsToJSON(player) 
    local weaponSlots = 12 
    local weaponsTable = {} 
    for slot=1, weaponSlots do 
        local weapon = getPedWeapon( source, slot ) 
        local ammo = getPedTotalAmmo( source, slot ) 
        if (weapon > 0 and ammo > 0) then 
            weaponsTable[weapon] = ammo 
        end 
    end 
    return toJSON(weaponsTable) 
end 
  
function giveWeaponsFromJSON(player, weapons) 
    if (weapons and weapons ~= "") then 
        for weapon, ammo in pairs(fromJSON(weapons)) do 
            if (weapon and ammo) then 
                giveWeapon(player, tonumber(weapon), tonumber(ammo)) 
            end 
        end 
    end 
end 

 

Quote

 

Link to comment
addEventHandler("onPlayerWasted", root, 
    function() 
        local weapons = convertWeaponsToJSON(source) 
        setElementData(source,"tempWeapons",weapons) 
    end 
) 

addEventHandler("onPlayerSpawn", root, 
    function () 
        local weapons = getElementData(source,"tempWeapons") 
        if (weapons) then 
            giveWeaponsFromJSON(source, weapons) 
        end 
    end 
) 

addEventHandler("onPlayerQuit", root, 
    function() 
        local weapons = convertWeaponsToJSON(source) 
		local account = getPlayerAccount ( source )
        setAccountData(account,"tempWeapons",weapons) 
    end 
) 

addEventHandler("onPlayerLogin", root, 
    function () 
	   local account = getPlayerAccount ( source )
        local weapons = getAccountData ( account, "tempWeapons")
        if (weapons) then 
            giveWeaponsFromJSON(source, weapons) 
        end 
    end 
) 
  
function convertWeaponsToJSON(player) 
    local weaponSlots = 12 
    local weaponsTable = {} 
    for slot=1, weaponSlots do 
        local weapon = getPedWeapon( source, slot ) 
        local ammo = getPedTotalAmmo( source, slot ) 
        if (weapon > 0 and ammo > 0) then 
            weaponsTable[weapon] = ammo 
        end 
    end 
    return toJSON(weaponsTable) 
end 
  
function giveWeaponsFromJSON(player, weapons) 
    if (weapons and weapons ~= "") then 
        for weapon, ammo in pairs(fromJSON(weapons)) do 
            if (weapon and ammo) then 
                giveWeapon(player, tonumber(weapon), tonumber(ammo)) 
            end 
        end 
    end 
end 

جرب

Link to comment
4 hours ago, MARIY said:

addEventHandler("onPlayerWasted", root, 
    function() 
        local weapons = convertWeaponsToJSON(source) 
        setElementData(source,"tempWeapons",weapons) 
    end 
) 

addEventHandler("onPlayerSpawn", root, 
    function () 
        local weapons = getElementData(source,"tempWeapons") 
        if (weapons) then 
            giveWeaponsFromJSON(source, weapons) 
        end 
    end 
) 

addEventHandler("onPlayerQuit", root, 
    function() 
        local weapons = convertWeaponsToJSON(source) 
		local account = getPlayerAccount ( source )
        setAccountData(account,"tempWeapons",weapons) 
    end 
) 

addEventHandler("onPlayerLogin", root, 
    function () 
	   local account = getPlayerAccount ( source )
        local weapons = getAccountData ( account, "tempWeapons")
        if (weapons) then 
            giveWeaponsFromJSON(source, weapons) 
        end 
    end 
) 
  
function convertWeaponsToJSON(player) 
    local weaponSlots = 12 
    local weaponsTable = {} 
    for slot=1, weaponSlots do 
        local weapon = getPedWeapon( source, slot ) 
        local ammo = getPedTotalAmmo( source, slot ) 
        if (weapon > 0 and ammo > 0) then 
            weaponsTable[weapon] = ammo 
        end 
    end 
    return toJSON(weaponsTable) 
end 
  
function giveWeaponsFromJSON(player, weapons) 
    if (weapons and weapons ~= "") then 
        for weapon, ammo in pairs(fromJSON(weapons)) do 
            if (weapon and ammo) then 
                giveWeapon(player, tonumber(weapon), tonumber(ammo)) 
            end 
        end 
    end 
end 

جرب

 

 

يحفظ يالغلاا لكن لو طلعت ودخلت مايحفظ :( 

Link to comment
4 minutes ago, gta-gta said:

امم اخ مصري الكود شغال يحفظ بعدد ماجربتة بسيرفر خاص

ولكن لو شغلت القيم مود الي استخدمة يصير معد يحفظ لاطلعت وددخلت

سساعدوننيي :) 

شغل المود بعد م تشغل القيمود

Link to comment

هذا ملف سيرفر للقيم ليت  حد يشوف لو بة مشكلا

ليت احصل حل

 

setTeamFriendlyFire(createTeam("Grove",  0, 128, 0 ), false)
setTeamFriendlyFire(createTeam("Vagos",   255, 200, 0 ), false)
setTeamFriendlyFire(createTeam("Ballas",   128, 0, 128), false)
setTeamFriendlyFire(createTeam("Mafia",  154,205,50), false)
setTeamFriendlyFire(createTeam("Russians",   160,82,45), false)
setTeamFriendlyFire(createTeam("Triads",   104,104,104), false)
setTeamFriendlyFire(createTeam("Rifa",    250,128,114 ), false)
setTeamFriendlyFire(createTeam("Street",    250,128,0 ), false)
setTeamFriendlyFire(createTeam("Aztecas", 24, 198, 238), false)
setTeamFriendlyFire(createTeam("Medic",  24, 198, 238 ), false)
setTeamFriendlyFire(createTeam("Police",    0, 0, 255 ), false)
setTeamFriendlyFire(createTeam("No Team", 255, 0, 0,77 ), false)




addEvent("spawnMe", true)
addEventHandler("spawnMe", root,
function(skinID, sX, sY, sZ, sR, team)
	local team = getTeamFromName(team)
	spawnPlayer(source, sX, sY, sZ, sR, skinID, 0, 0, team)
	setCameraTarget(source)
	showChat(source, true)
end)

addEventHandler("onPlayerSpawn", root,
function(_, _, _, _, team)
	local team = team and getTeamName(team) or "N/A"
	if team == "Police" then
		giveWeapon(source, 3, 1)
		takeWeapon(source, 41)
	elseif team == "Medic" then
		giveWeapon(source, 41, 9999)
		takeWeapon(source, 3)
	else
		takeWeapon(source, 3)
		takeWeapon(source, 41)
	end
	local account = getPlayerAccount(source)
	if account and not isGuestAccount(account) then
		local wData = getAccountData(account, "newPlayerData") 
		if not wData then
			givePlayerMoney(source, 2500)
			giveWeapon(source, 23, 20)
			giveWeapon(source, 31, 50)
			setAccountData(account, "newPlayerData", true) 
		end
	end
end)


addEvent("Login-Register", true)
addEventHandler("Login-Register", root,
function(action, userName, passWord)
    if (action == "Login") then
        local account = getAccount(userName, passWord)
        if account then
            logIn(source, account, passWord)
			triggerClientEvent(source, "onLoginSuccess", source)
        else
            exports.TopBarChat:sendClientMessage ("Wrong username or password!", source, 255, 255, 0)
        end
    elseif (action == "Register") then
		local serial = getPlayerSerial(source)
		local TotalAcc = TotalAccounts(serial) or 0
		if TotalAcc < 3 then
			if not getAccount(userName) then
				local accountAdded = addAccount(userName, passWord)
				if accountAdded then
					exports.TopBarChat:sendClientMessage("You have successfully registered!, you can now login with your username and password.", source, 0, 255, 50)
					setAccountData(accountAdded, "reg-Serial", serial)
				else
					exports.TopBarChat:sendClientMessage("Error creating account, please contact the admin.", source, 255, 0, 50)
				end
			else
				exports.TopBarChat:sendClientMessage("Account with this name already exists!", source, 255, 0, 0)
			end
		else
			exports.TopBarChat:sendClientMessage("You can register up to 3 accounts only!", source, 255, 0, 0)
		end
    end
end)

function TotalAccounts(serial)
	aCount = 0
	for i, account in ipairs(getAccounts()) do
		local accSerial = getAccountData(account, "reg-Serial")
		if accSerial and accSerial == serial then
			aCount = aCount + 1
		end
	end
	return aCount
end


-----------------------------------|Medic|-----------------------------------
addEvent("healP", true )
addEventHandler("healP", root,
function(healer)
    local Health = getElementHealth(source)
	if (Health < 99) then
		local hp = 2*Health
		if getPlayerMoney(source) >= hp then
			setElementHealth(source, Health+15)
			givePlayerMoney(healer, hp)
			takePlayerMoney(source, hp)
			exports.TopBarChat:sendClientMessage("You earned $"..hp, healer, 0, 255, 0)
		end
	end
end)
-----------------------------------|Medic|-----------------------------------

 

Link to comment
31 minutes ago, gta-gta said:

هذا ملف سيرفر للقيم ليت  حد يشوف لو بة مشكلا

ليت احصل حل


addEventHandler("onPlayerWasted", root, 
    function() 
        local weapons = convertWeaponsToJSON(source) 
        setElementData(source,"tempWeapons",weapons) 
    end 
) 

addEventHandler("onPlayerSpawn", root, 
    function () 
        local weapons = getElementData(source,"tempWeapons") 
        if (weapons) then 
            giveWeaponsFromJSON(source, weapons) 
        end 
    end 
) 

addEventHandler("onPlayerQuit", root, 
    function() 
        local weapons = convertWeaponsToJSON(source) 
        setElementData(source,"tempWeapons",weapons) 
    end 
) 

addEventHandler("onPlayerLogin", root, 
    function () 
        local weapons = getElementData(source,"tempWeapons") 
        if (weapons) then 
            giveWeaponsFromJSON(source, weapons) 
        end 
    end 
) 
  
function convertWeaponsToJSON(player) 
    local weaponSlots = 12 
    local weaponsTable = {} 
    for slot=1, weaponSlots do 
        local weapon = getPedWeapon( source, slot ) 
        local ammo = getPedTotalAmmo( source, slot ) 
        if (weapon > 0 and ammo > 0) then 
            weaponsTable[weapon] = ammo 
        end 
    end 
    return toJSON(weaponsTable) 
end 
  
function giveWeaponsFromJSON(player, weapons) 
    if (weapons and weapons ~= "") then 
        for weapon, ammo in pairs(fromJSON(weapons)) do 
            if (weapon and ammo) then 
                giveWeapon(player, tonumber(weapon), tonumber(ammo)) 
            end 
        end 
    end 
end 

setTeamFriendlyFire(createTeam("Grove",  0, 128, 0 ), false)
setTeamFriendlyFire(createTeam("Vagos",   255, 200, 0 ), false)
setTeamFriendlyFire(createTeam("Ballas",   128, 0, 128), false)
setTeamFriendlyFire(createTeam("Mafia",  154,205,50), false)
setTeamFriendlyFire(createTeam("Russians",   160,82,45), false)
setTeamFriendlyFire(createTeam("Triads",   104,104,104), false)
setTeamFriendlyFire(createTeam("Rifa",    250,128,114 ), false)
setTeamFriendlyFire(createTeam("Street",    250,128,0 ), false)
setTeamFriendlyFire(createTeam("Aztecas", 24, 198, 238), false)
setTeamFriendlyFire(createTeam("Medic",  24, 198, 238 ), false)
setTeamFriendlyFire(createTeam("Police",    0, 0, 255 ), false)
setTeamFriendlyFire(createTeam("No Team", 255, 0, 0,77 ), false)




addEvent("spawnMe", true)
addEventHandler("spawnMe", root,
function(skinID, sX, sY, sZ, sR, team)
	local team = getTeamFromName(team)
	spawnPlayer(source, sX, sY, sZ, sR, skinID, 0, 0, team)
	setCameraTarget(source)
	showChat(source, true)
end)

addEventHandler("onPlayerSpawn", root,
function(_, _, _, _, team)
	local team = team and getTeamName(team) or "N/A"
	if team == "Police" then
		giveWeapon(source, 3, 1)
		takeWeapon(source, 41)
	elseif team == "Medic" then
		giveWeapon(source, 41, 9999)
		takeWeapon(source, 3)
	else
		takeWeapon(source, 3)
		takeWeapon(source, 41)
	end
	local account = getPlayerAccount(source)
	if account and not isGuestAccount(account) then
		local wData = getAccountData(account, "newPlayerData") 
		if not wData then
			givePlayerMoney(source, 2500)
			giveWeapon(source, 23, 20)
			giveWeapon(source, 31, 50)
			setAccountData(account, "newPlayerData", true) 
		end
	end
end)


addEvent("Login-Register", true)
addEventHandler("Login-Register", root,
function(action, userName, passWord)
    if (action == "Login") then
        local account = getAccount(userName, passWord)
        if account then
            logIn(source, account, passWord)
			triggerClientEvent(source, "onLoginSuccess", source)
        else
            exports.TopBarChat:sendClientMessage ("Wrong username or password!", source, 255, 255, 0)
        end
    elseif (action == "Register") then
		local serial = getPlayerSerial(source)
		local TotalAcc = TotalAccounts(serial) or 0
		if TotalAcc < 3 then
			if not getAccount(userName) then
				local accountAdded = addAccount(userName, passWord)
				if accountAdded then
					exports.TopBarChat:sendClientMessage("You have successfully registered!, you can now login with your username and password.", source, 0, 255, 50)
					setAccountData(accountAdded, "reg-Serial", serial)
				else
					exports.TopBarChat:sendClientMessage("Error creating account, please contact the admin.", source, 255, 0, 50)
				end
			else
				exports.TopBarChat:sendClientMessage("Account with this name already exists!", source, 255, 0, 0)
			end
		else
			exports.TopBarChat:sendClientMessage("You can register up to 3 accounts only!", source, 255, 0, 0)
		end
    end
end)

function TotalAccounts(serial)
	aCount = 0
	for i, account in ipairs(getAccounts()) do
		local accSerial = getAccountData(account, "reg-Serial")
		if accSerial and accSerial == serial then
			aCount = aCount + 1
		end
	end
	return aCount
end


-----------------------------------|Medic|-----------------------------------
addEvent("healP", true )
addEventHandler("healP", root,
function(healer)
    local Health = getElementHealth(source)
	if (Health < 99) then
		local hp = 2*Health
		if getPlayerMoney(source) >= hp then
			setElementHealth(source, Health+15)
			givePlayerMoney(healer, hp)
			takePlayerMoney(source, hp)
			exports.TopBarChat:sendClientMessage("You earned $"..hp, healer, 0, 255, 0)
		end
	end
end)
-----------------------------------|Medic|-----------------------------------

end

Edited by *RayaN-Alharbi.
Link to comment

local Anims = {"DAN_UP_A", "dnce_M_b", "DAN_Left_A", "DAN_Down_A", "DAN_Loop_A", "dance_loop"}




x, y = guiGetScreenSize()
font="default-bold"
fontTam=5

spcGam=dxGetTextWidth ("GTA",fontTam,font)  -- اسم سيرفرك بالنجليزي



function intro()
    ahora = getTickCount()
    count=ahora-start
    dxDrawImage(0, 0, x, y, 'fondo.png',0,0,0,tocolor(255,255,255),false)
    sizeX=64*1.21
    sizeY=64*1.21
    varX,varY,varZ = anim(start,1000,spcGam,0,0,0,spcGam,150,"OutBack")
    dxDrawText("War-streets",0+x/2-varY/2,y/2-100,varY+x/2-varY/2,y,tocolor(38,205,0,255),fontTam,font,nil,nil,true)   ---- اسم سيرفرك
    dxDrawText("",1+x/-varY/6-dxGetTextWidth ("i",fontTam,font),y/2-100,varY+x/2-varY/2,y,tocolor(255,255,255,255),fontTam,font,nil,nil,false,false,false,true) 
    dxDrawText("♥",x/2+varY/2,y/2-100,varY+x/2-varY/2,y,tocolor(255,255,255,255),fontTam,font,nil,nil,false,false,false,true)
    if (count>1500) then
	varX2,varY2,varZ2 = anim(start+1500,1000,0,0,0,200,250,360,"OutBack")
	dxDrawText("اهلا و سهلا بكم في سيرفر حرب العصابات",0+x/2-varY/2,y/2-100+dxGetFontHeight(fontTam,font),varY+x/2-varY/2,y,tocolor(255,255,255,varX2),1.5,font,"center",nil,false,false,false,true)	---- اسم سيرفرك
	dxDrawText("حرب الشرطة والعصابات",0+x/2-varY/2,y/2-80+dxGetFontHeight(fontTam,font),varY+x/2-varY/2,y,tocolor(255,255,255,varX2),1.5,font,"center",nil,false,false,false,true)	---- اسم سيرفرك   
   dxDrawText("Welcome to sever War streets ..",0+x/2-varY/2,y/2-60+dxGetFontHeight(fontTam,font),varY+x/2-varY/2,y,tocolor(255,255,255,varX2),1.5,font,"center",nil,false,false,false,true)
   end
    if (count>2000) then
        varX2,varY3,varZ3 = anim(start+2000,1000*10,0,0,0,200,250,360*5,"Linear")
	dxDrawImage ( x/2-sizeX/2, y/2+50, sizeX, sizeY, 'img/cargando2.png',180+varZ3)
	dxDrawText("Loading..",12,y/2+60+sizeY+1,x,y,tocolor(0,0,0,85),1.5,font,"center",nil,false,false,false,true)
	dxDrawText("Loading..",10,y/2+60+sizeY,x,y,tocolor(255,255,255,255),1.5,font,"center",nil,false,false,false,true)
    end
end

function anim(tag,animTime,de1,de2,de3,hasta1,hasta2,hasta3,typeAnim)
    local now = getTickCount()
    local endTime = tag + animTime
    local elapsedTime = now - tag
    local duration = endTime - tag
    local progress = elapsedTime / duration
    local a, b, c = interpolateBetween ( de1,de2,de3,hasta1,hasta2,hasta3, progress, typeAnim)
    
    return a, b, c
end

fileDelete("intro_c.lua")





local sx, sy = guiGetScreenSize()

alpha = 250
MP = "files/1.png"
MX = sx
MY = sy

function adjIntro(adj)
	_, times = getTimerDetails(IntroTimer)
	if adj == "M1" then
		MX = (MX*0.95)+5
		MY = (MY*0.95)
		if times == 1 then
			setTimer(function()
				if (alpha <= 250) and not (alpha <= 0) then
					alpha = alpha - 10
				else
					IntroTimer = setTimer(adjIntro, 50, 26, "M2")
				end
			end, 50, 26)
		end
	elseif adj == "M2" then
		if (alpha < 250) and (alpha >= 0) then
			alpha = alpha + 10
		end
		MX = (MX/0.95)-5
		MY = (MY/0.95)
		MP = "files/2.png"
		if times == 1 then
			setTimer(function()
				MP = "files/3.png"
				setTimer(function()
					IntroTimer = setTimer(adjIntro, 50, 26, "M3")
				end, 3500, 1)
			end, 4000, 1)
		end
	elseif adj == "M3" then
			MX = (MX*0.95)+5
			MY = (MY*0.95)
		if times == 1 then
			MP = "files/4.png"
			MX = (MX/0.95)-5
			MY = (MY/0.95)
			setTimer(function()
				setTimer(function()
					if (alpha <= 250) and not (alpha <= 0) then
						alpha = alpha - 10
					else
						removeEventHandler("onClientRender", root, drawIntro)
						fadeCamera(true, 6, 0, 0, 0)
						setCameraMatrix(-1475.5, 831.18, 65.5, -1487.5, 800.18, 65.5)
						showCursor(true)
						guiSetVisible(GUIEditor.window[1], true)
						destroyElement(IntroSong)
					end
				end, 50, 26)
			end, 3500, 1)
		end
	end
end

function drawIntro()
	dxDrawImage(sx/2-(MX/2), sy/2-(MY/2), MX, MY, MP, 0, 0, 0, tocolor(255, 255, 255, alpha))
end


function main()
    fadeCamera(false, 0)
	showChat(false)
	IntroSong = playSound("files/Intro.mp3")
	showPlayerHudComponent("all", false)
    start = getTickCount()
    addEventHandler("onClientRender",getRootElement(),intro)
    setTimer ( function() 
    removeEventHandler("onClientRender",getRootElement(),intro)
	IntroTimer = setTimer(adjIntro, 50, 26, "M1")
	addEventHandler("onClientRender", root, drawIntro)
	triggerEvent("onFinishIntro",getRootElement())
	setCameraMatrix(-1475.5, 831.18, 65.5, -1487.5, 800.18, 65.5)
    end, 5000, 1 )
end
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),main)




GUIEditor = {
    tab = {},
    tabpanel = {},
    edit = {},
    button = {},
    window = {},
    label = {},
    memo = {}
}
GUIEditor.window[1] = guiCreateWindow(sx/2-(601/2), sy/2-(344/2), 601, 344, "", false)
guiSetVisible(GUIEditor.window[1], false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 1.00)
guiSetInputMode("no_binds_when_editing")
GUIEditor.tabpanel[1] = guiCreateTabPanel(10, 21, 579, 313, false, GUIEditor.window[1])

-----------------------------|Login|-----------------------------
GUIEditor.tab[1] = guiCreateTab("Login", GUIEditor.tabpanel[1])

local MainText = xmlNodeGetValue(xmlLoadFile("Main.xml")) or ""
GUIEditor.memo[1] = guiCreateMemo(7, 8, 271, 270, MainText, false, GUIEditor.tab[1])
guiMemoSetReadOnly(GUIEditor.memo[1], true)

GUIEditor.label[1] = guiCreateLabel(395, 28, 65, 18, "UserName", false, GUIEditor.tab[1])
guiSetFont(GUIEditor.label[1], "default-bold-small")
GUIEditor.edit[1] = guiCreateEdit(322, 50, 210, 30, "", false, GUIEditor.tab[1])
GUIEditor.label[2] = guiCreateLabel(395, 107, 65, 18, "Password", false, GUIEditor.tab[1])
guiSetFont(GUIEditor.label[2], "default-bold-small")
GUIEditor.edit[2] = guiCreateEdit(322, 130, 210, 30, "", false, GUIEditor.tab[1])
guiEditSetMasked(GUIEditor.edit[2], true)
GUIEditor.button[1] = guiCreateButton(313, 207, 235, 34, "Login", false, GUIEditor.tab[1])


-----------------------------|Register|-----------------------------
GUIEditor.tab[2] = guiCreateTab("Register", GUIEditor.tabpanel[1])

GUIEditor.label[3] = guiCreateLabel(273, 26, 60, 19, "UserName", false, GUIEditor.tab[2])
guiSetFont(GUIEditor.label[3], "default-bold-small")
GUIEditor.edit[3] = guiCreateEdit(198, 49, 212, 27, "", false, GUIEditor.tab[2])
GUIEditor.label[4] = guiCreateLabel(273, 90, 60, 19, "Password", false, GUIEditor.tab[2])
guiSetFont(GUIEditor.label[4], "default-bold-small")
GUIEditor.edit[4] = guiCreateEdit(198, 119, 212, 27, "", false, GUIEditor.tab[2])
GUIEditor.label[5] = guiCreateLabel(256, 162, 107, 16, "Confirm Password", false, GUIEditor.tab[2])
guiSetFont(GUIEditor.label[5], "default-bold-small")
GUIEditor.edit[5] = guiCreateEdit(198, 188, 212, 27, "", false, GUIEditor.tab[2])

GUIEditor.button[2] = guiCreateButton(153, 233, 312, 36, "Register", false, GUIEditor.tab[2])

-----------------------------|Rules|-----------------------------
GUIEditor.tab[3] = guiCreateTab("Rules", GUIEditor.tabpanel[1])
local RulesText = xmlNodeGetValue(xmlLoadFile("Rules.xml")) or ""
GUIEditor.memo[2] = guiCreateMemo(10, 8, 559, 271, RulesText, false, GUIEditor.tab[3])
guiMemoSetReadOnly(GUIEditor.memo[2], true)

addEventHandler("onClientGUIClick", root,
function()
	if source == GUIEditor.button[1] then
		local userName = guiGetText(GUIEditor.edit[1])
		local passWord = guiGetText(GUIEditor.edit[2])
		if userName ~= "" and passWord ~= "" then
			triggerServerEvent("Login-Register", localPlayer, "Login", userName, passWord)
			guiSetEnabled(GUIEditor.button[1], false)
			setTimer(function() guiSetEnabled(GUIEditor.button[1], true) end, 3000, 1)
	end
	elseif source == GUIEditor.button[2] then
		local userName = guiGetText(GUIEditor.edit[3])
		local passWord1 = guiGetText(GUIEditor.edit[4])
		local passWord2 = guiGetText(GUIEditor.edit[5])
		if userName ~= "" and passWord1 ~= "" and passWord2 ~= "" then
			if #passWord1 < 4 then
				outputChatBox("The Password should be at least 4 characters long.", 255, 100, 0)
			elseif passWord1 ~= passWord2 then
				outputChatBox("The password does not match.", 255, 0, 0)
			else
				guiSetEnabled(GUIEditor.button[2], false)
				setTimer(function() guiSetEnabled(GUIEditor.button[2], true) end, 3000, 1)
				triggerServerEvent("Login-Register", localPlayer, "Register", userName, passWord1)
			end
		end
	end
end)





addEvent("onLoginSuccess", true)
addEventHandler("onLoginSuccess", root,
function()
	guiSetVisible(GUIEditor.window[1], false)
	showCursor(false)
local ped = createPed ( 0,737.40912 ,-1276.15332 ,13.554, 90)
setPedAnimation( ped, "ped", "WALK_civi")
local cam = setCameraMatrix (  739.41571044922, -1276.4376220703, 13.415299797058, 738.42529296875, -1276.4196777344, 13.378232955933 )
setElementDimension( localPlayer, 20 )
setElementDimension( ped, 20 )
setTimer (function ()
setPedAnimation(ped,false)
end, 6500, 1)
setTimer (function ()
	skinCount = 0
	sPed = createPed(105, -2682.7624511719,1148.40100 ,19.59490)
	addEventHandler("onClientPedDamage",sPed,cancelEvent)
	sRight()
	bindKey("arrow_l", "down", sLeft)
	bindKey("arrow_r", "down", sRight)
	bindKey("enter", "down", EnterSpawn)
	addEventHandler("onClientPreRender", root, drawTeamName)
	destroyElement( ped )
	setElementDimension( localPlayer, 0 )
	setTime( 12, 0 )
end, 7000, 1)
end)

local skinTable = {
	-- skinID, team --
	{105, "Grove"}, {106, "Grove"}, {107, "Grove"},
	
	{108, "Vagos"}, {109, "Vagos"}, {110, "Vagos"},
	{102, "Ballas"}, {103, "Ballas"}, {104, "Ballas"},
	{114, "Aztecas"}, {115, "Aztecas"}, {116, "Aztecas"},{173, "Aztecas"}, {175, "Aztecas"},
	{125, "Mafia"}, {126, "Mafia"}, {127, "Mafia"},
	{111, "Russians"}, {112, "Russians"}, {113, "Russians"}, {122, "Russians"},
	{163, "Triads"}, {164, "Triads"}, {165, "Triads"}, {166, "Triads"},
	{158, "Rifa"}, {159, "Rifa"}, {160, "Rifa"}, {161, "Rifa"}, {162, "Rifa"},
	{117, "Street"}, {118, "Street"}, {120, "Street"}, {121, "Street"},
	{274, "Medic"}, {275, "Medic"}, {276, "Medic"},
	{280, "Police"},{281, "Police"}, {282, "Police"}, {283, "Police"}, {284, "Police"}, {286, "Police"}, {288, "Police"},
	{206,"No Team"},{202, "No Team"}, {133, "No Team"}, {128, "No Team"}, {189, "No Team"}, {189, "No Team"},
	{68, "No Team"},{70,  "No Team"}, {80,  "No Team"}, {241, "No Team"}, {242, "No Team"}, {252, "No Team"},
	{0, "No Team"},{96,  "No Team"}, {14,  "No Team"}, {19,  "No Team"}, {43,  "No Team"}, {176, "No Team"},
    {292,"No Team"},{293, "No Team"}, {28,  "No Team"}, {29,  "No Team"}, {200, "No Team"}, {278, "No Team"},
    {73, "No Team"},{203, "No Team"}, {50,  "No Team"}, {155, "No Team"}, {137, "No Team"}, {235, "No Team"},
    {33, "No Team"},{59,  "No Team"}, {185, "No Team"}, {264, "No Team"}, {156, "No Team"}, {230, "No Team"},
	{234,"No Team"},{253, "No Team"}, {236, "No Team"}, {239, "No Team"}, {240, "No Team"}, {247, "No Team"},
	{261,"No Team"},{259, "No Team"}, {183, "No Team"}, {184, "No Team"}, {26, "No Team"}, {7  , "No Team"}, {16, "No Team"}, {0, "No Team"},
}


	setTimer(
		function()
		local x,y,z = getElementRotation(sPed)
		setElementRotation(sPed,x,y,z-5)end,50,0)
		setElementFrozen(sPed, true)

function adjSelectionSetting(team)
	if team == "Grove" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Vagos" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Ballas" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Mafia" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Russians" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Triads" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Street" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Rifa" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Aztecas" then --
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Medic" then
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "Police" then
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
 		setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
		updateSetting(team)
	elseif team == "No Team" then
		setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
		setElementPosition(sPed,  -2816.92432,1148.40100 ,19.59490)
		updateSetting(team)
	end
end

function updateSetting(team)
	if team == "Aztecas" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = 338.4, -1344.52, 14, 270
		elseif rand == 2 then
			sX, sY, sZ, sR = 338.4, -1354.52, 14, 507
		elseif rand == 3 then
			sX, sY, sZ, sR = 351.4, -1362.52, 14, 423
		end
	elseif team == "Rifa" then
		local rand = math.random(1, 2)
		if rand == 1 then
			sX, sY, sZ, sR = -2500 ,1072 ,57 ,180
		elseif rand == 2 then
			sX, sY, sZ, sR = -2483 ,1055 ,61 ,180
		end
	elseif team == "Street" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = -1749.3, 865.6, 25.74, 180
		elseif rand == 2 then
			sX, sY, sZ, sR = -1730.3, 862.6, 24.74, 180
		elseif rand == 3 then
			sX, sY, sZ, sR = -1775.3, 860.6, 24.74, 180
		end
	elseif team == "Triads" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = 2394.75391,1941.82422,12 , 270
		elseif rand == 2 then
			sX, sY, sZ, sR = 2444.26904,1941.67981,11 , 270
		elseif rand == 3 then
			sX, sY, sZ, sR = 2483.46411,1941.32874,10 , 270
		end
	elseif team == "Russians" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = 1970.4, 1623.4, 12.87, 270
		elseif rand == 2 then
			sX, sY, sZ, sR = 1975.4, 1620.4, 12.87, 270
		elseif rand == 3 then
			sX, sY, sZ, sR = 1992.4, 1625.4, 12.87, 270
		end
	elseif team == "Mafia" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = 952.85, -915.8, 45.4, 180
		elseif rand == 2 then
			sX, sY, sZ, sR = 971.85, -920.8, 45.4, 180
		elseif rand == 3 then
			sX, sY, sZ, sR = 959.85, -897.8, 45.4, 180
		end
	elseif team == "Ballas" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = 398.9, -1798.6, 7.8, 0
		elseif rand == 2 then
			sX, sY, sZ, sR = 425.9, -1814.6, 6.8, 0
		elseif rand == 3 then
			sX, sY, sZ, sR = 437.9, -1796.6, 5.8, 0
		end
	elseif team == "Vagos" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = 2421.35, -1224, 25.25, 180
		elseif rand == 2 then
			sX, sY, sZ, sR = 2438.35, -1225, 24.25, 180
		elseif rand == 3 then
			sX, sY, sZ, sR = 2403.35, -1223, 25.25, 180
		end
	elseif team == "Grove" then
		local rand = math.random(1, 3)
		if rand == 1 then
			sX, sY, sZ, sR = 2511.7, -1651.8, 13.9, 140
		elseif rand == 2 then
			sX, sY, sZ, sR = 2495.7, -1686.8, 13.9, 140
		elseif rand == 3 then
			sX, sY, sZ, sR = 2486.7, -1651.8, 13.9, 140
		end
	elseif team == "Medic" then
		local rand = math.random(1, 2)
		if rand == 1 then
			sX, sY, sZ, sR = 1183.28, -1333, 13.6, 270
		elseif rand == 2 then
			sX, sY, sZ, sR = 2029, -1419.2, 17, 270
		end
	elseif team == "Police" then
		local rand = math.random(1, 4)
		if rand == 1 then
			sX, sY, sZ, sR = 1567.99, -1692.43, 5.9, 180
		elseif rand == 2 then
			sX, sY, sZ, sR = 1585.2, -1677.7, 5.9, 270
		elseif rand == 3 then
			sX, sY, sZ, sR = 1580.2,-1635.454, 13.56, 90
		elseif rand == 4 then	
			sX, sY, sZ, sR = 1552.753, -1675.37, 16.2, 90
		end
	elseif team == "No Team" then
		local rand = math.random(1, 14)
		if rand == 1 then
			sX, sY, sZ, sR = 958.14, -1388.65, 13.4, 180
		elseif rand == 2 then
			sX, sY, sZ, sR = 914.95, -930.72, 42.601, 180
		elseif rand == 3 then
			sX, sY, sZ, sR = 1554.73, -1095.34, 25.1, 300
		elseif rand == 4 then
			sX, sY, sZ, sR = 2097.8, -1368.8, 24, 180
		elseif rand == 5 then
			sX, sY, sZ, sR = 2422.7, -1229.55, 24.9, 180
		elseif rand == 6 then
			sX, sY, sZ, sR = 2864.37, -1365.63, 11, 270
		elseif rand == 7 then
			sX, sY, sZ, sR = 2457.4, -2109.44, 13.55, 0
		elseif rand == 8 then
			sX, sY, sZ, sR = 1754.91, -2064.52, 13.61, 170
		elseif rand == 9 then
			sX, sY, sZ, sR = 1568, -1893.6, 13.56, 0
		elseif rand == 10 then
			sX, sY, sZ, sR = 331.35, -1518.6, 35.87, 230
		elseif rand == 11 then
			sX, sY, sZ, sR = 911.35, -1251.6, 15.87, 230
		elseif rand == 12 then
			sX, sY, sZ, sR = 1530.35, -800.6, 72.87, 230
		elseif rand == 13 then
			sX, sY, sZ, sR = 2029.35, -961.6, 40.87, 230
		elseif rand == 14 then
			sX, sY, sZ, sR = 1877.35, -1376.6, 13.87, 230
		elseif rand == 15 then
			sX, sY, sZ, sR = 1990.35, -1374.6, 23.87, 230
		elseif rand == 16 then
			sX, sY, sZ, sR = 2794, -1945.6, 13.87, 230
		elseif rand == 17 then
			sX, sY, sZ, sR = 1608, -1254.6, 17.87, 230
		end
	end
end




function sRight()
	skinCount = skinCount + 1
	playSoundFrontEnd(6)
	createExplosion (-2816.92432,1148.40100 ,19.5, 12 )
	if skinCount > #skinTable then
		skinCount = 1
	end
	skinID, team = unpack(skinTable[skinCount])
	adjSelectionSetting(team)
	setElementModel(sPed, skinID)
end

function sLeft()
	skinCount = skinCount - 1
	playSoundFrontEnd(14)
	createExplosion (-2816.92432,1148.40100 ,19.5, 12 )
	if skinCount < 1 then
		skinCount = #skinTable
	end
	skinID, team = unpack(skinTable[skinCount])
	adjSelectionSetting(team)
	setElementModel(sPed, skinID)
end

function EnterSpawn()
	if (team == "Police") then
			local wL = getElementData(localPlayer, "WantLvl") or 0
			local LegalStatus = getElementData(localPlayer, "LegalStatus")
		if wL > 0 then
			exports.TopBarChat:sendClientMessage("You can't join police when you have stars!", 255, 0, 0)
			return
		elseif LegalStatus == "Jailed" then
			exports.TopBarChat:sendClientMessage("You can't join police when you are jailed!", 255, 0, 0)
			return
		end
	end
	unbindKey("arrow_l", "down", sLeft)
	unbindKey("arrow_r", "down", sRight)
	unbindKey("enter", "down", EnterSpawn)
	showPlayerHudComponent("all", true)
	removeEventHandler("onClientPreRender", root, drawTeamName)
	destroyElement(sPed)
	triggerServerEvent("spawnMe", localPlayer, skinID, sX, sY, sZ, sR, team)
end

chgTeamOnDeath = false

addEventHandler("onClientPlayerWasted", localPlayer,
function()
	updateSetting(team)
	setTimer(function()
		triggerServerEvent("spawnMe", localPlayer, skinID, sX, sY, sZ, sR, team)
		end, 900, 1)
	if chgTeamOnDeath then
		setTimer(function()
			guiSetVisible(GUIEditor.window[1], false)
			showCursor(false)
			if not isElement(sPed) then
				sPed = createPed(105, 2495.20093, -1687.96082, 13.51605)
				addEventHandler("onClientPedDamage",sPed,cancelEvent)
			end
			bindKey("arrow_l", "down", sLeft)
			bindKey("arrow_r", "down", sRight)
			bindKey("enter", "down", EnterSpawn)
			setCameraMatrix(-2814.688,1152.8944091797,21.36700668305,-2815.7495117188,1150.90029297,21)
			setPedAnimation(sPed, "DANCING", Anims[math.random(1, 6)])
			setElementInterior ( getLocalPlayer() , 0 )
			setElementDimension ( getLocalPlayer() , 0 )
			addEventHandler("onClientPreRender", root, drawTeamName)
			showPlayerHudComponent("all", false)
			chgTeamOnDeath = false
		end, 2050, 1)
	end
end)

bindKey("F4", "down",
function()
	if not chgTeamOnDeath then
		exports.TopBarChat:sendClientMessage("You will be able to change your team and skin when you die.", 0, 255, 255)
		chgTeamOnDeath = true
	else
		exports.TopBarChat:sendClientMessage("Changing team and skin cancelled.", 255, 0, 0)
		chgTeamOnDeath = false
	end
end)


function drawTeamName()
	setElementPosition(localPlayer, 0, 0, 0)
	if sPed and team then
		local teamElement = getTeamFromName(team)
		if teamElement then
			local r, g, b = getTeamColor(teamElement)
			local x, y, z = getPedBonePosition(sPed, 4)
			local sx, sy = getScreenFromWorldPosition(x, y, z+0.9)
			if sx and sy then
		
				dxDrawText(team, sx + 1, sy + 1, sx + 1, sy + 3, tocolor(0, 0, 0, 255), 1.3, "bankgothic", "center")
				dxDrawText(team, sx + 1, sy - 1, sx - 1, sy + 3, tocolor(0, 0, 0, 255), 1.3, "bankgothic", "center")
				dxDrawText(team, sx - 1, sy - 1, sx - 1, sy - 3, tocolor(0, 0, 0, 255), 1.3, "bankgothic", "center")
				dxDrawText(team, sx, sy, sx, sy, tocolor(r, g, b, 255), 1.3, "bankgothic", "center")
			end
		end
	end
end

-----------------------------------|Medic|-----------------------------------
addEventHandler("onClientPlayerDamage", localPlayer,
function(healer, weapon)
    if healer and getElementType(healer) == "player" then
		local team = getPlayerTeam(healer)
		local teamName = team and getTeamName(team) or false
		local Health = getElementHealth(source)
        if (teamName == "Medic") and (weapon == 41) then
            cancelEvent()
			if (Health < 99) then
				triggerServerEvent("healP", localPlayer, healer)
			end
        end
    end
end)
-----------------------------------|Medic|-----------------------------------

 

 

 

setTeamFriendlyFire(createTeam("Grove",   0, 500, 0   ), false)
setTeamFriendlyFire(createTeam("Vagos",   255, 200, 0 ), false)
setTeamFriendlyFire(createTeam("Ballas",   128, 0, 128), false)
setTeamFriendlyFire(createTeam("Mafia",   154,205,50  ), false)
setTeamFriendlyFire(createTeam("Russians",   160,82,45), false)
setTeamFriendlyFire(createTeam("Triads",   104,104,104), false)
setTeamFriendlyFire(createTeam("Rifa",    250,128,114 ), false)
setTeamFriendlyFire(createTeam("Street",    250,128,0 ), false)
setTeamFriendlyFire(createTeam("Aztecas", 24, 198, 238), false)
setTeamFriendlyFire(createTeam("Medic",  24, 255, 255 ), false)
setTeamFriendlyFire(createTeam("Police",    0, 0, 255 ), false)
setTeamFriendlyFire(createTeam("No Team",    155, 0, 255 ), false)





addEvent("spawnMe", true)
addEventHandler("spawnMe", root,
function(skinID, sX, sY, sZ, sR, team)
	local team = getTeamFromName(team)
	spawnPlayer(source, sX, sY, sZ, sR, skinID, 0, 0, team)
	setCameraTarget(source)
	showChat(source, true)
end)

addEventHandler("onPlayerSpawn", root,
function(_, _, _, _, team)
	local team = team and getTeamName(team) or "N/A"
	if team == "Police" then
		giveWeapon(source, 3, 1)
		takeWeapon(source, 41)
	elseif team == "Medic" then
		giveWeapon(source, 41, 9999)
		takeWeapon(source, 3)
	else
		takeWeapon(source, 3)
		takeWeapon(source, 41)
	end
	local account = getPlayerAccount(source)
	if account and not isGuestAccount(account) then
		local wData = getAccountData(account, "newPlayerData") 
		if not wData then
			givePlayerMoney(source, 2500)
			giveWeapon(source, 23, 20)
			giveWeapon(source, 31, 50)
			setAccountData(account, "newPlayerData", true) 
		end
	end
end)


addEvent("Login-Register", true)
addEventHandler("Login-Register", root,
function(action, userName, passWord)
    if (action == "Login") then
        local account = getAccount(userName, passWord)
        if account then
            logIn(source, account, passWord)
			triggerClientEvent(source, "onLoginSuccess", source)
        else
            exports.TopBarChat:sendClientMessage ("Wrong username or password!", source, 255, 255, 0)
        end
    elseif (action == "Register") then
		local serial = getPlayerSerial(source)
		local TotalAcc = TotalAccounts(serial) or 0
		if TotalAcc < 3 then
			if not getAccount(userName) then
				local accountAdded = addAccount(userName, passWord)
				if accountAdded then
					exports.TopBarChat:sendClientMessage("You have successfully registered!, you can now login with your username and password.", source, 0, 255, 50)
					setAccountData(accountAdded, "reg-Serial", serial)
				else
					exports.TopBarChat:sendClientMessage("Error creating account, please contact the admin.", source, 255, 0, 50)
				end
			else
				exports.TopBarChat:sendClientMessage("Account with this name already exists!", source, 255, 0, 0)
			end
		else
			exports.TopBarChat:sendClientMessage("You can register up to 3 accounts only!", source, 255, 0, 0)
		end
    end
end)

function TotalAccounts(serial)
	aCount = 0
	for i, account in ipairs(getAccounts()) do
		local accSerial = getAccountData(account, "reg-Serial")
		if accSerial and accSerial == serial then
			aCount = aCount + 1
		end
	end
	return aCount
end


-----------------------------------|Medic|-----------------------------------
addEvent("healP", true )
addEventHandler("healP", root,
function(healer)
    local Health = getElementHealth(source)
	if (Health < 99) then
		local hp = 2*Health
		if getPlayerMoney(source) >= hp then
			setElementHealth(source, Health+15)
			givePlayerMoney(healer, hp)
			takePlayerMoney(source, hp)
			exports.TopBarChat:sendClientMessage("You earned $"..hp, healer, 0, 255, 0)
		end
	end
end)
-----------------------------------|Medic|-----------------------------------

 

هذة كلنت وسيرفر اتمنى القة حل

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...