Jump to content

يرجى المساعدة في كود مهم جدا


Recommended Posts

المشكلة سويت اف3 حق سيارات و سويت لها لوحة تحكم سيارات الخ

مشكلة ابي اجلب سيارات اللاعب محدد في gridlist

ابي سيارات اللاعب محدد الي اضغط عليه يجي سيارته مثل قلت و اسمها و سعرها الي موجوده عنده اف3

ماتجي

local EditID = "ID"
local EdiPrice = "Price"

------#Manager
GUIEditor = {
    edit = {},
    button = {},
    window = {},
    label = {},
    gridlist = {}
}
addEventHandler("onClientResourceStart", resourceRoot,
    function()
        WindowManager = guiCreateWindow((screenW - 600) / 2, (screenH - 450) / 2, 585, 457, "Give Vehicles Panel", false)
        guiWindowSetSizable(WindowManager, false)
		guiSetVisible(WindowManager, false)
        guiSetAlpha(WindowManager, 1.00)

        GridlistPlayers = guiCreateGridList(10, 47, 166, 400, false, WindowManager)
        guiGridListAddColumn(GridlistPlayers, "Players", 0.9)
		GridlistPlayerVehicles = guiCreateGridList(183, 243, 392, 204, false, WindowManager)
        guiGridListAddColumn(GridlistPlayerVehicles, "Vehicles", 0.5)
        guiGridListAddColumn(GridlistPlayerVehicles, "Cost", 0.5)
        ButtonGivePlayer = guiCreateButton(186, 125, 126, 42, "Give Player", false, WindowManager)
        guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA")
        ButtonGiveAllPlayers = guiCreateButton(322, 125, 126, 42, "Give All Players", false, WindowManager)
        guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FFAAAAAA")
        ButtonSetVehicleColor = guiCreateButton(403, 65, 126, 42, "Set Vehicle Color", false, WindowManager)
        guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FFAAAAAA")
		ButtonTakePlayerVehicle = guiCreateButton(322, 191, 126, 42, "Take Player Vehicle", false, WindowManager)
		ButtonCloseManagerPanel = guiCreateButton(529, 29, 25, 22, "X", false, WindowManager)
        guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FFAAAAAA")
        EditVehicleID = guiCreateEdit(190, 71, 75, 26, EditID, false, WindowManager)
        EditVehiclePrice = guiCreateEdit(275, 71, 118, 26, EdiPrice, false, WindowManager)
        EditSearch = guiCreateEdit(12, 24, 139, 19, "", false, WindowManager)
		ImageSearch = guiCreateStaticImage(153, 22, 23, 21, ":admin/client/images/search.png", false, WindowManager)
        LabelVehicleID = guiCreateLabel(214, 46, 51, 15, "ID", false, WindowManager)
        guiSetFont(LabelVehicleID, "default-bold-small")
        guiLabelSetColor(LabelVehicleID, 232, 204, 14)
        LabelVehiclePrice = guiCreateLabel(311, 45, 72, 16, "Price", false, WindowManager)
        guiSetFont(LabelVehiclePrice, "default-bold-small")
        guiLabelSetColor(LabelVehiclePrice, 232, 204, 14)    
    end
)

function loadAllPlayers()
	guiGridListClear(GridlistPlayers)
	for _,v in ipairs(getElementsByType("player")) do
		local Row = guiGridListAddRow(GridlistPlayers)
		local Team = getPlayerTeam(v)
		if not Team then
			r, g, b = 255, 255, 255
		else
			r, g, b = getTeamColor(getPlayerTeam(v))
		end
		guiGridListSetItemText(GridlistPlayers, Row, 1, getPlayerName(v), false, false)
		guiGridListSetItemColor(GridlistPlayers, Row, 1, r, g, b)
	end
end


function getPlayerVehicles()
	local data = getElementData(localPlayer, "VehicleInfo")
	if data then
		guiGridListClear(GridlistPlayerVehicles)
		for i, data in ipairs (data) do
			local carName = getVehicleNameFromModel(data["Model"])
			local ID = data["ID"]
			local Cost = data["Cost"]
			local HP = math.floor(data["HP"])
			local PreCost = math.ceil(Cost*.9*HP/100/10)
			local Row = guiGridListAddRow(GridlistPlayerVehicles)
			guiGridListSetItemText(GridlistPlayerVehicles, row, 1, carName, false, true)
			guiGridListSetItemData(GridlistPlayerVehicles, row, 1, ID)
			guiGridListSetItemText(GridlistPlayerVehicles, row, 2, PreCost, false, true)
			guiGridListSetItemColor(GridlistPlayerVehicles, Row, 1, 255, 255, 0)
			guiGridListSetItemColor(GridlistPlayerVehicles, Row, 2, 255, 0, 0)
		end
	end
end



addEvent ( 'ManagerPanel:OpenWindow', true )
addEventHandler ( 'ManagerPanel:OpenWindow', root,
function ()
    guiSetVisible ( WindowManager, true )
    showCursor ( true )
	loadAllPlayers()
end)

