Jump to content

Xx{ مساعدة في كود }xX


Recommended Posts

  السلام عليكم  
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
 المشكلة باختصار شديد هي
اني سويت مود عبارة عن قريد ليست واديت بوكس وزر
يسوي لما اكتب شيء بلاديت بوكس يروح للقريد ليست
انا ابي لما يروح للقريد ليست اللاعب الي كتب الرسالة يظهر اسمو بجانب الرسالة الي ارسلها

كلنت

ddEventHandler('onClientResourceStart' , resourceRoot ,
function ( )
    triggerServerEvent ( 'EventS' , localPlayer )
end )
guiSetFont( gridNews , "default-bold-small")
addEvent('addText' , true )
addEventHandler('addText' , getRootElement ( ),
function ( )
    local aRow2 = guiGridListAddRow ( gridNews )
        guiGridListSetItemText ( gridNews ,  aRow2 , 1 , aZText , false , false )
        guiGridListSetItemColor ( gridNews , aRowz , 1 , math.random ( 255 ), math.random ( 255 ), math.random ( 255 ) )
end )
addEvent('EventT2' , true )
addEventHandler('EventT2' , getRootElement ( ),
function ( Value )
    for Value1 , Value2 in ipairs ( Value ) do
        local aRowz = guiGridListAddRow ( gridNews )
            guiGridListSetItemText ( gridNews , aRowz , 1 , Value2.aRows , false , false )
            guiGridListSetItemColor ( gridNews , aRowz , 1 , math.random ( 255 ), math.random ( 255 ), math.random ( 255 ) )
    end
end )

سيرفر
 

-- Server

executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( aRows )' )

addEvent('Event', true )
addEventHandler('Event' , getRootElement ( ) ,
function ( aText )
    executeSQLQuery( 'INSERT INTO aSoking VALUES ( ? )' , aText )
    triggerClientEvent( getRootElement ( ) , 'addText', getRootElement ( ) , Text )
	local check1 = executeSQLQuery( ' SELECT * FROM `bank` WHERE accname = ? ', getPlayerAccount(source) )
if #check1==0 then return outputChatBox('you have wrong in insert function ',source ) end
outputChatBox('You Have Add '..check1[1].bank, source , 255,0,0)
end )

