- 
                Posts999
- 
                Joined
- 
                Last visited
Everything posted by K1NG
- 
	تقدر تقول يب -_-" return شوف هالمثال بإستخدام الدالة addEventHandler ( "onMarkerHit", root, function ( player ) if not ( getPlayerName ( player ) == "3ssol" ) then return outputChatBox ( "You are noob -_-", player, 255, 0, 0 ) end outputChatBox ( "You are pro -_-", player, 0, 255, 0 ) end ) return وهاذ نفس المثال بدون استخدام الدالة addEventHandler ( "onMarkerHit", root, function ( player ) if ( getPlayerName ( player ) == "3ssol" ) then outputChatBox ( "You are pro -_-", player, 0, 255, 0 ) else outputChatBox ( "You are noob -_-", player, 255, 0, 0 ) end end ) هي توقيف الوظيفة return بشكل عام تقدر تقول الفايدة من الدالة
- 
	عشان يعرف السيارات الي بالماب حقه، أفضل وأسهل resourceRoot لو يستخدم الدالة .. + ماشوف له داعي استخدامها getElementType وظيفة !
- 
	يمديكـ تختصر كودكـ كذا addEventHandler ( "onClientPedDamage", root, cancelEvent )
- 
	انا الحين مو قادر اخش ع لوحة التحكم + الاف تي بي الاستضافة صارت سسيئةة # اخوي ترا مشكله مش من شركه بخصوص بعض ناس مايقدرون يدخلون هذا يما مشكله من عندهم انا وعندي ناس اجانب داخلين ولا يصير ليهم شي بخصصوص لوحه تحكم انت تقدر تتحكم في حسابك وشغال مافيله شي بس اكتب الرقم السري بالغه الانجليزيه ولاف تي بي شغال جميع مشكال كلمني عله سكايب وانا بكون موجود skype: pingqatar يَ الطيب، الحين اكثر من 10 أشخاص جربوا من خارج السعودية ونفس المشكلة ، وبعض اوقات تفتح معهم وبعض اوقات لا .. مادري وش هالصدفة الي خلتهم كلهم أجهزتهم خربانة + لو اجهزتهم خربانة كان مَ يفتح التيم بعض أوقات والسيرفر بعد .. والتيمات الثانية الي مب من الخادم حقككم تفتح والسيرفرات بعد تدخل، يعني شي اكيد المشكلة من الخادم حقكم، نبي حل لاهنت
- 
	كل الى عليك تبدل الألفا يوم تصك اللوحة متأكد أن الكود ذا انت مسويه ؟
- 
	يَ الطيب ، حتى التيم سبيكـ والسيرفرات بقراند الي من عندكم أغلب الأوقات تبطل تفتح لين نشغل بروكسي !! اخوياي من خارج السعودية، مَ يقدرون يدخلون أغلب اوقات لين يشغلون بروكسي .. شوف لنا حل لاهنت يَ صديق
- 
	اقدر اعرف ليه مسوي كل تحقق بشرط لحاله ؟؟ خخ + وش وضعها ؟ Vehicle تقدر تقلي @ !F{p}βľÃćҝ ĐяÊăM : The Best إستخدم كود
- 
	جرب كذا، الكود مب أكيد يضبط .. حسب الي انت مسويه انت جرب ورد لي خبر .. لو مَ ضبط أسويه لكـ بطريقة ثانية .. -- Client Side # addEventHandler ( "onClientGUIClick", GUIEditor_Image[3], function ( ) triggerServerEvent ( "car", localPlayer ) guiSetVisible ( GUIEditor_Image[2], false ) guiSetVisible ( GUIEditor_Image[3], false ) guiSetVisible ( GUIEditor_Image[8], false ) guiSetVisible ( GUIEditor_Image[9], false ) guiSetVisible ( Sr1, false ) guiSetVisible ( Sr2, false ) guiSetVisible ( Sr4, false ) guiSetVisible ( Sr7, false ) guiSetVisible ( Sr8, false ) showChat ( true ) showCursor ( false ) fadeCamera ( true ) end, false ) -- Server Side # vehicle = {} addEventHandler ( "onPlayerSpawn", root, function ( ) if ( getPlayerTeam ( source ) ) then if ( isElement ( vehicle[source] ) then destroyElement ( vehicle[source] ) vehicle[source] = nil end local x, y, z = getElementPosition ( source ) vehicle[source] = createVehicle ( 411, x, y, z ) warpPedIntoVehicle ( source, vehicle[source] ) end end ) addEvent ( "car", true) addEventHandler ( "car", root, function ( ) if ( isElement ( vehicle[source] ) ) then destroyElement ( vehicle[source] ) vehicle[source] = nil end local x, y, z = getElementPosition(source) vehicle[source] = createVehicle(411, x, y, z) warpPedIntoVehicle(source, vehicle[source]) end ) addEventHandler ( "onPlayerQuit", root, function ( ) if ( isElement ( vehicle[source] ) ) then destroyElement ( vehicle[source] ) vehicle[source] = nil end end )
