Jump to content

مساعدة بالخاص


Recommended Posts

السلام عليكم

ابي اسوي مود مثل مود الخاص

الحين انا عملت كل ذول ( Edit , Memo , Edit, GridList, Button ) 

المشكلة الي عندي هي اني ابي لما الاعب يضغط على ال Button 

و يكون كلام بال Edit 

يجي للاعب الي محدده بال GridList الكلام

بال Memo

و يجي للي ارسل الكلام الي كتبه

الحين انا اعرف اعملها و عملت ان الكلام يجي بالشات للطرفين بس الشي الي مو عارف اعمله هو انه يجي الكلام للشخصين بس يعني مو للكل

انا لما ارسل للشخص الي محدده عملت انه يجي بال Memo

بس يجي للكل انا ابي يجي بس الي و له الرسالة مو للكل 

جربت اسويها بجدول ما عرفت 

Edited by #[K]iLLeR<3
Link to comment
1 hour ago, #[K]iLLeR<3 said:

السلام عليكم

ابي اسوي مود مثل مود الخاص

الحين انا عملت كل ذول ( Edit , Memo , Edit, GridList, Button ) 

المشكلة الي عندي هي اني ابي لما الاعب يضغط على ال Button 

و يكون كلام بال Edit 

يجي للاعب الي محدده بال GridList الكلام

بال Memo

و يجي للي ارسل الكلام الي كتبه

الحين انا اعرف اعملها و عملت ان الكلام يجي بالشات للطرفين بس الشي الي مو عارف اعمله هو انه يجي الكلام للشخصين بس يعني مو للكل

انا لما ارسل للشخص الي محدده عملت انه يجي بال Memo

بس يجي للكل انا ابي يجي بس الي و له الرسالة مو للكل 

جربت اسويها بجدول ما عرفت 

جربت تخليه يتحقق من اسم اللاعب الي ينرسل له ؟

Link to comment
-- ملاحظة , هذا ليس كود كامل إنما شرح فقط لطريقة وضع الداتا********************

-- من المفترض ان يكون الكود التالي داخل حدث الضغط على زر الارسال


local row , col = guiGridListGetSelectedItem( gridlist );

if row and col and type(row) == "number" and type(col) == "number" then

	selectedPlayerName=guiGridListGetItemText ( gridList, row, col );
	
	selectedPlayer=getPlayerFromName(selectedPlayerName);
	
	setElementData( localPlayer, "whoPlayerSelected", selectedPlayer ); -- وضعنا داتا للمرسل وتتضمن هذه الداتا اللاعب المُرسل لهُ
	
end

 

 

ثم "

 

تقدر تختصر الموضوع وتسوي ترايقر لسيرفر وداخل الترايقر تحط القيمة جدول وتحط داخله المرسل و المرسل اليه

وترجع تسوي من السيرفر ترايقر لكلنت للمرسل و المرسل اليه فقط و تحط النص في الميمو

 

فيه طرق كثيره على حسب بناءك للكود من البداية ..

Edited by NX_CI
Link to comment
Just now, #,xiRocKyz said:

وعليكم السلام

اطرح الي سويته..

send = guiCreateButton(256, 674, 47, 28, "Send", false)
guiSetFont(send, "default-bold-small")
guiSetProperty(send, "NormalTextColour", "FF1EFF00")
guiSetVisible(send,false)
memo = guiCreateMemo(17, 413, 286, 258, "", false)
guiMemoSetReadOnly(memo, true)
guiSetVisible(memo,false)
editBox = guiCreateEdit(21, 674, 235, 26, "", false)
guiSetVisible(editBox,false)
playersgrid = guiCreateGridList(21, 719, 280, 161, false)    
guiGridListAddColumn(playersgrid, "Players ..", 0.9)
guiSetVisible(playersgrid,false)

function setName()
	guiGridListClear(playersgrid)
	for id, player in ipairs(getElementsByType("player")) do
		    if player == localPlayer then else
                local row = guiGridListAddRow(playersgrid)
                guiGridListSetItemText(playersgrid, row, 1, getPlayerName(player), false, false)
		end			
	end
end 
addEventHandler("onClientResourceStart",root,setName)
addEventHandler("onClientPlayerJoin",root,setName)
addEventHandler("onClientPlayerQuit",root,setName)
addEventHandler("onClientPlayerChangeNick",root,setName)


function OnSend()
local name = guiGridListGetItemText(playersgrid, guiGridListGetSelectedItem(playersgrid), 1)
if source == send then
guiSetFlood(send, 5)
if name then
local text = guiGetText(editBox)
triggerServerEvent("SendMsg", localPlayer, name, text)
end
end	 
end
addEventHandler("onClientGUIClick", getRootElement(), OnSend)


------------------------------------------------------------


function SendMsgs(name, text)
	local player = getPlayerFromName(name)
	if player then
		outputChatBox("#00ff00"..getPlayerName(source).." #00ff00: ".. text.."", player, 0, 255, 0,true)
		outputChatBox("You Send to #00ff00".. name.." #00ff00: ".. text.."", source, 0, 255, 0,true)
	end
end
addEvent("SendMsg", true)
addEventHandler("SendMsg", root, SendMsgs)

ذي الاكواد بدون التخبيص الي مسويه انا

Just now, NX_CI said:

فيه طرق كثيره على حسب بناءك للكود من البداية ..

ما فهمت طريقة استعمال الداتا يعني كيف بتوصل له ولا كيف بخلي الميمو يجي فيه الكلام مو فاهم

Just now, NX_CI said:

وترجع تسوي من السيرفر ترايقر لكلنت للمرسل و المرسل اليه فقط و تحط النص في الميمو

 

حاولت اسوي كذا المشكلة انه يجي الكلام للجميع

Edited by #[K]iLLeR<3
Link to comment
function OnSend()
	local name = guiGridListGetItemText(playersgrid, guiGridListGetSelectedItem(playersgrid), 1)
	if source == send then
		guiSetFlood(send, 5)
		if name then
		
			local text = guiGetText(editBox);
			
			triggerServerEvent("SendMsg", localPlayer, name, text);
			
			
		end
		
	end
	
end

addEventHandler("onClientGUIClick", getRootElement(), OnSend)




addEvent("SendMsg",true)

addEventHandler("SendMsg", root,

	function( name , text, senderName )
		
		guiSetText(memo, '[ '..senderName..' ] : '..text..'\n')
		
	end
	
)



--SERVER--

SendMsg=function( name, text )

	if text then
	
		local players = { getPlayerFromName(name), source };
		
		for i = 1,2 do
		
			triggerClientEvent( players[i], 'SendMsg', players[i], name, text, getPlayerName(players[2]) );
			
		end
		
	end
	
	return false
	
end



addEventHandler('SendMsg', root, SendMsg)
addEvent('SendMsg', true)

ملاحظة * الكود غير مجرب

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