addEvent('EventS', true )
addEventHandler('EventS' , getRootElement ( ) ,
function ( )
    Value = executeSQLQuery( 'SELECT * FROM aSoking' )
        if ( #Value ~= 0 ) then
            triggerClientEvent ( source , 'EventT2' , source , Value )
    end
end )

:cheers: اتمني الافادة 

Link to comment
getPlayerName(localPlayer or source)
-- local player = client
-- source = server

لو ما عرفت تسويها , اطرح الاكواد كاملة

3 hours ago, MrNAMOLA said:

executeSQLQuery( ' SELECT * FROM `bank` WHERE accname = ? ', getPlayerAccount(source) )

+ انت مسوي تحقق بقاعدة اسمها بنك , ومب حاطط بالمود انشاء قاعدة اسمها بنك

 

تقريبا تبي تسوي كذا والله اعلم

-- Client 

addEventHandler('onClientResourceStart' , resourceRoot ,
	function ( )
		triggerServerEvent ( 'EventS' , localPlayer )
			guiSetFont( gridNews , "default-bold-small")
	end 
)


addEvent('EventT2' , true )
addEventHandler('EventT2' , getRootElement ( ),
	function ( Value )
	  guiGridListClear( gridNews )
		for Value1 , Value2 in ipairs ( Value ) do
			local aRowz = guiGridListAddRow ( gridNews )
				guiGridListSetItemText ( gridNews , aRowz , 1 , Value2.aRows , false , false )
            guiGridListSetItemText ( gridNews , aRowz , 2 , Value2.playerName , false , false )
          guiGridListSetItemColor ( gridNews , aRowz , 1 , math.random ( 255 ), math.random ( 255 ), math.random ( 255 ) )
		end
	end 
)
-- Server

executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( aRows,playerName )' )

addEvent('Event', true )
addEventHandler('Event' , getRootElement ( ) ,
	function ( aText )
		executeSQLQuery('INSERT INTO aSoking (aRows, playerName) VALUES(?, ?)', aText, getPlayerName(source))
			outputChatBox('You Have Add '..aText..'', source , 255,0,0)
				triggerEvent("EventS",source)
	end
)

addEvent('EventS', true )
addEventHandler('EventS' , getRootElement ( ) ,
function ( )
    Value = executeSQLQuery( 'SELECT * FROM aSoking' )
        if ( #Value ~= 0 ) then
            triggerClientEvent ( source , 'EventT2' , source , Value )
    end
end )

 

Link to comment
10 hours ago, Mr.Mostafa said:

لو ما عرفت تسويها , اطرح الاكواد كاملة

+ انت مسوي تحقق بقاعدة اسمها بنك , ومب حاطط بالمود انشاء قاعدة اسمها بنك

 

طيب حب انا الحين جربت الاكواد وظهرلي الخطاء كذا 
الديباق...
https://d.top4top.net/p_1012b63ln1.png

Link to comment
7 hours ago, MrNAMOLA said:

  مــمــكــن  مـــثال توضيحي اكتر من كذا  

executeSQLQuery("DROP TABLE `aSoking`" )

حطها في السيرفر وشغل المود

بعدها شيلها من ملف السيرفر ورستر المود :) 

Link to comment
35 minutes ago, MrKAREEM said:

executeSQLQuery("DROP TABLE `aSoking`" )

حطها في السيرفر وشغل المود

بعدها شيلها من ملف السيرفر ورستر المود :) 

مصار شيء -_-

 

يا شباب المود يظهر التكست الي اكتبها بقريد ليست انا ابي لما التكست يتحول للقريد ليست يظهر بجانب الرسالة اسم الي ارسلها

يعني الي يجي يساعدني يفسرلي علي قد ميقدر  sql انا مبتدء بلغة

@MrKAREEM
@N3xT
@Mr.Mostafa
 :cheers: اتمني الافادة 

Link to comment
On 09/10/2018 at 23:03, MrNAMOLA said:

طيب حب انا الحين جربت الاكواد وظهرلي الخطاء كذا 
الديباق...
https://d.top4top.net/p_1012b63ln1.png

صح انا نفس كلام كيلر

قول انت عاوز تعمل ايه وهفهمك كل حاجة واعلمك السكل

  • Like 1
Link to comment
7 hours ago, MrKAREEM said:

صح انا نفس كلام كيلر

قول انت عاوز تعمل ايه وهفهمك كل حاجة واعلمك السكل

شف يا غالي انا مسوي لما اللاعب مثلا يكتب (منور يا حلو ) بلاديت بوكس تتحول لقريد ليست ذي انا مسويها

تروح للقريد ليست (test) الي ابيه هو مثلا انا اسمي نمولا ورسلت رسالة مكتوب فيها

ويكون بجانبها اسمي لان انا اليي ارسلتها 
_____________________________
هذه الصورة رح توضح
p_1014ubod01.png
ذا مود الاخ سفج هو مسوي لوق شات ان اي رسالة تنكتب بشات تروح لقريد ليست وفيها اسم الي ارسلها

_____________________________
هاد الي ابي اسوية بس علي ايديت بوكس ان لما اللاعب يكتب رسالة في ايديت بوكس تروح للقريد ليست وفيها الرسالة الي كتبها في الايدت واسمو
:cheers:اتمني ان اكون وصلت لك المعلومة+اتمني الافادة

Link to comment
17 minutes ago, MrNAMOLA said:

شف يا غالي انا مسوي لما اللاعب مثلا يكتب (منور يا حلو ) بلاديت بوكس تتحول لقريد ليست ذي انا مسويها

