
POWR
Members-
Posts
204 -
Joined
-
Last visited
Everything posted by POWR
-
-
وجهتني مشكله بعد التثبيت صوره تكفون حلوهآ لي ضروري
-
سلام عليكم شباب ممكن برنآأمج يحرر ملفات dff ابي اعدل على بعض الاوبجكت
-
نفترض أنك بالتاب الأول و تبي تروح التاب الثاني addEventHandler("onClientMouseEnter",getRootElement(), function () if ( source == m2 ) then guiSetVisible(Wnds1,false) -- بالأول تخفي التاب الأول guiSetVisible(Wnds2,true) -- ثم تظهر التاب الثاني playSound("button.wav") end end ) شكرآأ تابل بش شوف العمل صحيح ؟؟ Wnds1 = guiCreateStaticImage(72,59,480,426,"Wnds.png",false,windows) --------------------Tap1 m1 = guiCreateStaticImage(0,62,71,77,"Button.png",false,windows) infolable1 = guiCreateLabel(20,25,71,77,"Info",false,m1) addEventHandler("onClientMouseEnter",getRootElement(), function () if ( source == m1 ) then guiSetVisible(Wnds1,false) guiSetVisible(Wnds2,true) guiSetVisible(Wnds1,false) guiSetVisible(Wnds3,true) guiSetVisible(Wnds1,false) guiSetVisible(Wnds4,true) playSound("button.wav") end end ) Wnds2 = guiCreateStaticImage(72,59,480,426,"Button.png",false,windows) -----Tap2 m2 = guiCreateStaticImage(1,150,71,77,"Button1.png",false,windows) infolable1 = guiCreateLabel(20,25,71,77,"weapon",false,m2) guiLabelSetColor(infolable1,255,255,0) addEventHandler("onClientMouseEnter",getRootElement(), function () if ( source == m2 ) then guiSetVisible(Wnds2,false) guiSetVisible(Wnds1,true) guiSetVisible(Wnds2,false) guiSetVisible(Wnds3,true) guiSetVisible(Wnds2,false) guiSetVisible(Wnds4,true) playSound("button.wav") end end )
-
المشكلة يا عزيزي أنك ما أخفيت التاب الأول فمثلاً إذا كنت بالتاب الثالث و تبي تروح إلى التاب الأول لازم تخفي التاب الثالث و بعدها تظهر التاب الأول تابل ما فعمت قصدك ممكن توضحلي
-
الكود ما ينقليني من التاب الاول لتاب الثاني مدري شنو المشكله client-side --------------------Tap1 m1 = guiCreateStaticImage(1,62,71,77,"Button1.png",false,windows) infolable1 = guiCreateLabel(20,25,71,77,"Info",false,m1) guiLabelSetColor(infolable1,255,255,0) addEventHandler("onClientMouseEnter",getRootElement(), function () if ( source == m1 ) then guiSetVisible(Wnds1,true) playSound("button.wav") end end ) -----Tap2 m2 = guiCreateStaticImage(1,150,71,77,"Button1.png",false,windows) infolable1 = guiCreateLabel(20,25,71,77,"weapon",false,m2) guiLabelSetColor(infolable1,255,255,0) addEventHandler("onClientMouseEnter",getRootElement(), function () if ( source == m2 ) then guiSetVisible(Wnds2,true) playSound("button.wav") end end ) الي يعرف المشكله يحلهآ والله يعطيه العافيه
-
وعليكم السلام هات صوره من المود تسلم اخي جاني الكود و اذا فيه خطأ طرحتلكم المود كآمل
-
سلام عليكم كيفكم المهم انا ابي اسوي شوب وبحط صوره و الصوره تمثل تاب ابي كود لما امر على الزر (( الصوره )). يروحلي مثلا للنفو او لما أمر على الصوره الي تحتهآ تروحلي تاب الاسلحه وكذا ابي الكود لاهنتم والي مو فآأهم يقولي انزله صوره من المود وشكرآأ
-
شباب ابي طريقه الون بهآ الاسماء دخل لسته لاهنتم كود client-side function() playerList = guiCreateGridList(22, 20, 188, 331, false, share) guiGridListSetSelectionMode(playerList, 2) local cl = guiGridListAddColumn(playerList, "Players ", 0.85) if ( cl and guiGetVisible(tabPanel) == true ) then for _,name in ipairs(getElementsByType("player")) do local rw = guiGridListAddRow(playerList) guiGridListSetItemText(playerList, rw, cl, getPlayerName(name), false, false) end addEventHandler("onClientGUIClick", playerList, onClickPlayerName) end end and Thx
-
شباب صدفتني مشكله معن الكود كويس لما اشغل الشوب يطلع بوجهي على طول ابيه يكونت مختفي ولمآ اظغط ف2 يفتح الكود client-side bindKey ( "F2" , "down" , function() if ( guiGetVisible ( shopWindow ) == true ) then guiSetVisible ( shopWindow ,false ) showCursor (false ) guiSetInputEnabled(false) elseif ( guiGetVisible ( shopWindow ) == false ) then guiSetVisible ( shopWindow ,true ) showCursor (false ) guiSetInputEnabled(true) playSound("other/open.wav") end end ) sey
-
client-side GUIEditor_Window = {} GUIEditor_TabPanel = {} GUIEditor_Tab = {} GUIEditor_Label = {} GUIEditor_Edit = {} GUIEditor_Image = {} GUIEditor_Button = {} GUIEditor_Window[1] = guiCreateWindow(422,292,550,316,"| Shop Weapons By MR.SL6AN 1.1 |",false) GUIEditor_TabPanel[1] = guiCreateTabPanel(9,22,532,285,false,GUIEditor_Window[1]) GUIEditor_Tab[1] = guiCreateTab("INfo",GUIEditor_TabPanel[1]) GUIEditor_Label[1] = guiCreateLabel(180,10,149,19,"Welcome In The SerVer \"{SMILIES_PATH}/icon_biggrin.gif\" alt=\"\" title=\"Very Happy\" />",false,GUIEditor_Tab[1]) guiSetFont(GUIEditor_Label[1],"default-bold-small") GUIEditor_Label[2] = guiCreateLabel(0,28,528,13,"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",false,GUIEditor_Tab[1]) guiSetFont(GUIEditor_Label[2],"default-bold-small") GUIEditor_Label[3] = guiCreateLabel(1,242,529,11,"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",false,GUIEditor_Tab[1]) guiSetFont(GUIEditor_Label[3],"default-bold-small") GUIEditor_Label[4] = guiCreateLabel(3,48,64,15,"YourName: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[4],0,255,0) guiSetFont(GUIEditor_Label[4],"default-bold-small") GUIEditor_Label[5] = guiCreateLabel(2,75,70,17,"YourMoney: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[5],0,255,0) guiSetFont(GUIEditor_Label[5],"default-bold-small") GUIEditor_Label[6] = guiCreateLabel(3,227,64,15,"YourSerial: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[6],0,0,255) guiSetFont(GUIEditor_Label[6],"default-bold-small") GUIEditor_Label[7] = guiCreateLabel(1,129,95,16,"YourTeamName: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[7],255,0,0) guiSetFont(GUIEditor_Label[7],"default-bold-small") GUIEditor_Label[8] = guiCreateLabel(3,155,69,16,"YourHealth: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[8],255,255,0) guiSetFont(GUIEditor_Label[8],"default-bold-small") GUIEditor_Label[9] = guiCreateLabel(2,101,70,17,"YourSkinID: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[9],255,0,0) guiSetFont(GUIEditor_Label[9],"default-bold-small") GUIEditor_Label[10] = guiCreateLabel(4,179,57,15,"YourPing: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[10],255,255,0) guiSetFont(GUIEditor_Label[10],"default-bold-small") GUIEditor_Label[11] = guiCreateLabel(5,204,44,13,"YourIP: ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[11],0,0,255) guiSetFont(GUIEditor_Label[11],"default-bold-small") GUIEditor_Label[12] = guiCreateLabel(66,49,81,25,"Name",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[12],0,255,0) guiSetFont(GUIEditor_Label[12],"default-bold-small") GUIEditor_Label[13] = guiCreateLabel(71,75,68,23,"Money",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[13],0,255,0) guiSetFont(GUIEditor_Label[13],"default-bold-small") GUIEditor_Label[14] = guiCreateLabel(71,100,39,21,"ID ",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[14],255,0,0) guiSetFont(GUIEditor_Label[14],"default-bold-small") GUIEditor_Label[15] = guiCreateLabel(95,129,87,23,"TeamName",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[15],255,0,0) guiSetFont(GUIEditor_Label[15],"default-bold-small") GUIEditor_Label[16] = guiCreateLabel(70,155,77,23,"Health",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[16],255,255,0) guiSetFont(GUIEditor_Label[16],"default-bold-small") GUIEditor_Label[17] = guiCreateLabel(58,179,65,24,"Ping",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[17],255,255,0) guiSetFont(GUIEditor_Label[17],"default-bold-small") GUIEditor_Label[18] = guiCreateLabel(48,203,137,19,"IP",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[18],0,0,255) guiSetFont(GUIEditor_Label[18],"default-bold-small") GUIEditor_Label[19] = guiCreateLabel(65,227,385,22,"Serial",false,GUIEditor_Tab[1]) guiLabelSetColor(GUIEditor_Label[19],0,0,255) guiSetFont(GUIEditor_Label[19],"default-bold-small") GUIEditor_Tab[2] = guiCreateTab("Weapons",GUIEditor_TabPanel[1]) GUIEditor_Image[1] = guiCreateStaticImage(409,0,107,91,"images/1.png",false,GUIEditor_Tab[2]) GUIEditor_Button[1] = guiCreateButton(337,87,90,33,"SilencedPistol",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[1],"default-bold-small") GUIEditor_Image[2] = guiCreateStaticImage(326,0,91,91,"images/2.png",false,GUIEditor_Tab[2]) GUIEditor_Button[2] = guiCreateButton(221,87,90,33,"DesertEagle",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[2],"default-bold-small") GUIEditor_Image[3] = guiCreateStaticImage(211,8,91,75,"images/3.png",false,GUIEditor_Tab[2]) GUIEditor_Button[3] = guiCreateButton(109,88,90,33,"Uzi",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[3],"default-bold-small") GUIEditor_Image[4] = guiCreateStaticImage(117,129,83,100,"images/4.png",false,GUIEditor_Tab[2]) GUIEditor_Label[20] = guiCreateLabel(-105,-16,187,15,"",false,GUIEditor_Image[4]) GUIEditor_Image[5] = guiCreateStaticImage(329,143,93,90,"images/5.png",false,GUIEditor_Tab[2]) GUIEditor_Image[6] = guiCreateStaticImage(222,149,88,72,"images/6.png",false,GUIEditor_Tab[2]) GUIEditor_Image[7] = guiCreateStaticImage(108,19,74,63,"images/7.png",false,GUIEditor_Tab[2]) GUIEditor_Button[4] = guiCreateButton(6,89,90,33,"Tec-9",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[4],"default-bold-small") GUIEditor_Image[8] = guiCreateStaticImage(4,21,73,63,"images/8.png",false,GUIEditor_Tab[2]) GUIEditor_Image[9] = guiCreateStaticImage(443,154,74,71,"images/9.png",false,GUIEditor_Tab[2]) GUIEditor_Button[5] = guiCreateButton(227,218,90,33,"M4",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[5],"default-bold-small") GUIEditor_Button[6] = guiCreateButton(333,220,90,33,"Sawn-Off",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[6],"default-bold-small") GUIEditor_Button[7] = guiCreateButton(438,221,90,33,"MP5",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[7],"default-bold-small") GUIEditor_Button[8] = guiCreateButton(118,217,90,33,"Sniper",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[8],"default-bold-small") GUIEditor_Button[9] = guiCreateButton(9,216,90,33,"Ak-47",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[9],"default-bold-small") GUIEditor_Image[10] = guiCreateStaticImage(0,146,97,69,"images/10.png",false,GUIEditor_Tab[2]) GUIEditor_Label[21] = guiCreateLabel(2,132,527,13,"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Label[21],"default-bold-small") GUIEditor_Button[10] = guiCreateButton(437,86,90,33,"Minigun",false,GUIEditor_Tab[2]) guiSetFont(GUIEditor_Button[10],"default-bold-small") GUIEditor_Tab[3] = guiCreateTab("ShoP",GUIEditor_TabPanel[1]) GUIEditor_Button[11] = guiCreateButton(6,207,101,42,"Invisible",false,GUIEditor_Tab[3]) guiSetFont(GUIEditor_Button[11],"default-bold-small") GUIEditor_Button[12] = guiCreateButton(81,80,101,42,"Health",false,GUIEditor_Tab[3]) guiSetFont(GUIEditor_Button[12],"default-bold-small") GUIEditor_Button[13] = guiCreateButton(288,207,101,42,"Flip",false,GUIEditor_Tab[3]) guiSetFont(GUIEditor_Button[13],"default-bold-small") GUIEditor_Button[14] = guiCreateButton(419,207,101,42,"Nitro",false,GUIEditor_Tab[3]) guiSetFont(GUIEditor_Button[14],"default-bold-small") GUIEditor_Image[11] = guiCreateStaticImage(4,127,106,78,"images/in.png",false,GUIEditor_Tab[3]) GUIEditor_Image[12] = guiCreateStaticImage(52,0,128,102,"images/11.png",false,GUIEditor_Tab[3]) GUIEditor_Button[15] = guiCreateButton(148,206,101,42,"Repair",false,GUIEditor_Tab[3]) guiSetFont(GUIEditor_Button[15],"default-bold-small") GUIEditor_Image[13] = guiCreateStaticImage(146,128,98,68,"images/re.png",false,GUIEditor_Tab[3]) GUIEditor_Image[14] = guiCreateStaticImage(291,129,93,67,"images/fl.png",false,GUIEditor_Tab[3]) GUIEditor_Image[15] = guiCreateStaticImage(420,129,94,66,"images/ni.png",false,GUIEditor_Tab[3]) GUIEditor_Button[16] = guiCreateButton(283,80,101,42,"Armor",false,GUIEditor_Tab[3]) guiSetFont(GUIEditor_Button[16],"default-bold-small") GUIEditor_Image[16] = guiCreateStaticImage(238,27,165,74,"images/12.png",false,GUIEditor_Tab[3]) GUIEditor_Tab[4] = guiCreateTab("Login/Register",GUIEditor_TabPanel[1]) GUIEditor_Button[17] = guiCreateButton(205,189,147,56,"Login/Register",false,GUIEditor_Tab[4]) guiSetFont(GUIEditor_Button[17],"default-bold-small") GUIEditor_Edit[1] = guiCreateEdit(115,47,325,36,"",false,GUIEditor_Tab[4]) GUIEditor_Edit[2] = guiCreateEdit(115,135,325,36,"",false,GUIEditor_Tab[4]) GUIEditor_Label[22] = guiCreateLabel(242,19,69,25,"Name",false,GUIEditor_Tab[4]) guiSetFont(GUIEditor_Label[22],"default-bold-small") GUIEditor_Label[23] = guiCreateLabel(247,101,69,25,"Pass",false,GUIEditor_Tab[4]) guiSetFont(GUIEditor_Label[23],"default-bold-small") bindKey ( "F2" , "down" , function() if ( guiGetVisible ( GUIEditor_Window[1] ) == true ) then guiSetVisible ( GUIEditor_Window[1] ,false ) showCursor (false ) guiSetInputEnabled(false) elseif ( guiGetVisible ( GUIEditor_Window[1] ) == false ) then guiSetVisible ( GUIEditor_Window[1] ,true ) showCursor (false ) guiSetInputEnabled(true) playSound("mrsl6an.wav") end end ) outputChatBox ("#007fff[shop]: #007fff.:[ #999999By #999999Mr.SL6AN #999999#007fff]", 255, 255, 255, true) outputChatBox ("#007fff[Open]: #007fffPress #007fff'F2' #007fffto open #007fffThe #007fffshop 1.1.!", 255, 255, 255, true) refreshStats = function() if guiGetVisible(GUIEditor_Window[1], true) then guiSetText(GUIEditor_Label[12], " " .. getPlayerName(getLocalPlayer())) else guiSetText(GUIEditor_Label[12], " " .. getPlayerName(getLocalPlayer())) end end addEventHandler("onClientRender", getRootElement(), refreshStats) refreshStats = function() if guiGetVisible(GUIEditor_Window[1], true) then guiSetText(GUIEditor_Label[17], " " .. getPlayerPing(getLocalPlayer())) else guiSetText(GUIEditor_Label[17], " " .. getPlayerPing(getLocalPlayer())) end end addEventHandler("onClientRender", getRootElement(), refreshStats) refreshStats = function() if guiGetVisible(GUIEditor_Window[1], true) then guiSetText(GUIEditor_Label[16], " " .. getElementHealth(getLocalPlayer())) else guiSetText(GUIEditor_Label[16], " " .. getElementHealth(getLocalPlayer())) end end addEventHandler("onClientRender", getRootElement(), refreshStats) refreshStats = function() if guiGetVisible(GUIEditor_Window[1], true) then guiSetText(GUIEditor_Label[14], " " .. getElementModel(getLocalPlayer())) else guiSetText(GUIEditor_Label[14], " " .. getElementModel(getLocalPlayer())) end end addEventHandler("onClientRender", getRootElement(), refreshStats) refreshStats = function() if guiGetVisible(GUIEditor_Window[1], true) then guiSetText(GUIEditor_Label[13], "$" .. getPlayerMoney(getLocalPlayer())) else guiSetText(GUIEditor_Label[13], " " .. getPlayerMoney(getLocalPlayer())) end end addEventHandler("onClientRender", getRootElement(), refreshStats) ------------------------------------------------------------------------Serial label function refreshStats() if guiGetVisible(GUIEditor_Window[1],true) then GUIEditor_Label[12](GUIEditor_Label[19]," "..getPlayerSerial (getLocalPlayer())) else guiSetText(GUIEditor_Label[19]," "..getPlayerSerial (getLocalPlayer())) end end addEventHandler("onClientRender", getRootElement(), refreshStats) sendTeam = function() local playerTeam = getPlayerTeam(getLocalPlayer()) if playerTeam then guiSetText(GUIEditor_Label[15], "" .. getTeamName(playerTeam)) end end addEventHandler("onClientRender", getRootElement(), sendTeam) ---------------------------------------------------------------------------------------m4 addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[5] ) then triggerServerEvent("m4",getLocalPlayer()) end end ) ---------------------------------------------------------------------------------------mp5 addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[7] ) then triggerServerEvent("mp5",getLocalPlayer()) end end ) ------------------------------------------------------------------------------Silenced addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[1] ) then triggerServerEvent("Silenced",getLocalPlayer()) end end ) --------------------------------------------------------------------------------Deagle addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[2] ) then triggerServerEvent("Deagle",getLocalPlayer()) end end ) -----------------------------------------------------------------------------------------Sawn-Off addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[6] ) then triggerServerEvent("Sawn-Off",getLocalPlayer()) end end ) --------------------------------------------------------------------------------------------Uzi addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[3] ) then triggerServerEvent("Uzi",getLocalPlayer()) end end ) -----------------------------------------------------------------------------------------TEC-9 addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[4] ) then triggerServerEvent("TEC-9",getLocalPlayer()) end end )------------------------------------------------------------------------------------Sniper addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[8] ) then triggerServerEvent("Sniper",getLocalPlayer()) end end ) -----------------------------------------------------------------------------------Minigun addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[10] ) then triggerServerEvent("Minigun",getLocalPlayer()) end end ) -----------------------------------------------------------------------------------AK-47 addEventHandler ("onClientGUIClick", getRootElement(), function(button, state, absoluteX, absoluteY) if ( source == GUIEditor_Button[9] ) then triggerServerEvent("AK-47",getLocalPlayer()) end end )
-
مهم جداً لجميع عملاء ديلوكس ومن يريد شراء سيرفر من ديلوكس
POWR replied to Sora's topic in Arabic / العربية
اخي سورى والله سو معي كذا سحبو علي لين فلسةة لكن رجعتلهم اليوم الثاني والجيب مليآن وسويت وغصب عنهم -
طيب عطن اميلك علشان ارسلك شيء وجربه لانه خاص فيني وفيك انت تركته عندي بدون ما تدري راح يشغلك الشوب
-
function isPlayerAdmin(source) local user = "user."..getAccountName ( getPlayerAccount ( source ) ) for id, object in ipairs ( aclGroupListObjects ( aclGetGroup ( "سم القروب هنآ" ) ) ) do if object == user then triggerClientEvent("ClientGui",getRootElement(),source) end end end Me KaBoS
-
سلطان مو عيب اذا حصلنا خطا انت سوي غلى فهمك ااذا ما ظبط اطرح كودك تلاقي ناس طيبين يسونه لك وعلمونك الصح بس العيب انك تلاقي خطا وتسكت علي ما تعدله
-
بس يا سلطان لو تبي تعرفلها اقراء الامثله وطبقها وراح تظبط معاك
-
تظعط عليها وتروح تقرا الامثله وتطبق
-
بس لو تبي تتعلم علم ما تنساه اقرا الوكي