addEventHandler("onClientGUIClick",guiRoot,
function ()
	if source == ButtonCloseManagerPanel then
		guiSetVisible(WindowManager,false)
		showCursor(false)
	elseif (source == EditVehicleID) then 
		if (guiGetText(source) == EditID) then
			guiSetText(source, "")
		end
	elseif (source == EditVehiclePrice) then 
		if (guiGetText(source) == EdiPrice) then
			guiSetText(source, "")
		end
	elseif (source == ButtonGivePlayer) then
		local vehicle = guiGetText(EditVehicleID)
		local price = guiGetText(EditVehicleID)
		local Name = getPlayerName(localPlayer)
		local r1, g1, b1, r2, g2, b2 = getVehicleColor(vehicle, true)
		triggerServerEvent("GivePlayerVehicle", localPlayer, vehicle, price, r1, g1, b1, r2, g2, b2)
	elseif source == ButtonSetVehicleColor then
		openColorPicker()
	elseif source == ButtonTakePlayerVehicle then
		local row = guiGridListGetSelectedItem( GridlistPlayerVehicles )
		triggerServerEvent("TakePlayerVehicle", localPlayer, ID)
	end
end)

addEventHandler("onClientGUIClick", guiRoot,
function()
	local row = guiGridListGetSelectedItem( GridlistPlayers )
	local playerName = guiGridListGetItemText( GridlistPlayers, row, 1 )
	local wc = getPlayerFromName(playerName)
		if source == GridlistPlayers then
			if row and row ~= -1 then
			getPlayerVehicles()
		else
			exports["guimessages"]:outputClient("#FF0000Please select a player from the players list !", 255, 0, 0)
			end
		end
	end
)

 

Quote

function getPlayerVehicles()
	local data = getElementData(localPlayer, "VehicleInfo")
	if data then
		guiGridListClear(GridlistPlayerVehicles)
		for i, data in ipairs (data) do
			local carName = getVehicleNameFromModel(data["Model"])
			local ID = data["ID"]
			local Cost = data["Cost"]
			local HP = math.floor(data["HP"])
			local PreCost = math.ceil(Cost*.9*HP/100/10)
			local Row = guiGridListAddRow(GridlistPlayerVehicles)
			guiGridListSetItemText(GridlistPlayerVehicles, row, 1, carName, false, true)
			guiGridListSetItemData(GridlistPlayerVehicles, row, 1, ID)
			guiGridListSetItemText(GridlistPlayerVehicles, row, 2, PreCost, false, true)
			guiGridListSetItemColor(GridlistPlayerVehicles, Row, 1, 255, 255, 0)
			guiGridListSetItemColor(GridlistPlayerVehicles, Row, 2, 255, 0, 0)
		end
	end
end

 

 

Edited by SnakeEyEs
Link to post

مشكلتك بسيطه لكن خلني أعلمك بشيء قبل ماتعرف وش الخطأ :

أولاً : كودك بهذي الطريقة, معلومات سيارة اللاعب اللي اخترته أنت بتطلع لك فقط لأن الكود كلينيت.

ثانياً : دام انك بتختار لاعب واحد فقط عشان تجيب معلومات سيارته, مايحتاج تسوي لوب سطر6 في كودك الثاني.

رابعاً : إذا ودك تسوي قاعدة حفظ لبيانات سيارات اللاعبين طريقتك غلط, لأن الداتا بتختفي بمجرد اللاعب يطلع من السيرفر, لازم تسويها من خلال قواعد البيانات أو تحفظ على الحساب أو أي طريقة أخرى والطرق كثيره.

أخيراً نجي للخطأ حقك, الخطأ بكل اختصار هو حرف واحد فقط, سطر 6 في كود جلب المعلومات :

.pairs وهذا خطأ, الصحيح تحط ipairs في اللوب أنت حاط

^ طبعاً بيكون كودك لازال خطأ لأن اللوب بيجيب كل شي داخل الداتا عشان كذا قلت لك مايحتاج تستخدم لوب

بشرح لك الفرق يمكن يفيدك :

Words = {
	[1] = 'واحد',
	[2] = 'اثنان',
	[3] = 'ثلاثه',
	['Four'] = 'أربعه'
}

-- ipairs : تستخدم مع المفاتيح الطبيعية اللي ماتغيرت, يعني ماحطيت مفتاح خاص
-- [1] = 'One' ذا مفتاح طبيعي, رقم فقط
-- ['One'] = '1' ذا مفتاح غير طبيعي, حطيت للمفتاح اسم.

for k,v in ipairs ( Words ) do
	outputChatBox( k .. ' : '.. v );
end

--[[
1 : واحد 
2 : اثنان
3 : ثلاثه
]]

-- pairs : غالباً تستخدم مع المفاتيح الغير طبيعيه, هذا لا ينفي امكانية استخدامها مع الطبيعيه أيضاً

for k,v in pairs ( Words ) do
	outputChatBox( k .. ' : '.. v );
end

--[[
1 : واحد 
2 : اثنان
Four : أربعه
3 : ثلاثه
]]

 

طولت عليك أعتذر, ماودي أعطيك الكود جاهز ودي تفهم من كلامي وتسويه عشان تتعلم.

بالتوفيق.

 

 

Link to post

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...