تروح للقريد ليست (test) الي ابيه هو مثلا انا اسمي نمولا ورسلت رسالة مكتوب فيها

ويكون بجانبها اسمي لان انا اليي ارسلتها 
_____________________________
هذه الصورة رح توضح
p_1014ubod01.png
ذا مود الاخ سفج هو مسوي لوق شات ان اي رسالة تنكتب بشات تروح لقريد ليست وفيها اسم الي ارسلها

_____________________________
هاد الي ابي اسوية بس علي ايديت بوكس ان لما اللاعب يكتب رسالة في ايديت بوكس تروح للقريد ليست وفيها الرسالة الي كتبها في الايدت واسمو
:cheers:اتمني ان اكون وصلت لك المعلومة+اتمني الافادة

(: مادام ان المود حق سفج مش مشفر حأول وهات محاولاتك ...

Link to comment
21 hours ago, #[K]iLLeR<3 said:

سؤال يعني ذا مود خاص او شي كذا و انت تبي تحفظ الرسائل او تراقب بمعنى اخر ؟

علشان نعرف نساعدك بس

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

13 hours ago, *AnGeL said:

(: مادام ان المود حق سفج مش مشفر حأول وهات محاولاتك ...

المشكلة فتحت مودات كثيرة تقوم بنفس المهمة وحثيت اني اتكلم هيروغليفي
ومكنت فاهم شيء فحبيت اتعلم بنفسي
فنا ابغي ان الي يساعدني يوضح لي علي قد ميقدر

Link to comment

تمام كويس كدة فهمتك

اول حاجة

مثلا دا ايديت اهو والبتن والقريد مع الكولمن

 

editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true )
button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true )
Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true)
guiGridListAddColumn(Grid, "Name", 0.5)
guiGridListAddColumn(Grid, "Text", 0.8)
guiSetVisible(editBox, false)
guiSetVisible(button, false)
guiSetVisible(grid, false)

-- خلينا كل شئ مش ظاهر وهنخلي دلوقتي زر عشان يفتحهم --

 

ثاني حاجة نروح للسيرفر سريع نعمل الجدول

 

-- #Server --
executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( Name,Text )' )

-- asoking عملنا جدول اذا ما كان موجود باسم --
-- بالنسبة للكلام اللي ما بين الاقواس دا مثل الرو اللي بيبقي موجود في القريد ليست هفهمك هنحتاجه في ايه دلوقتي --

 

بعدين عاوزين لما نضغط علي البتن ياخد الكلام ويعمل تريقر بيه :) عشان يسوي انسرت

 

addEventHandler('onClientGUIClick',root,
function()
if (source == button) then
local TheElementText = guiGetText(editBox)
triggerServerEvent('InsertTheMessage',localPlayer,TheElementText)
end
end )

-- استخدمنا ايفينت الجوي كليك وعملنا تحقق اذا كان البتن واخذنا الكلام من الايديت وعملنا تريقر للسيرفر ايفنت --
-- InsertTheMessage دلوقتي هنروح نحط الايفنت في السيرفر اللي هو --
-- عشان نكون عرفنا التكست ونقدر نستخدمه TheElementText وهنحط في الفنكشن ما بين القوسين كلمة --

 

ودلوقتي نعمل الايفينت

 

-- server side --

addEvent('InsertTheMessage',true)
addEventHandler('InsertTheMessage',root,
function(TheElementText) -- الايلمنت تيكست هو الكلام اللي جبناه من الايديت وعملنا بيه تريقر فلازم نحطه هنا --
executeSQLQuery('INSERT INTO aSoking (Name, Text) VALUES(?, ?)', getPlayerName(source), TheElementText ) -- عملنا انسرت للكلام واسم اللاعب في الداتا بتاعتنا --
outputChatBox('!! ['..Name..'] : مع الاسم ['..Text..'] : تم ادخال الكلام', source, 0,255,0) -- عشان نتاكد ان كل شئ تمام --
end )

 

