Jump to content

استفسارات عن البرمجة


Recommended Posts

شلون اخلي

math.random الـ

يتخصص بأرقام معينة , مثلآ اي دي السيارات

لو احطها

math.random(511,611) -- مثاال 

في بعض الايدي بين الرقمين ماتخص السيارات , فهل في طريقة للماث راندوم ؟

-----------------------------------------------------------------------------------------------

https://wiki.multitheftauto.com/wiki/Scripting_the_GUI_-_Tutorial_2

حبيت اسوي كود مثل الشرح فوق , بس كيف استخدم

getText

واخليه كل ما اضغط رقم يسجله فوق وإذا ضغطت رقم ثاني يجي جنبه

مثلآ لو ضغطت 4 , بعدها 5 , تختفي الاربعة , في طريقة اعرف لها , بس طويلة ولازم اسوي اكثر من ليبل , فـ هل في طريقة مختصرة , وتكون بليبل واحد ؟

Link to comment
شلون اخلي

math.random الـ

يتخصص بأرقام معينة , مثلآ اي دي السيارات

لو احطها

math.random(511,611) -- مثاال 

في بعض الايدي بين الرقمين ماتخص السيارات , فهل في طريقة للماث راندوم ؟

-----------------------------------------------------------------------------------------------

https://wiki.multitheftauto.com/wiki/Scripting_the_GUI_-_Tutorial_2

حبيت اسوي كود مثل الشرح فوق , بس كيف استخدم

getText

واخليه كل ما اضغط رقم يسجله فوق وإذا ضغطت رقم ثاني يجي جنبه

مثلآ لو ضغطت 4 , بعدها 5 , تختفي الاربعة , في طريقة اعرف لها , بس طويلة ولازم اسوي اكثر من ليبل , فـ هل في طريقة مختصرة , وتكون بليبل واحد ؟

تلاحظ السيتناكس

math.random(الرقم الاكبر,الرقم الاصغر) 

مثلا انا ابحط اول ايدي موتر

واخر ايدي موتر باللعبة

تشوف

math.random(400,611) 

معليش على التدخل :D

Link to comment

^ يعطيك العافية على المساعدة

بس أنت مافهمت قصدي ,

الحين بين الايدي 400 و 611 , ايدي مايخص السيارات , فما راح تطلع سيارة , فأبي طريقة أحط سيارات معينة

جربت اسوي جدول , بس مايصير احطه داخل math.random

Link to comment
مانبي الموضوع كذا , الموضوع يختص بالاشياء الصعبه , مو اشياء سهل مثل هذي !

اسم الموضوع استفسارات البرمجة

يعني اي شي ماتعرفه تستفسر عنه هنا :D

وماشوف انك كاتب للأشياء الصعبة في الموضوع !!

Link to comment
^ يعطيك العافية على المساعدة

بس أنت مافهمت قصدي ,

الحين بين الايدي 400 و 611 , ايدي مايخص السيارات , فما راح تطلع سيارة , فأبي طريقة أحط سيارات معينة

جربت اسوي جدول , بس مايصير احطه داخل math.random

لا تقدر

عن طريق استخدام الفنكشن

unpack 

بما انك حاولت فهذي هي الطريقه

cars = { 
{560}, 
{411}, 
{420}, 
-- ضيف هنا السيارات الي تبيها 
} 
  
veh = { } 
  
