Jump to content

KillerX

Members
  • Posts

    838
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by KillerX

  1. لا والله شغال بس انتا ما جربت تعمل اللوحات اصلا ? ولو هو مب شغال ليش ما تفكر تعرضوا بعد تعديلك
  2. addEventHandler( "onClientGUIAccepted", edit_msg, function () outputChatBox( guiGetText( source ) ) end )
  3. يب ماني مستخدمها لكن لازم اعرفها ما يصير اسوي function( new ) لازم اعرفها باي حرف او باي اسم عشا انتقل للارقيومنت الثاني function ( old , new ) or function( _ , new ) او اي شئ المهم تتعرف
  4. اولا الرسايل لازم تكون ميمو او جريد ليست ثانيا اعمل حدث عندما يدوس علي انتر عشان يبعت الرسالة onClientGUIAccepted وبعد كدا تحقق هل الرسالة فارغة ام لا if ( utf8.len( guiGetText( youEditBox ) ) > 1 ) then end وبعد كدا اهم خطوة وهي ترسل تريقر للسيرفر وبعد كدا ترسل تريقر من السيرفر للكلنت لكل الاعبين -- Client -- addEventHandler( 'onClientGUIAccepted' , yourEditBox , function( ) msg = guiGetText( source ) if( utf8.len( msg ) > 1 ) then triggerServerEvent( 'msgServer' , localPlayer , msg ) -- نرسل تريقر للسيرفر عشان نجيب الروت يعني جميع الاعبين end end ) -- Server -- addEvent( 'msgServer' , true ) addEventHandler( 'msgServer' , root , function( msg ) triggerClientEvent( root , 'msgClient' , source , msg ) -- نرسل تريقر للكلنت بجميع الاعبين عشان تظهر لكل الاعبين الرسالة الجديدة end ) : واخيرا لو تبي تضيف الرسالة A - لو كانت جريد ليست 1 - تضيف رو 2 - تحط الرسالة اسم الاعب اللي قالها ( طبعا الاعب احنا ارسالنا في التريقر ) addEvent( 'msgClient' , true ) addEventHandler( 'msgClient' , root , function( msg ) local PlayerName = '[ ' .. getPlayerName( source ):gsub( "#%x%x%x%x%x%x" , "" ) .. ' ]' newRow = guiGridListAddRow( yourGridList ) guiGridListSetItemText( yourGridList , newRow , MsgColumn , PlayerName .. ' : ' .. msg , false , false ) end ) B - لو كانت ميمو 1 - تجيب كل الكلام اللي كان مكتوب 2 - تضيف الرسالة الجديدة مع الكلام المكتوب addEvent( 'msgClient' , true ) addEventHandler( 'msgClient' , root , function( msg ) local PlayerName = '[ ' .. getPlayerName( source ):gsub( "#%x%x%x%x%x%x" , "" ) .. ' ]' -- نمسح الالوان من اسم الاعب local oldMessages = guiGetText( yourMemo ) if( oldMessages == '' ) then -- نتحقق هل دي اول رسالة guiSetText( yourMemo , msg ) else guiSetText( yourMemo , oldMessages .. '\n' .. PlayerName .. ' : ' .. msg ) end end ) وبالتوفيق
  5. القسم الخطا @N3xT يرجي النقل لقسم البرمجة + لازم تشوف الويكي اولا عشان لا يحصل مشاكل setPlayerName Server-only function This function changes the specified player's name. Note that any change made to a players name with this function is not saved in their settings so the name change only lasts till they disconnect Minimal player name length is 1 character. Maximum player name length is 22 characters. Player names are case-insensitive. It is not possible to have two clients with same name but different character case. عشان كدا سوي التحققين دول len = utf8.len( guiGetText( yourEditBox ) ) if( len > 1 and len <= 22 ) then -- باقي كود الاخ احمد end
  6. الكود عبارة عندما يدخل الاعب لحساب معين يتحقق من الحساب هل هو جديد ام لا هنا old و معناها الحساب اللي انتا كنت عليه قبل ما تسجل Guest وطبعا اي واحد من غير ما يسجل دخول يبقي الحساب حقوا اسموا هنا new انما يعني الحساب اللي انتا سجلت فيه وبسسء
  7. A wonderful explanation as usual
  8. getCameraMatrix Shared function This function gets the position of the camera and the position of the point it is facing. Note: The server-side version of this function returns the last camera matrix that was set by the server, and thus does not necessarily indicate the current matrix of the camera (since it may have been changed client-side).
  9. KillerX

    Jail Bug

    in addition to Mr.Loki's information you can use executeSQLQuery insted of getAccountData setAccountData if the player didn't log in
  10. لا انتا حط في الاول خالص اكواد اللوحتين وخلي اللوحة التانية مخفية ولما تختار الرو اللي تبيه خليه ظاهرة
  11. مش انتا قولت تبي لما تدوس علي رو معين يفتح لوحة للرو حقك yourRow تمام بدل وطبعا الرو لازم يكون رقم هنا مفيش فاصلة if( guiGridListGetSelectedItem( yourGridList , ) == yourRow ) then بيصير كدا if( guiGridListGetSelectedItem( yourGridList ) == yourRow ) then --للتحقق من الرو
  12. "onClientGUIDoubleClick" -- حدث الضغط علي الزر مرتين if( guiGridListGetSelectedItem( yourGridList , ) == yourRow ) then --للتحقق من الرو guiSetVisible() -- لاغلاق اللوحة الحالية وفتح اللوحة الجديدة
  13. عندك السكل بس الاكونت داتا اسهل
  14. WIKI : This function is deprecated. This means that its use is discouraged and that it might not exist in future versions. Please use getElementModel instead.
  15. KillerX

    headshot

    you want player lose his armour instead of dying ?? if you mean that : -- Client addEventHandler( 'onClientPlayerDamage' , root , function( attacker , weapon , bodypart ) if( weapon == 34 and bodypart == 9 )then if( getPedArmor( source ) == 0 ) then setPedHeadless( source , true ) timer = setTimer( function( source ) setPedHeadless( source , false ) ; end , 2000 , 1 , source ) triggerServerEvent( 'killPed' , source , attacker , weapon , bodypart ) else cancelEvent( true ) triggerServerEvent( 'removeArmour' , source ) end end end ) -- Server addEvent( 'removeArmour' , true ) addEventHandler( 'removeArmour' , root , function( ) setPedArmor( source , 0 ) end ) addEvent( 'killPed' , true ) addEventHandler( 'killPed' , root , function( ) killPed( source , attacker , weapon , bodypart ) end )
  16. عندك طرق كتير واسهلها الاكونت داتا addEventHandler( 'onPlayerLogin' , root , function( old , new ) if( getAccountData( new , 'data' ) ) then return outputChatBox( 'تم الدخول مسبقا لهذا الحساب' , source , 255 , 0 , 0 , true ) end outputChatBox( 'انتا اول شخص يقوم بتسجيل الدخول في هذا الحساب' , source , 0 , 255 , 0 , true ) setAccountData( new , 'data' , true ) end )
  17. i've done some tests and i've found the solution msg = "@#!%%^,:{}" outputChatBox( msg:gsub( '[^,]' , '' ) ) thank's anyway
  18. Hi , now i have this string msg = "@#!%%^,:{}" and i can remove all signs from this string by this way string.gsub( msg , '%p' , '' ) tha question is : how to remove all signs from this string except this sign " , " Thanks
×
×
  • Create New...