طيب مثلا دلوقتي عشان اجيب كل الداتا في الجريد هنعمل زر عشان نفتح الجريد والبتن والايديت بزر :) 

 

-- Client Side -- 

bindKey('F2,'down',
function()
guiSetVisible(button, not guiGetVisible(button))
guiSetVisible(editBox, not guiGetVisible(editBox))
guiSetVisible(grid, not guiGetVisible(grid))
showCursor(guiGetVisible(grid))
triggerServerEvent('GetTheData',localPlayer)
end )

-- كدة كل شئ هيفتح ويقفل تمام + نجيب الداتا دلوقتي نروح نعمل تريقر بالسيرفر --

 

نعمل التريقر :) 

 

-- Server Side --

addEvent('GetTheData',true)
addEventHandler('GetTheData',root,
function()
local Data = executeSQLQuery( ' SELECT * FROM aSoking ' )
if ( type (Data) == "table" and #Data == 0 or not Data ) then triggerClientEvent( source, 'NoData', source) end -- لو مكنش فيه داتا يروح يعمل كلير للقريد ليست --
triggerClientEvent( source, 'PutDataInGridList', source, Data) -- نعمل تريقر بالداتا وهيحطها دلوقتي في الجريد بس نروح نعمل الايفينت --
end
  end )

 

PutDataInGridList والثاني حق noData دلوقتي نعمل ايفينتين الاول حق

 

-- Client Side --

addEvent('NoData',true)
addEventHandler('NoData',root,
function()
guiGridListClear(grid) -- يصفي القريد
end)

addEvent('PutDataInGridList',true)
addEventHandler('PutDataInGridList',root,
function(SQL) -- اللي في السيرفر سايد بس عادي لو غيرت اسمها Data هي نفس ال Sql --
guiGridListClear(grid) -- تصفية القريد --
for i, v in ipairs (SQL) do -- نجيب كل اللي في الداتا --
local Row = guiGridListAddRow(grid) -- عشان نضيف التكست في القريد --
local TheName = guiGridListSetItemText(grid, Row, 1, SQL[i].Name, false, false) -- حطينا كل اسماء اللاعبين اللي في الداتا في اول رو --
local TheText = guiGridListSetItemText(grid, Row, 2, SQL[i].Text, false, false) -- حطينا كل التكست اللي في الداتا الي الرو --
-- ملحوظة بعد كلمة SQL[i]. لازم يكون واما اسم الرو الاول في الداتا واللي هو Name
-- او الرو الثاني اللي هو Text --
end
end)

 

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

دي اكواد الكلينت كلها اللي استخدمناها :) 

 

-- ملفات الكلينت كلها --

editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true )
button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true )
Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true)
guiGridListAddColumn(Grid, "Name", 0.5)
guiGridListAddColumn(Grid, "Text", 0.8)
guiSetVisible(editBox, false)
guiSetVisible(button, false)
guiSetVisible(grid, false)

-- خلينا كل شئ مش ظاهر وهنخلي دلوقتي زر عشان يفتحهم --

addEventHandler('onClientGUIClick',root,
function()
if (source == button) then
local TheElementText = guiGetText(editBox)
triggerServerEvent('InsertTheMessage',localPlayer,TheElementText)
end
end )

-- استخدمنا ايفينت الجوي كليك وعملنا تحقق اذا كان البتن واخذنا الكلام من الايديت وعملنا تريقر للسيرفر ايفنت --
-- InsertTheMessage دلوقتي هنروح نحط الايفنت في السيرفر اللي هو --
-- عشان نكون عرفنا التكست ونقدر نستخدمه TheElementText وهنحط في الفنكشن ما بين القوسين كلمة --