marker = createMarker (x,y,z, "cylinder", 2, 0, 255, 0, 100) 
addEventHandler ("onMarkerHit", marker, 
function (player) 
if getElementType (player) == "player" then 
if isElement (veh[player]) then destroyElement (veh[player]) veh[player] = nil end 
veh[player] = createVehicle (unpack(cars[math.random(#cars)]), x,y,z) 
warpPedIntoVehicle (player, veh[player]) 
end 
end) 
Link to comment

لا تقدر

عن طريق استخدام الفنكشن

unpack 

بما انك حاولت فهذي هي الطريقه

cars = { 
{560}, 
{411}, 
{420}, 
-- ضيف هنا السيارات الي تبيها 
} 
  
veh = { } 
  
marker = createMarker (x,y,z, "cylinder", 2, 0, 255, 0, 100) 
addEventHandler ("onMarkerHit", marker, 
function (player) 
if getElementType (player) == "player" then 
if isElement (veh[player]) then destroyElement (veh[player]) veh[player] = nil end 
veh[player] = createVehicle (unpack(cars[math.random(#cars)]), x,y,z) 
warpPedIntoVehicle (player, veh[player]) 
end 
end) 

مشكوور

طيب وشنو حل هذي ؟

https://wiki.multitheftauto.com/wiki/Sc ... Tutorial_2

حبيت اسوي كود مثل الشرح فوق , بس كيف استخدم

getText

واخليه كل ما اضغط رقم يسجله فوق وإذا ضغطت رقم ثاني يجي جنبه

مثلآ لو ضغطت 4 , بعدها 5 , تختفي الاربعة , في طريقة اعرف لها , بس طويلة ولازم اسوي اكثر من ليبل , فـ هل في طريقة مختصرة , وتكون بليبل واحد ؟

Link to comment

لا تقدر

عن طريق استخدام الفنكشن

unpack 

بما انك حاولت فهذي هي الطريقه

cars = { 
{560}, 
{411}, 
{420}, 
-- ضيف هنا السيارات الي تبيها 
} 
  
veh = { } 
  
marker = createMarker (x,y,z, "cylinder", 2, 0, 255, 0, 100) 
addEventHandler ("onMarkerHit", marker, 
function (player) 
if getElementType (player) == "player" then 
if isElement (veh[player]) then destroyElement (veh[player]) veh[player] = nil end 
veh[player] = createVehicle (unpack(cars[math.random(#cars)]), x,y,z) 
warpPedIntoVehicle (player, veh[player]) 
end 
end) 

مشكوور

طيب وشنو حل هذي ؟

https://wiki.multitheftauto.com/wiki/Sc ... Tutorial_2

حبيت اسوي كود مثل الشرح فوق , بس كيف استخدم

getText

واخليه كل ما اضغط رقم يسجله فوق وإذا ضغطت رقم ثاني يجي جنبه

مثلآ لو ضغطت 4 , بعدها 5 , تختفي الاربعة , في طريقة اعرف لها , بس طويلة ولازم اسوي اكثر من ليبل , فـ هل في طريقة مختصرة , وتكون بليبل واحد ؟

Link to comment
xpcall 

تستخدم كمعالج للأخطاء مثل الديبوق .

مثال :

function word() 
    return 'One' + 2 
end 
  
function errorMessage(x) 
    return outputChatBox('Error : '..x) 
end 
  
outputChatBox(xpcall(word,errorMessage)) 
^ يعطيك العافية على المساعدة

بس أنت مافهمت قصدي ,

الحين بين الايدي 400 و 611 , ايدي مايخص السيارات , فما راح تطلع سيارة , فأبي طريقة أحط سيارات معينة

جربت اسوي جدول , بس مايصير احطه داخل math.random

IDs = { 611, 400 } 
  
random_ = IDs[math.random(#IDs)] 
مانبي الموضوع كذا , الموضوع يختص بالاشياء الصعبه , مو اشياء سهل مثل هذي !

اسم الموضوع استفسارات البرمجة

يعني اي شي ماتعرفه تستفسر عنه هنا :D

وماشوف انك كاتب للأشياء الصعبة في الموضوع !!

انا اقصد استفسارات بالاشياء الصعبه مو السهله !

Link to comment
حياك اللهـ

Edit #

تقدر تستخدم

Event # 
'onClientGUIClick' 
  
function # 
guiGetText 
guiSetText 

يعني اذا مثلا مكتوب اربعه تتحقق اذا كان مكتوب شي ولا لا

اذا كان مكتوب شي يمسحه

واذا ما كان مكتوب شي

يكتب الرقم

اللي اقصده مثلآ

لاحظ

mta_screen_2014_04_22_20_03_02.png

mta_screen_2014_04_22_20_03_03.png

لما اضغط زر يطلع فوق , ولما أضغط زر ثاني , يختفي الاول ويطلع الزر الثاني

انا اللي ابيه لما اضغط مثلآ رقم 2 بعده خمسة يكون هالشكل

mta_screen_2014_04_22_20_12_19.png

image share

مثل رمز السري للتليفون (الجوال) أرجو ان وضح قصدي !

وهذا الكود اللي سويته

(الكود مأخوذ من الويكي , بس أنا أضفت الارقام)

function createKeypad() 
    -- get the screen width and height 
    local sWidth, sHeight = guiGetScreenSize() 
  
    -- create the window, using some maths to find the centre of the screen 
    local Width,Height = 142,276 
    local X = (sWidth/2) - (Width/2) 
    local Y = (sHeight/2) - (Height/2) 
    keypadWindow = guiCreateWindow(X,Y,Width,Height,"Keypad",false) 
  
    -- don't allow people to resize the keypad 
    guiWindowSetSizable(keypadWindow,false) 
  
    -- create buttons labeled 0-9, "*", "#", "Enter" and "C" (clear) 
    b1 = guiCreateButton(13,68,37,36,"1",false,keypadWindow) 
    b2 = guiCreateButton(53,68,37,36,"2",false,keypadWindow) 
    b3 = guiCreateButton(93,68,37,36,"3",false,keypadWindow) 
    b4 = guiCreateButton(13,108,37,36,"4",false,keypadWindow) 
    b5 = guiCreateButton(53,108,37,36,"5",false,keypadWindow) 
    b6 = guiCreateButton(93,108,37,36,"6",false,keypadWindow) 
    b7 = guiCreateButton(13,148,37,36,"7",false,keypadWindow) 
    b8 = guiCreateButton(53,148,37,36,"8",false,keypadWindow) 
    b9 = guiCreateButton(93,148,37,36,"9",false,keypadWindow) 
    bAtrix = guiCreateButton(13,188,37,36,"*",false,keypadWindow) 
    b0 = guiCreateButton(53,188,37,36,"0",false,keypadWindow) 
    bHash = guiCreateButton(93,188,37,36,"#",false,keypadWindow) 
    bExit = guiCreateButton(13,228,37,36,"Exit",false,keypadWindow) 
    bEnter = guiCreateButton(53,228,37,36,"Enter",false,keypadWindow) 
    bClear = guiCreateButton(93,228,37,36,"Clear",false,keypadWindow) 
  
    -- create a gridlist to act as a backdrop on the kaypad display 
    keypadGridlistDisplay = guiCreateGridList(13,25,117,33,false,keypadWindow) 
    guiGridListSetSelectionMode(keypadGridlistDisplay,2) 
    guiSetAlpha(keypadGridlistDisplay,0.6) 
    -- create a label so we can write text on the keypad display 
    Screen = guiCreateLabel(14,26,115,30,"Enter Keycode.",false,keypadWindow) 
    guiLabelSetColor(Screen,255,000,000) 
    guiLabelSetVerticalAlign(Screen,"center") 
    guiLabelSetHorizontalAlign(Screen,"center",false) 
  
    guiSetVisible(keypadWindow,true) 
    showCursor(true) 
end 
  
-- THIS IS MY EDIT  :D  
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),createKeypad) 
  
addEventHandler("onClientGUIClick" , root , 
function () 
if source == b0 then 
guiSetText(Screen , guiGetText(b0)) 
elseif source == b1 then 
guiSetText(Screen , guiGetText(b1)) 
elseif source == b2 then 
guiSetText(Screen , guiGetText(b2)) 
elseif source == b3 then 
guiSetText(Screen , guiGetText(b3)) 
elseif source == b4 then 
guiSetText(Screen , guiGetText(b4)) 
elseif source == b5 then 
guiSetText(Screen , guiGetText(b5)) 
elseif source == b6 then 
guiSetText(Screen , guiGetText(b6)) 
elseif source == b7 then 
guiSetText(Screen , guiGetText(b7)) 
elseif source == b8 then 
guiSetText(Screen , guiGetText(b8)) 
elseif source == b9 then 
guiSetText(Screen , guiGetText(b9)) 
end 
end 
) 
  

Link to comment
  • 2 months later...
addEventHandler( "onClientGUIClick", resourceRoot, function(  ) 
  if ( source == Button ) then 
          guiSetText( element, guiGetText( source ) ) 
      end 
end )    

  
element وينه ؟  
  
+  guiGetText ( source )) ? 
المفروض element 
Link to comment
addEventHandler( "onClientGUIClick", resourceRoot, function(  ) 
  if ( source == Button ) then 
          guiSetText( element, guiGetText( source ) ) 
      end 
end )    

  
element وينه ؟  
  
+  guiGetText ( source )) ? 
المفروض element 

ليش المفروض element!!

الكود وظيفته يأخذ التكست حق السورس الا هو الزر وبخليه ف الالمنت = )

Link to comment
addEventHandler( "onClientGUIClick", resourceRoot, function(  ) 
  if ( source == Button ) then 
          guiSetText( element, guiGetText( source ) ) 
      end 
end )    

  
element وينه ؟  
  
+  guiGetText ( source )) ? 
المفروض element 

ليش المفروض element!!

الكود وظيفته يأخذ التكست حق السورس الا هو الزر وبخليه ف الالمنت = )

this function is used to get the text of GUI elements like edit boxes, labels, buttons etc.

على اي اساس الاعب يصير من

الــ GUI ?

Link to comment
addEventHandler( "onClientGUIClick", resourceRoot, function(  ) 
  if ( source == Button ) then 
          guiSetText( element, guiGetText( source ) ) 
      end 
end )    

this function is used to get the text of GUI elements like edit boxes, labels, buttons etc.

على اي اساس الاعب يصير من

الــ GUI ?

فاهم غلط هه

if ( source == Button ) then لو تلاحظ هو مسوي شرط

Buttonيحطها راح يكون معناها الـ source فـ بداخل هذا الشرط اي كلمة ^

Link to comment
addEventHandler( "onClientGUIClick", resourceRoot, function(  ) 
  if ( source == Button ) then 
          guiSetText( element, guiGetText( source ) ) 
      end 
end )    

  
element وينه ؟  
  
+  guiGetText ( source )) ? 
المفروض element 

تلاحظ سويت شرط

if ( source == Button ) then

button لو كان السورس هو الـ

= source

يعني كانه سويت كذا

if ( source == Button ) then 
   source = Button 
end 

ومداك تسوي كذا ..

addEventHandler( "onClientGUIClick", resourceRoot, function( Max ) 
 if ( Max == Button ) then 
           guiSetText( element, guiGetText( Max ) ) 
    end 
end ) 
Link to comment

this function is used to get the text of GUI elements like edit boxes, labels, buttons etc.

على اي اساس الاعب يصير من

الــ GUI ?

هههههههه يعني تبي تتفلسف؟

الفنكشن واضح من اسمه

guiSetText

يعني خاص حق ال GUI

ولو تشوف هي غير معرفة في الكود ,

وهو حط له عشان يعوضها بال GUI الموجود عنده

Link to comment
addEventHandler( "onClientGUIClick", resourceRoot, function(  ) 
  if ( source == Button ) then 
          guiSetText( element, guiGetText( source ) ) 
      end 
end )    

  
element وينه ؟  
  
+  guiGetText ( source )) ? 
المفروض element 

تلاحظ سويت شرط

if ( source == Button ) then

button لو كان السورس هو الـ

= source

يعني كانه سويت كذا

if ( source == Button ) then 
   source = Button 
end 

ومداك تسوي كذا ..

addEventHandler( "onClientGUIClick", resourceRoot, function( Max ) 
 if ( Max == Button ) then 
           guiSetText( element, guiGetText( Max ) ) 
    end 
end ) 

اها , الحين الامور تمام , طالما اعرفه باستخدام if

اقدر احط اي اسم ,

يعطيك العافية يابطل ,

+

جعفر مو فلسفة , انا جاي افيد واستفيد الكلام الجانبي ماله داعي ,

فيدني ولا لاترد ,

Link to comment
من بعد اذنكم هذي وش وظيفتها وممكن مثال للفهم
string.upper 

وظيفتها باختصار تحححول لك الحروف الصغيرة الى حروف كبيرة

مثال بسيط ... :

local string = "function upper test" 
  
addEventHandler( "onResourceStart", resourceRoot, function(   ) 
    outputChatBox( "string is "..string.." in upper "..string.upper( string ).."", root ) 
end )   
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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