- 
	أول شي فهمنا تبيه إذا مات وكان في أي تيم ترجع له السيارة أو إنه تقصد إذا كان في تيم محدد ؟ ثاني شي تبي ترجع له نفس السيارة الي كان فيها ولاترجع له سيارة معينة وإذا كانت سيارة معينة وش هي السيارة ؟
- 
	^ مدري ليه معقدينها ._." -- Client Side # GUIEditor = { window = {}, staticimage = {} } GUIEditor.window[1] = guiCreateWindow(100, 107, 586, 276, "welcome to mtabh server ", false) guiWindowSetSizable(GUIEditor.window[1], false) GUIEditor.staticimage[1] = guiCreateStaticImage(9, 19, 567, 247, "1.png", false, GUIEditor.window[1]) GUIEditor.button[1] = guiCreateButton(4, 229, 69, 18, "اغلاق", false, GUIEditor.staticimage[1]) addEventHandler ( "onClientGUIClick", GUIEditor.button[1], HideGUI, false ) function HideGUI ( ) guiSetVisible ( GUIEditor.window[1], false ) showCursor ( false ) end
- 
	سوري لخبطت ههههههههههههه، اقصد على قولة ذا بيست ذذ
- 
	ههه، يَ نوب انا مجربها ومب ضابطة، يرجع نفس الأسل الأصلي لا تجلس تتفلسف ذذ : ( بعدين كيف مافيها لاق وبنفس الوقت يشطح بنق السيرفر واللاعبين فجأة، سحر مثلاً ؟ ي حبيبي الاستضافة مافيها لاق بس مرات فجاء تشطح و ترجع زين المشكلة انت مَ عمركـ دخلت السيرفر وجاي تتفلسف .. يَ حبيبي يوم يشطح بنقاتهم تضل اكثر من ربع ساعة ثم تنزل البنقات لمدة 10 دقايق ثم تشطح وكذا ...
- 
	ههه، يَ نوب انا مجربها ومب ضابطة، يرجع نفس الأسل الأصلي لا تجلس تتفلسف ذذ : ( بعدين كيف مافيها لاق وبنفس الوقت يشطح بنق السيرفر واللاعبين فجأة، سحر مثلاً ؟
- 
	مانصحكـ بهالإستضافة .. فيهآ ألف بق ._." الأصلي خخ ACL وتسوي ريستارت للإستضافة مانتحفظ التعديلات يرجع لكـ ملف ACLأول شي، لما تعدل على ملف الـ ثاني شي، السيرفر تجيه اوقات .. يبطل يبين عند بعض الناس وبعضهم يبين وبعضهم يبيله يشغل بروكسي عشان يجي بالبحث ثالث شي، كل ساعتين او ساعة كذا .. يجي لاق يوصل بنق السيرفر الى 5000 وبنقات اللاعبين تشطح 100 الف والباكِت لوس يوصل 30 لوول ويوم تكلم الدعم حق الإستضافة يعطونك سيفوووووون يعني بالمختصر الإستضافة مَ تستاهل تضيع فلوسكـ عشانها -_-" اثبت دليل عله انه لاق ولا دعم تعبان لاتقعد تطلع كلام انه استضافه تعبان ولاق انا شاري ٧ خوادم السيرفرات التجريبيه شغاله وجميع خوادمنا من المنيا وجرب شوف اذا لاق ولا لا .. ياحبيب قلبي انت جاي تنافخ ولا جاي تصلح خوادمكـ الفاشلة المشكلة يوم كلمتكـ قبل 4 أيام .. تقلي خلال يومين نصلح المشكلة حقت اللاق وجاي هنا تنكر إنه في لاق + صار لكم 5 ايام ولا صلحتوا شي خخ بعدين كيف انت شاري 7 خوادم والإستضافة لكـ ؟ تقدر تفهمني يا عبقري ؟ بدال اسم السيرفر واللاعبين .. إلخ php بعدين لعلمكـ .. الإستضافة الحين بطلت تفتح لوووووووووول، وصارت تجيني اكواد !!! بعدين أي حماية الي تتكلم عنها ؟ حتى استضافة هدف هوست صارت تعطيكم هجمات دوس وتقلب الدنيا فوق تحت عليكم بعدين يَ حبيبي انا صرت أحسها سالفة مزاج على قولة ضاوي، وش ذا؟ السيرفر يبان بالبحث لمدة نص ساعة ثم يختفي 4 ساعات وبعض اوقات يضل يومين مختفي أو أكثر، وموقع الإستضافة نفس الشي -_-" @ !F{p}βľÃćҝ ĐяÊăM: ويوم اشغل السيرفر تروح كل التعديلات ولا كأني سويت شي خخ ACL والله يخوي، سويت إيقاف للسيرفر ثم عدلت الـ
- 
	مانصحكـ بهالإستضافة .. فيهآ ألف بق ._." الأصلي خخ ACL وتسوي ريستارت للإستضافة مانتحفظ التعديلات يرجع لكـ ملف ACLأول شي، لما تعدل على ملف الـ ثاني شي، السيرفر تجيه اوقات .. يبطل يبين عند بعض الناس وبعضهم يبين وبعضهم يبيله يشغل بروكسي عشان يجي بالبحث ثالث شي، كل ساعتين او ساعة كذا .. يجي لاق يوصل بنق السيرفر الى 5000 وبنقات اللاعبين تشطح 100 الف والباكِت لوس يوصل 30 لوول ويوم تكلم الدعم حق الإستضافة يعطونك سيفوووووون يعني بالمختصر الإستضافة مَ تستاهل تضيع فلوسكـ عشانها -_-"
- 
	يقدر يسوي شرط على الكومندات أكيد يقدر، بس انا سويتها له على حسب طلبه .. + تم تعديل ردي خليت الأوامر تتنفذ للكونسل بس ذذ
- 
	تقدر تمنع اف 8، من خلال إنكـ تمنع اللاعب من إنه يسوي أي أمر ، بس ذا شيء راجع لكـ ... أنا اظن مالها داعي هالحركة لأنه إفرض انكـ مسوي أوامر للمودات الخاصة فيكـ او شي كذا يعني بكذا مَ رح يقدر يكتبها المهم الكود كذا .. إذا كان اللاعب مهو بقروب الكونسل، مارح يتنفذ الأمر الي كتبه # -- Server Side # addEventHandler ( "onPlayerCommand", root, function ( ) if not ( isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Console" ) ) ) then cancelEvent ( ) end end )
- 
	isObjectInACLGroup getAccountName aclGetGroup ??????????????????????????????????? ولا كأنه طرح لنا الأكواد ولا شي صح ؟ : (
- 
	يخوي سو الي قلت لكـ عليه وتجيه الصلاحيات -_-"
- 
	فقط Police كل شي عندكـ صحيح، بس عدلت لكـ الأسل .. ضفت قروب بإسم كـَ مثال xxx انا حاط لكـ حساب بإسم .. Police الآن الي عليكـ أنت إنكـ تحط حساب الشرطي بقروب .. <acl> <group name="Everyone"> <acl name="Default"></acl> <object name="user.*"></object> <object name="resource.*"></object> </group> <group name="Moderator"> <acl name="Moderator"></acl> <object name="resource.mapmanager"></object> <object name="resource.resourcemanager"></object> <object name="resource.votemanager"></object> <object name="user.Mood"></object> <object name="user.FAISAL_64"></object> <object name="user.FAISAL64"></object> </group> <group name="SuperModerator"> <acl name="Moderator"></acl> <acl name="SuperModerator"></acl> </group> <group name="Admin"> <acl name="Moderator"></acl> <acl name="SuperModerator"></acl> <acl name="Admin"></acl> <acl name="RPC"></acl> <object name="resource.admin"></object> <object name="resource.webadmin"></object> <object name="user.FAISAL64"></object> </group> <group name="Console"> <acl name="Moderator"></acl> <acl name="SuperModerator"></acl> <acl name="Admin"></acl> <acl name="RPC"></acl> <object name="user.FAISAL64"></object> </group> <group name="Police"> <object name="user.xxx"></object> </group> <group name="RPC"> <acl name="RPC"></acl> </group> <group name="MapEditor"> <acl name="Default"></acl> <acl name="MapEditor"></acl> <object name="resource.editor_main"></object> <object name="resource.edf"></object> </group> <group name="raceACLGroup"> <acl name="Default"></acl> <acl name="raceACL"></acl> <object name="resource.race"></object> </group> <group name="Big.Admin"> <acl name="raceACL"></acl> <acl name="MapEditor"></acl> <acl name="RPC"></acl> <acl name="Admin"></acl> <acl name="SuperModerator"></acl> <acl name="Moderator"></acl> </group> <acl name="Default"> <right name="general.ModifyOtherObjects" access="false"></right> <right name="general.http" access="false"></right> <right name="command.start" access="false"></right> <right name="command.stop" access="false"></right> <right name="command.stopall" access="false"></right> <right name="command.gamemode" access="false"></right> <right name="command.changemode" access="false"></right> <right name="command.changemap" access="false"></right> <right name="command.stopmode" access="false"></right> <right name="command.stopmap" access="false"></right> <right name="command.skipmap" access="false"></right> <right name="command.restart" access="false"></right> <right name="command.refresh" access="false"></right> <right name="command.refreshall" access="false"></right> <right name="command.addaccount" access="false"></right> <right name="command.delaccount" access="false"></right> <right name="command.debugscript" access="false"></right> <right name="command.chgpass" access="false"></right> <right name="command.loadmodule" access="false"></right> <right name="command.upgrade" access="false"></right> <right name="command.mute" access="false"></right> <right name="command.crun" access="false"></right> <right name="command.srun" access="false"></right> <right name="command.run" access="false"></right> <right name="command.unmute" access="false"></right> <right name="command.kick" access="false"></right> <right name="command.ban" access="false"></right> <right name="command.banip" access="false"></right> <right name="command.unbanip" access="false"></right> <right name="command.shutdown" access="false"></right> <right name="command.install" access="false"></right> <right name="command.aexec" access="false"></right> <right name="command.whois" access="false"></right> <right name="command.whowas" access="false"></right> <right name="function.executeCommandHandler" access="false"></right> <right name="function.setPlayerMuted" access="false"></right> <right name="function.addAccount" access="false"></right> <right name="function.addBan" access="false"></right> <right name="function.removeBan" access="false"></right> <right name="function.removeAccount" access="false"></right> <right name="function.setAccountPassword" access="false"></right> <right name="function.kickPlayer" access="false"></right> <right name="function.banIP" access="false"></right> <right name="function.banPlayer" access="false"></right> <right name="function.banSerial" access="false"></right> <right name="function.getBansXML" access="false"></right> <right name="function.unbanIP" access="false"></right> <right name="function.unbanSerial" access="false"></right> <right name="function.getClientIP" access="false"></right> <right name="function.setServerPassword" access="false"></right> <right name="function.getServerPassword" access="false"></right> <right name="function.callRemote" access="false"></right> <right name="function.startResource" access="false"></right> <right name="function.stopResource" access="false"></right> <right name="function.restartResource" access="false"></right> <right name="function.createResource" access="false"></right> <right name="function.copyResource" access="false"></right> <right name="function.addResourceMap" access="false"></right> <right name="function.addResourceConfig" access="false"></right> <right name="function.removeResourceFile" access="false"></right> <right name="function.setResourceDefaultSetting" access="false"></right> <right name="function.removeResourceDefaultSetting" access="false"></right> <right name="function.redirectPlayer" access="false"></right> <right name="function.aclReload" access="false"></right> <right name="function.aclSave" access="false"></right> <right name="function.aclCreate" access="false"></right> <right name="function.aclDestroy" access="false"></right> <right name="function.aclSetRight" access="false"></right> <right name="function.aclRemoveRight" access="false"></right> <right name="function.aclCreateGroup" access="false"></right> <right name="function.aclDestroyGroup" access="false"></right> <right name="function.aclGroupAddACL" access="false"></right> <right name="function.aclGroupRemoveACL" access="false"></right> <right name="function.aclGroupAddObject" access="false"></right> <right name="function.aclGroupRemoveObject" access="false"></right> <right name="function.refreshResources" access="false"></right> <right name="function.setServerConfigSetting" access="false"></right> <right name="general.adminpanel" access="false"></right> <right name="general.tab_players" access="false"></right> <right name="general.tab_resources" access="false"></right> <right name="general.tab_maps" access="false"></right> <right name="general.tab_server" access="false"></right> <right name="general.tab_bans" access="false"></right> <right name="general.tab_adminchat" access="false"></right> <right name="command.freeze" access="false"></right> <right name="command.shout" access="false"></right> <right name="command.spectate" access="false"></right> <right name="command.slap" access="false"></right> <right name="command.setgroup" access="false"></right> <right name="command.sethealth" access="false"></right> <right name="command.setarmour" access="false"></right> <right name="command.setmoney" access="false"></right> <right name="command.setskin" access="false"></right> <right name="command.setteam" access="false"></right> <right name="command.giveweapon" access="false"></right> <right name="command.setstat" access="false"></right> <right name="command.jetpack" access="false"></right> <right name="command.warp" access="false"></right> <right name="command.setdimension" access="false"></right> <right name="command.setinterior" access="false"></right> <right name="command.givevehicle" access="false"></right> <right name="command.repair" access="false"></right> <right name="command.blow" access="false"></right> <right name="command.destroy" access="false"></right> <right name="command.customize" access="false"></right> <right name="command.setcolor" access="false"></right> <right name="command.setpaintjob" access="false"></right> <right name="command.listmessages" access="false"></right> <right name="command.readmessage" access="false"></right> <right name="command.listresources" access="false"></right> <right name="command.execute" access="false"></right> <right name="command.setpassword" access="false"></right> <right name="command.setwelcome" access="false"></right> <right name="command.setgame" access="false"></right> <right name="command.setmap" access="false"></right> <right name="command.setweather" access="false"></right> <right name="command.blendweather" access="false"></right> <right name="command.setblurlevel" access="false"></right> <right name="command.setwaveheight" access="false"></right> <right name="command.setskygradient" access="false"></right> <right name="command.setgamespeed" access="false"></right> <right name="command.setgravity" access="false"></right> <right name="command.settime" access="false"></right> <right name="command.unban" access="false"></right> <right name="command.banserial" access="false"></right> <right name="command.unbanserial" access="false"></right> <right name="command.listbans" access="false"></right> <right name="command.setnick" access="false"></right> </acl> <acl name="Moderator"> <right name="general.ModifyOtherObjects" access="false"></right> <right name="command.gamemode" access="true"></right> <right name="command.changemode" access="true"></right> <right name="command.changemap" access="true"></right> <right name="command.stopmode" access="true"></right> <right name="command.stopmap" access="true"></right> <right name="command.skipmap" access="true"></right> <right name="command.mute" access="true"></right> <right name="command.unmute" access="true"></right> <right name="command.whois" access="true"></right> <right name="command.whowas" access="true"></right> <right name="function.setPlayerMuted" access="true"></right> <right name="function.kickPlayer" access="true"></right> <right name="function.banIP" access="true"></right> <right name="function.banPlayer" access="true"></right> <right name="function.banSerial" access="true"></right> <right name="function.getBansXML" access="true"></right> <right name="function.unbanIP" access="true"></right> <right name="function.unbanSerial" access="true"></right> <right name="function.getClientIP" access="true"></right> <right name="function.startResource" access="true"></right> <right name="function.stopResource" access="true"></right> <right name="function.restartResource" access="true"></right> <right name="function.redirectPlayer" access="true"></right> <right name="general.adminpanel" access="true"></right> <right name="general.tab_players" access="true"></right> <right name="general.tab_resources" access="false"></right> <right name="general.tab_maps" access="false"></right> <right name="general.tab_server" access="true"></right> <right name="general.tab_bans" access="false"></right> <right name="general.tab_adminchat" access="true"></right> <right name="command.kick" access="true"></right> <right name="command.freeze" access="true"></right> <right name="command.shout" access="true"></right> <right name="command.spectate" access="true"></right> <right name="command.slap" access="true"></right> <right name="command.setgroup" access="false"></right> <right name="command.sethealth" access="true"></right> <right name="command.setarmour" access="true"></right> <right name="command.setmoney" access="false"></right> <right name="command.setskin" access="true"></right> <right name="command.setteam" access="true"></right> <right name="command.giveweapon" access="false"></right> <right name="command.setstat" access="true"></right> <right name="command.jetpack" access="true"></right> <right name="command.warp" access="true"></right> <right name="command.setdimension" access="true"></right> <right name="command.setinterior" access="true"></right> <right name="command.createteam" access="false"></right> <right name="command.destroyteam" access="false"></right> <right name="command.givevehicle" access="false"></right> <right name="command.repair" access="true"></right> <right name="command.blowvehicle" access="true"></right> <right name="command.destroyvehicle" access="true"></right> <right name="command.customize" access="true"></right> <right name="command.setcolor" access="true"></right> <right name="command.setpaintjob" access="true"></right> <right name="command.listmessages" access="true"></right> <right name="command.readmessage" access="true"></right> <right name="command.listresources" access="false"></right> <right name="command.start" access="false"></right>
- 
	يب ---- مثآل آخر : والكود إلي بداخله كذا The-Best-Script لنفرض أن السكربت حقكـ إلي تبي تتصل فيه إسمه : -- Server Side # -- Script Name: The-Best-Script function theBest ( player ) setElementFrozen ( player, not isElementFrozen ( player ) ) end من سكربت آخر ، رح تسوي كذا theBest الآن تبي تتصل بالوظيفة إلي بإسم : -- Server Side # addEventHandler ( "onMarkerHit", root, function ( plr ) if ( getElementType ( plr ) == "player" ) then exports [ "The-Best-Script" ]:theBest ( plr ) end end ) بجانب سيرفر The-Best-Script بالميتا حقت السكربت إلي بإسم theBest طبعاً بالحالة ذي رح تعرف الوظيفة إلي بإسم لأنه انت استخدمتها بجانب سيرفر ..
- 
	-- Server Side # addCommandHandler ( "supernick", function ( player, _, nick ) if ( isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( "Admin" ) ) ) then if ( nick ) and ( string.len ( nick ) <= 80 ) then setElementData ( player, "CustomTag", tostring ( nick ) ) outputChatBox ( "[superNick]#FFFFFF Your SuperNick is: " .. tostring ( nick ) .. " #FFFFFF.", player, 255, 136, 0, true ) end else outputChatBox ( "[ERROR] #ffffffOops! You are not allowed to do this.", player, 255, 0, 0, true ) end end ) addEventHandler ( "onPlayerChat", root, function ( msg ) local r, g, b = getPlayerNametagColor ( source ) local value = getElementData ( source, "CustomTag" ) if ( value ) then cancelEvent ( ) outputChatBox( value .. " : #FFFFFF" .. msg, root, r, g, b, true ) end end ) addEventHandler ( "onResourceStart", resourceRoot, function ( ) for _, player in ipairs ( getElementsByType ( "player" ) ) do local acc = getPlayerAccount ( player ) if ( acc ) and not ( isGuestAccount ( acc ) ) and ( getAccountData ( acc, "CustomTag" ) ) then setElementData ( player, "CustomTag", getAccountData( acc, "CustomTag" ) ) end end end ) addEventHandler ( "onPlayerLogin", root, function ( _, acc ) if ( getAccountData ( acc, "CustomTag" ) ) then setElementData ( source, "CustomTag", getAccountData ( acc, "CustomTag" ) ) end end ) addEventHandler ( "onPlayerQuit", root, function ( ) local acc = getPlayerAccount ( source ) if ( acc ) and not ( isGuestAccount ( acc ) ) and ( getElementData ( source, "CustomTag" ) ) then setAccountData ( acc, "CustomTag", getElementData ( source, "CustomTag" ) ) end end )
- 
	الوظيفة هاذي تتحق إذا صندوق التحميل ظآهر أو لأ .. false إذا مب ظاهر يعطكـ true إذا كان ظاهر يعطكـ

 
        