bindKey('F2,'down',
function()
guiSetVisible(button, not guiGetVisible(button))
guiSetVisible(editBox, not guiGetVisible(editBox))
guiSetVisible(grid, not guiGetVisible(grid))
showCursor(guiGetVisible(grid))
triggerServerEvent('GetTheData',localPlayer)
end )

-- كدة كل شئ هيفتح ويقفل تمام + نجيب الداتا دلوقتي نروح نعمل تريقر بالسيرفر --

addEvent('NoData',true)
addEventHandler('NoData',root,
function()
guiGridListClear(grid) -- يصفي القريد
end)

addEvent('PutDataInGridList',true)
addEventHandler('PutDataInGridList',root,
function(SQL) -- اللي في السيرفر سايد بس عادي لو غيرت اسمها Data هي نفس ال Sql --
guiGridListClear(grid) -- تصفية القريد --
for i, v in ipairs (SQL) do -- نجيب كل اللي في الداتا --
local Row = guiGridListAddRow(grid) -- عشان نضيف التكست في القريد --
local TheName = guiGridListSetItemText(grid, Row, 1, SQL[i].Name, false, false) -- حطينا كل اسماء اللاعبين اللي في الداتا في اول رو --
local TheText = guiGridListSetItemText(grid, Row, 2, SQL[i].Text, false, false) -- حطينا كل التكست اللي في الداتا الي الرو --
-- ملحوظة بعد كلمة SQL[i]. لازم يكون واما اسم الرو الاول في الداتا واللي هو Name
-- او الرو الثاني اللي هو Text --
end
end)

 

ملفات السيرفر كلها :) 

 

-- ملفات السيرفر كلها --
executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( Name,Text )' )

-- asoking عملنا جدول اذا ما كان موجود باسم --
-- بالنسبة للكلام اللي ما بين الاقواس دا مثل الرو اللي بيبقي موجود في القريد ليست هفهمك هنحتاجه في ايه دلوقتي --

addEvent('InsertTheMessage',true)
addEventHandler('InsertTheMessage',root,
function(TheElementText) -- الايلمنت تيكست هو الكلام اللي جبناه من الايديت وعملنا بيه تريقر فلازم نحطه هنا --
executeSQLQuery('INSERT INTO aSoking (Name, Text) VALUES(?, ?)', getPlayerName(source), TheElementText ) -- عملنا انسرت للكلام واسم اللاعب في الداتا بتاعتنا --
outputChatBox('!! ['..Name..'] : مع الاسم ['..Text..'] : تم ادخال الكلام', source, 0,255,0) -- عشان نتاكد ان كل شئ تمام --
end )

addEvent('GetTheData',true)
addEventHandler('GetTheData',root,
function()
local Data = executeSQLQuery( ' SELECT * FROM aSoking ' )
if ( type (Data) == "table" and #Data == 0 or not Data ) then triggerClientEvent( source, 'NoData', source) end -- لو مكنش فيه داتا يروح يعمل كلير للقريد ليست --
triggerClientEvent( source, 'PutDataInGridList', source, Data) -- نعمل تريقر بالداتا وهيحطها دلوقتي في الجريد بس نروح نعمل الايفينت --
end
  end )

 

موفق ان شاء الله :) 

  • Like 2
  • Thanks 1
Link to comment
On 12/10/2018 at 13:29, MrKAREEM said:

اول حاجة

سوري علي رفع الموضوع قديم حبيتين بس مش اوي

بس لاحظت في خطا في كلامك

المشكلة لو عمل زي ما قلت

لما يجي يطلع كل الكلام اللي في السكل

للاسف بيطلعلوا اخر شئ اتحفظ في السكل

لانك بتحفظ الجديد وتحذف القديم لازم تستعمل الجداول 

+

toJSON
fromJSON

+

في اخطاء كثيرة للاسف في السكريبت حقك

=================================================================

وبالنسبة لصاحب الموضوع

Client : 

editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true )
button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true )
Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true)
Name = guiGridListAddColumn(Grid, "Name", 0.5)
Text = guiGridListAddColumn(Grid, "Text", 0.8)
guiSetVisible( editBox, false )
guiSetVisible( button, false )
guiSetVisible( Grid, false )

bindKey( 'F2' , 'down' ,
	function()
		guiSetVisible(button, not guiGetVisible(button))
		guiSetVisible(editBox, not guiGetVisible(editBox))
		guiSetVisible(Grid, not guiGetVisible(Grid))
		showCursor(guiGetVisible(Grid))
		triggerServerEvent( 'getSQLQuery' , localPlayer )
	end 
)

addEventHandler( 'onClientGUIClick' , root , 
	function(  )
		if ( source == button ) then			
			triggerServerEvent( 'saveNameAndData' , localPlayer , guiGetText( editBox  ) )
		end
	end
)

addEvent( 'clearGridList' , true )
addEventHandler( 'clearGridList' , root , 
	function(  )
		guiGridListClear( Grid )
	end
)

addEvent( 'setDataOnGridlist' , true )
addEventHandler( 'setDataOnGridlist' , root , 
	function( name , text )
		local _Row = guiGridListAddRow( Grid )
		guiGridListSetItemText( Grid , _Row , Name , name , false , false )
		guiGridListSetItemText( Grid , _Row , Text , text , false , false )
	end
)

Server : 

executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS _aSoking ( Name,Text )' )

addEvent( 'saveNameAndData' , true )
addEventHandler( 'saveNameAndData' , root , 
	function( text )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then
			executeSQLQuery( 'insert into _aSoking( Name , Text ) values( ? , ? ) ' , toJSON( { getPlayerName( source ) } ) , toJSON( { text } ) )
		else
			local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
			table.insert( Names , getPlayerName( source ) ) ; table.insert( Text , text )
			executeSQLQuery( 'update _aSoking set Name = ? , Text = ?' , toJSON( Names ) , toJSON( Text ) )			
		end
	end
)

addEvent( 'getSQLQuery' , true )
addEventHandler( 'getSQLQuery' , root , 
	function(  )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then return outputChatBox( 'لا يوجد داتا لاظهارها' , source , 255 , 0 , 0 , true ) end
		local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
		triggerClientEvent( root , 'clearGridList' , resourceRoot )
		for i = 1 , #Names do
			triggerClientEvent( root , 'setDataOnGridlist' , resourceRoot , Names[ i ] , Text[ i ] )
		end
	end
)

@MrKAREEM

@MrNAMOLA

 

Edited by KillerX
  • Thanks 1
Link to comment

كفوو شباب مشكورين علي تعبكم
========
في مشكلة بس صغيرة
ان لما ارسل شيء ميجي لازم ارستر المود بعدين افتح اللقيها موجودة بقريد ليست
ابي اول مكتبها تروح علي القريد ليست طوالي وما ارستر المود
========
@MrKAREEM
@KillerX

Link to comment
8 hours ago, MrNAMOLA said:

كفوو شباب مشكورين علي تعبكم
========
في مشكلة بس صغيرة
ان لما ارسل شيء ميجي لازم ارستر المود بعدين افتح اللقيها موجودة بقريد ليست
ابي اول مكتبها تروح علي القريد ليست طوالي وما ارستر المود
========
@MrKAREEM
@KillerX

بدل الكود بدا

		addEvent( 'saveNameAndData' , true )
