KaduRo Posted May 11, 2014 Share Posted May 11, 2014 السلام عليكم Take يا شباب انا سويت نافذة فيها قريد ليست وازرار , داخل القريد ليست فيها وظيفتين (شرطي و مسعف ) وزر اسمه ويحفظ على هذا الاسم لوظيفة الشرطي فقط Cancel لما يضغط على وظيفة الشرطي مثلآ وضغط الزر , يتغير اسم الزر لـ ولما يضغط على وظيفة المسعف او ترك القريد فاضي يرجع الزر إلى اسمه الاول , وكل مايضغط وظيفة الشرطي Cancel يطلع له الزر وحتى لو قفل النافذة وفتحها تكون محفوظة بالزر اما إذا ضغط كانسل , يرجع الزر لأسمه الاصلي الكود function isPlayerOnMission (Mission) Mission = guiGridListGetItemText(MGrid , guiGridListGetSelectedItem(MGrid) , 1) BName = guiGetText(TButton) if Mission == "Police" then guiSetText(TButton ,getElementData(TButton,"CancelButton") ) if source == TButton then if BName == "Take" and BName ~= "Cancel" then triggerServerEvent("GiveJob" , localPlayer) guiSetText(TButton , "Cancel") setElementData(source , "CancelButton" , BName) -- هل هذا مطلوب علشان يحفظ الاسم ؟ else CancelMission() end end else guiSetText(TButton , "Take") end if source == CButton then guiSetVisible(Mwindow , false) showCursor(false) end end Link to comment
iMr.Dawix~# Posted May 11, 2014 Share Posted May 11, 2014 مافهمت وش تقصد سهران مو مركز مره المهم اذا تبي تغير اسم الزر استخدم فنكشن guiSetText Link to comment
KaduRo Posted May 11, 2014 Author Share Posted May 11, 2014 ^ اعرف اغير اسم الزر بس مو هذا اللي ابيه بالضبط مثال على اللي ابيه Takeالحين اخترت المهمة وضغطت زر Cancel فــ راح يتحول اسم الزر إلى Take فأبيه يحفظ ان كل ما اختار وظيفة الشرطي يطلع الزر كانسل , بس إذا اخترت وظيفة المسعف او تركت القريد ليست فاضي يرجع الزر لأسم وإن قفلت النافذة ورجعت فتحتها ثاني مرة وحددت على وظيفة الشرطي يبقى يطلع لي زر كانسل , إلى ان ضغطت كانسل , ترجع لأسمها الاصلي بإختصار : اللاعب يفتح النافذة ويختار وظيفة ويضغط الزر , فيتعين في الوظيفة اللي اختارها , فطالما هو بالوظيفة يطلع الزر كانسل أما إذا حدد وظيفة المسعف او ترك القريد فاضي يطلع له الزر الاصلي , وإذا ضغط كانسل وهو محدد وظيفة الشرطي يرجع بدون وظيفة ^ ارجو ان الحين وضح قصدي Link to comment
iMr.Dawix~# Posted May 11, 2014 Share Posted May 11, 2014 مادري بس كودك ناقص يحط فيها اسم الوظيفه الي اختارها setElementData استخدم وظيفة getElementDataويتاكد اذا كان معه المنت داتا او لا بـ فنكشن وحط الكود كامل اذا ماعرفت له نحاول نساعدك شوي Link to comment
KaduRo Posted May 11, 2014 Author Share Posted May 11, 2014 اخوي جربته بالكود فوق لما اضغط على الوظيفة في القريد يتأكد بالالمنت داتا guiSetText ويحطه في , بس يطلع لي بالديبوق expected string at arument 2 , got "boolean" Link to comment
KaduRo Posted May 11, 2014 Author Share Posted May 11, 2014 Mwindow = guiCreateWindow(318 , 26 , 316 ,460 , "Job " , false) MInfo = guiCreateLabel(176 , 43 , 130 ,193 , "Job Info: \n " , false , Mwindow) MMoney = guiCreateLabel(179 , 249 ,127 , 84 , "Money: \n " , false , Mwindow) TButton = guiCreateButton(179 , 338 , 127, 45 , "Take" , false , Mwindow) CButton = guiCreateButton(179 , 397 , 127 , 45 , "Close" , false , Mwindow) ---------------------- GridList --------------------------- MGrid = guiCreateGridList(9 , 31 , 166 , 421 , false , Mwindow) guiGridListAddColumn(MGrid , "Job" , 0.6) row = guiGridListAddRow(MGrid) guiGridListSetItemText(MGrid , row , 1 , "Police" , false ,false) row1 = guiGridListAddRow(MGrid) guiGridListSetItemText(MGrid , row1 , 1 , "Medic" , false ,false) ----------------------------------------------------------- guiSetVisible(Mwindow , false) addEvent("opeenGui" , true) addEventHandler("opeenGui" , resourceRoot , -- ServerSide = onMarkerHit function () guiSetVisible(Mwindow , true) showCursor(true) end) function TheMissions() if not guiGridListGetSelectedItem(MGrid) then guiSetText(MInfo , "") else text1 = guiGridListGetItemText(MGrid , guiGridListGetSelectedItem(MGrid) , 1) if text1 == "Police" then guiSetText(MInfo , "Job Info: \n ") guiSetText(MMoney , "Money: 650") elseif text1 == "Medic" then guiSetText(MInfo , "Job Info: \n ") guiSetText(MMoney , "Money: 750") elseif text1 == "" then guiSetText(MInfo , "Job Info: ") guiSetText(MMoney , "Money:") end end end addEventHandler("onClientGUIClick" , resourceRoot , TheMissions) function TakeMission() isPlayerOnMission() end addEventHandler("onClientGUIClick" , resourceRoot , TakeMission) function isPlayerOnMission (Mission) Mission = guiGridListGetItemText(MGrid , guiGridListGetSelectedItem(MGrid) , 1) BName = guiGetText(TButton) if Mission == "Police" then guiSetText(TButton ,getElementData(TButton,"CancelButton")) if source == TButton then if BName == "Take" and BName ~= "Cancel" then triggerServerEvent("GiveJob" , localPlayer) guiSetText(TButton , "Cancel") setElementData(TButton , "CancelButton" , BName) else CancelMission() end end else guiSetText(TButton , "Take") end if source == CButton then guiSetVisible(Mwindow , false) showCursor(false) end end function CancelMission () triggerServerEvent("TakeJob" , localPlayer) guiSetText(TButton , "Take") end Link to comment
3NAD Posted May 12, 2014 Share Posted May 12, 2014 في كود فتح النافذة حط تحقيق الشرط ان كان عنده الوظيفة خل الزر كنسل والعكس Link to comment
KaduRo Posted May 12, 2014 Author Share Posted May 12, 2014 ^ هل أستخدم getElementData ?? وإذا كان قصدك هذا , ممكن توضح لي أستخدامه ! Link to comment
3NAD Posted May 12, 2014 Share Posted May 12, 2014 الحين لمن يتوظف شلون ينحفظ انه موظف ؟؟ Link to comment
iMr.Dawix~# Posted May 13, 2014 Share Posted May 13, 2014 ي اخي setElementData انت حفظته بـ عشان تجيب القيمه حقت الزر هي كنسل او تيك getElementData يعني لازم تستخدم تبي تعرف وين تستخدمه \\ في كود فتح النافذة حط تحقيق الشرطان كان عنده الوظيفة خل الزر كنسل والعكس Link to comment
KaduRo Posted May 13, 2014 Author Share Posted May 13, 2014 هل هذي طريقة صحيحة ؟ بإختصــــــــار guiSetVisible(Window , true) -- عند فتح النافذة showCursor(true) getElementData(source , "CancelButton") -------------- if Mission == "Police" then if source == TButton then guiSetText(TButton , "Cancel" setElementData(source , "CancelButton" , guiGetText(TButton)) -- بس محتاج افهم شنو اسوي هنا لو سمحتواا Link to comment
Mr-M3AND Posted May 13, 2014 Share Posted May 13, 2014 هل هذي طريقة صحيحة ؟ بإختصــــــــار guiSetVisible(Window , true) -- عند فتح النافذة showCursor(true) getElementData(source , "CancelButton") -------------- if Mission == "Police" then if source == TButton then guiSetText(TButton , "Cancel" setElementData(source , "CancelButton" , guiGetText(TButton)) -- بس محتاج افهم شنو اسوي هنا لو سمحتواا كيف تعطية الوظيفة ؟؟ Take اول شي جاوبني على سؤالي الحين لما اللاعب يضغظ زر Link to comment
KaduRo Posted May 13, 2014 Author Share Posted May 13, 2014 ^ الكود مو كامل للحين , انا بس حبيت تساعدوني بالنقطة المطلوبة وانا اتكلف بالباقي !إن شاء الله ويحفظ بهذا الزر دام هو بالوظيفة Cancel الحين بس محتاج إذا اختار اللاعب الوظيفة , يتحول الزر لـ Edit : معاند , لو تلاحظ الكود الكامل فوق , لما يضغط الزر راح يسوي تريقر للسيرفر ومنها راح اكمل الوظيفة Link to comment
Mr-M3AND Posted May 13, 2014 Share Posted May 13, 2014 ^ الكود مو كامل للحين , انا بس حبيت تساعدوني بالنقطة المطلوبة وانا اتكلف بالباقي !إن شاء اللهويحفظ بهذا الزر دام هو بالوظيفة Cancel الحين بس محتاج إذا اختار اللاعب الوظيفة , يتحول الزر لـ Edit : معاند , لو تلاحظ الكود الكامل فوق , لما يضغط الزر راح يسوي تريقر للسيرفر ومنها راح اكمل الوظيفة لنفترض انك لما سويت تريقر للسيرفر تدخل اللاعب بتيم الشرطه في الحاله هذي نسوي تحقق من التيم function TakeMission() local row,col = guiGridListGetSelectedItem(MGrid ) if ( row and col and row ~= -1 and col ~= -1 ) then local Mission = guiGridListGetItemText(MGrid,guiGridListGetSelectedItem(MGrid),1) if Mission == "Police" then if getPlayerTeam(localPlayer) and getTeamName(getPlayerTeam(localPlayer)) == 'Police' then guiSetText(TButton ,"Cancel") elseif getPlayerTeam(localPlayer) and getTeamName(getPlayerTeam(localPlayer)) ~= 'Police' then guiSetText(TButton ,"Take") end end else guiSetText(TButton ,"Take") end end addEventHandler("onClientGUIClick" , MGrid , TakeMission) Link to comment
KaduRo Posted May 13, 2014 Author Share Posted May 13, 2014 ^ طيب معاند لو فرضآ نفس الطريقة ولكن في (القريد ليست) مهمات للشرطي , إن قبل المهمة , يتحول الزر لكانسل يعني يكون في تيم الشرطة , ويختار مهمة في قريد ليست(مثال يروح لمنطقة) , وإذا أخذ مهمة يتحول الزر لكانسل للمهمة (وليس الوظيفة ) طالما هو شغال على المهمة ولا ضغط كانسل تنلغي المهمة أرجوا ان يكون مقصدي واضح وآسفين على كثرة الطلب Link to comment
Mr-M3AND Posted May 13, 2014 Share Posted May 13, 2014 ^ طيب معاند لو فرضآ نفس الطريقة ولكن في (القريد ليست) مهمات للشرطي , إن قبل المهمة , يتحول الزر لكانسل يعني يكون في تيم الشرطة , ويختار مهمة في قريد ليست(مثال يروح لمنطقة) , وإذا أخذ مهمة يتحول الزر لكانسل للمهمة (وليس الوظيفة ) طالما هو شغال على المهمة ولا ضغط كانسل تنلغي المهمة أرجوا ان يكون مقصدي واضح وآسفين على كثرة الطلب اذا كان قصدك بنفس القريد ليست يعني بدل ماتخليه ياخذ الوظيفة تخليه يقبل مهمه محدده سوي له داتا مثلا function isPlayerOnMission (Mission) if source == TButton then local row,col = guiGridListGetSelectedItem(MGrid ) if ( row and col and row ~= -1 and col ~= -1 ) then local Mission = guiGridListGetItemText(MGrid, guiGridListGetSelectedItem(MGrid), 1) if Mission == "Mission1" then if getPlayerTeam(localPlayer) and getTeamName(getPlayerTeam(localPlayer)) == 'Police' then if getElementData(localPlayer,"Mission1") == false then guiSetText(TButton ,"Cancel") setElementData(localPlayer , "Mission1" , true) elseif getElementData(localPlayer,"Mission1") == true then guiSetText(TButton ,"Take") setElementData(localPlayer , "Mission1" , false) end end end end elseif source == CButton then guiSetVisible(Mwindow , false) showCursor(false) end end addEventHandler("onClientGUIClick", resourceRoot, isPlayerOnMission) function TakeMission() local row,col = guiGridListGetSelectedItem(MGrid ) if ( row and col and row ~= -1 and col ~= -1 ) then local Mission = guiGridListGetItemText(MGrid, guiGridListGetSelectedItem(MGrid), 1) if Mission == "Mission1" then if getPlayerTeam(localPlayer) and getTeamName(getPlayerTeam(localPlayer)) == 'Police' then if getElementData(localPlayer,"Mission1") == true then guiSetText(TButton ,"Cancel") elseif getElementData(localPlayer,"Mission1") == false then guiSetText(TButton ,"Take") end end end else guiSetText(TButton ,"Take") end end addEventHandler("onClientGUIClick" , MGrid , TakeMission) Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now