addEventHandler( 'saveNameAndData' , root , 
	function( text )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then
			executeSQLQuery( 'insert into _aSoking( Name , Text ) values( ? , ? ) ' , toJSON( { getPlayerName( source ) } ) , toJSON( { text } ) )
			local Names2 , Text2 = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
			triggerClientEvent( root , 'clearGridList' , resourceRoot )
			for i = 1 , #Names2 do
				triggerClientEvent( root , 'setDataOnGridlist' , resourceRoot , Names2[ i ] , Text2[ i ] )
			end
		else
			local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
			table.insert( Names , getPlayerName( source ) ) ; table.insert( Text , text )
			executeSQLQuery( 'update _aSoking set Name = ? , Text = ?' , toJSON( Names ) , toJSON( Text ) )			
		end
	

 

Link to comment
Just now, Mr.Mostafa said:

بدل الكود بدا


		addEvent( 'saveNameAndData' , true )addEventHandler( 'saveNameAndData' , root , 	function( text )		local data = executeSQLQuery( 'select * from _aSoking' )		if ( #data == 0 or not data ) then			executeSQLQuery( 'insert into _aSoking( Name , Text ) values( ? , ? ) ' , toJSON( { getPlayerName( source ) } ) , toJSON( { text } ) )			local Names2 , Text2 = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )			triggerClientEvent( root , 'clearGridList' , resourceRoot )			for i = 1 , #Names2 do				triggerClientEvent( root , 'setDataOnGridlist' , resourceRoot , Names2[ i ] , Text2[ i ] )			end		else			local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )			table.insert( Names , getPlayerName( source ) ) ; table.insert( Text , text )			executeSQLQuery( 'update _aSoking set Name = ? , Text = ?' , toJSON( Names ) , toJSON( Text ) )					end	

 

خطأ + مطول في الكود مرا

لو تلاحظ تحت في ايفينت يجيب كل اللي موجود في السكل

ببساطه سوي تريقر للايفينت دا وخلاص

====================================================

بالنسبة لصاحب الموضوع بدل ملف السيرفر بدا

executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS _aSoking ( Name,Text )' )
addEvent( 'saveNameAndData' , true )
addEventHandler( 'saveNameAndData' , root , 
	function( text )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then
			executeSQLQuery( 'insert into _aSoking( Name , Text ) values( ? , ? ) ' , toJSON( { getPlayerName( source ) } ) , toJSON( { text } ) )
		else
			local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
			table.insert( Names , getPlayerName( source ) ) ; table.insert( Text , text )		
			executeSQLQuery( 'update _aSoking set Name = ? , Text = ?' , toJSON( Names ) , toJSON( Text ) )			
			triggerEvent( 'getSQLQuery' , source )
		end
	end
)
addEvent( 'getSQLQuery' , true )
addEventHandler( 'getSQLQuery' , root , 
	function(  )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then return outputChatBox( 'لا يوجد داتا لاظهارها' , source , 255 , 0 , 0 , true ) end
		local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
		triggerClientEvent( root , 'clearGridList' , resourceRoot )
		for i = 1 , #Names do
			triggerClientEvent( root , 'setDataOnGridlist' , resourceRoot , Names[ i ] , Text[ i ] )
		end
	end
)

 

Link to comment
15 hours ago, KillerX said:

خطأ + مطول في الكود مرا

لو تلاحظ تحت في ايفينت يجيب كل اللي موجود في السكل

ببساطه سوي تريقر للايفينت دا وخلاص

====================================================

بالنسبة لصاحب الموضوع بدل ملف السيرفر بدا


executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS _aSoking ( Name,Text )' )
addEvent( 'saveNameAndData' , true )
addEventHandler( 'saveNameAndData' , root , 
	function( text )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then
			executeSQLQuery( 'insert into _aSoking( Name , Text ) values( ? , ? ) ' , toJSON( { getPlayerName( source ) } ) , toJSON( { text } ) )
		else
			local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
			table.insert( Names , getPlayerName( source ) ) ; table.insert( Text , text )		
			executeSQLQuery( 'update _aSoking set Name = ? , Text = ?' , toJSON( Names ) , toJSON( Text ) )			
			triggerEvent( 'getSQLQuery' , source )
		end
	end
)
addEvent( 'getSQLQuery' , true )
addEventHandler( 'getSQLQuery' , root , 
	function(  )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then return outputChatBox( 'لا يوجد داتا لاظهارها' , source , 255 , 0 , 0 , true ) end
		local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
		triggerClientEvent( root , 'clearGridList' , resourceRoot )
		for i = 1 , #Names do
			triggerClientEvent( root , 'setDataOnGridlist' , resourceRoot , Names[ i ] , Text[ i ] )
		end
	end
)

 

اي تمام 

كنت صاير ادور علي الايفنت , بس ما انتبهت للاكواد زين ..

 

 

  • Like 1
Link to comment
On 24/10/2018 at 00:13, KillerX said:

سوري علي رفع الموضوع قديم حبيتين بس مش اوي

 بس لاحظت في خطا في كلامك

 المشكلة لو عمل زي ما قلت

 لما يجي يطلع كل الكلام اللي في السكل

 للاسف بيطلعلوا اخر شئ اتحفظ في السكل

 لانك بتحفظ الجديد وتحذف القديم لازم تستعمل الجداول 

 +


toJSON
fromJSON

+

في اخطاء كثيرة للاسف في السكريبت حقك

 =================================================================

وبالنسبة لصاحب الموضوع

 Client : 


editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true )
button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true )
Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true)
Name = guiGridListAddColumn(Grid, "Name", 0.5)
Text = guiGridListAddColumn(Grid, "Text", 0.8)
guiSetVisible( editBox, false )
guiSetVisible( button, false )
guiSetVisible( Grid, false )

bindKey( 'F2' , 'down' ,
	function()
		guiSetVisible(button, not guiGetVisible(button))
		guiSetVisible(editBox, not guiGetVisible(editBox))
		guiSetVisible(Grid, not guiGetVisible(Grid))
		showCursor(guiGetVisible(Grid))
		triggerServerEvent( 'getSQLQuery' , localPlayer )
	end 
)

addEventHandler( 'onClientGUIClick' , root , 
	function(  )
		if ( source == button ) then			
			triggerServerEvent( 'saveNameAndData' , localPlayer , guiGetText( editBox  ) )
		end
	end
)

addEvent( 'clearGridList' , true )
addEventHandler( 'clearGridList' , root , 
	function(  )
		guiGridListClear( Grid )
	end
)

addEvent( 'setDataOnGridlist' , true )
addEventHandler( 'setDataOnGridlist' , root , 
	function( name , text )
		local _Row = guiGridListAddRow( Grid )
		guiGridListSetItemText( Grid , _Row , Name , name , false , false )
		guiGridListSetItemText( Grid , _Row , Text , text , false , false )
	end
)

Server : 


executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS _aSoking ( Name,Text )' )

addEvent( 'saveNameAndData' , true )
addEventHandler( 'saveNameAndData' , root , 
	function( text )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then
			executeSQLQuery( 'insert into _aSoking( Name , Text ) values( ? , ? ) ' , toJSON( { getPlayerName( source ) } ) , toJSON( { text } ) )
		else
			local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
			table.insert( Names , getPlayerName( source ) ) ; table.insert( Text , text )
			executeSQLQuery( 'update _aSoking set Name = ? , Text = ?' , toJSON( Names ) , toJSON( Text ) )			
		end
	end
)

addEvent( 'getSQLQuery' , true )
addEventHandler( 'getSQLQuery' , root , 
	function(  )
		local data = executeSQLQuery( 'select * from _aSoking' )
		if ( #data == 0 or not data ) then return outputChatBox( 'لا يوجد داتا لاظهارها' , source , 255 , 0 , 0 , true ) end
		local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] )
		triggerClientEvent( root , 'clearGridList' , resourceRoot )
		for i = 1 , #Names do
			triggerClientEvent( root , 'setDataOnGridlist' , resourceRoot , Names[ i ] , Text[ i ] )
		end
	end
)

@MrKAREEM

@MrNAMOLA

 

شكرا علي المعلومة كنت عارف ان هيطلع اخطاء عشان كنت اكتب موبايل

موفقين

  • Like 1
Link to comment
  • N3xT locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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