Jump to content

وظائف لعملية شراء


Recommended Posts

  • Replies 92
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

مش من اول مرة هاتتعلم

بالتوفيق :mrgreen:

--client 
Marker = createMarker (-2396.31543,-594.40619,133.64844,"cylinder",1,255,255,225,255) 
GUIEditor = { 
    button = {}, 
    window = {}, 
    staticimage = {}, 
    label = {} 
} 
  
        window1 = guiCreateWindow(551, 271, 197, 312, "مطعم", false) 
        guiWindowSetSizable(window1, false) 
        guiSetVisible ( window1, false) 
        images = guiCreateStaticImage(10, 58, 34, 34, "images/8.png", false, window1) 
        GUIEditor.label[1] = guiCreateLabel(48, 57, 102, 25, "..", false, window1) 
        guiSetFont(GUIEditor.label[1], "default-bold-small") 
        guiLabelSetColor(GUIEditor.label[1], 100, 53, 35) 
        GUIEditor.label[2] = guiCreateLabel(46, 77, 104, 15, "+20Health", false, window1) 
        guiSetFont(GUIEditor.label[2], "default-small") 
        GUIEditor.button[1] = guiCreateButton(131, 58, 56, 34, "شراء", false, window1) 
        GUIEditor.button[2] = guiCreateButton(9, 279, 178, 23, "أغلاق", false, window1)     
  
  
  
    addEventHandler('onClientMarkerHit',Marker, 
    function (ss) 
if getElementType (ss) == "player" and ss == localPlayer then 
guiSetVisible (window1,true) 
showCursor (true) 
guiSetInputEnabled (true) 
    end 
    end 
    ) 
  
    addEventHandler("onClientGUIClick", root, 
    function () 
     if ( source == GUIEditor.button[1] ) then 
    triggerServerEvent ("Health20",localPlayer) 
    elseif ( source == GUIEditor.button[2] ) then   
     guiSetVisible(window1,false) 
    showCursor(false) 
    guiSetInputEnabled (false) 
    end 
    end 
    ) 

--server 
function getPedMaxHealth(ped) 
    assert(isElement(ped) and (getElementType(ped) == "ped" or getElementType(ped) == "player"), "Bad argument @ 'getPedMaxHealth' [Expected ped/player at argument 1, got " .. tostring(ped) .. "]") 
    local stat = getPedStat(ped, 24) 
    local maxhealth = 100 + (stat - 569) / 4.31 
    return math.max(1, maxhealth) 
end 
  
addEvent ("Health20",true) 
       addEventHandler ("Health20",root, 
       function () 
if getPlayerMoney (source) >= 200 then 
if getElementHealth (source) < getPedMaxHealth(source) then 
takePlayerMoney (source,200) 
       setElementHealth (source, getElementHealth (source) + 20) 
       else 
outputChatBox ("Your health is full.",source,255,5,5) 
       end 
       else 
outputChatBox ("You don't have enough money.",source,255,5,5) 
       end 
       end 
       ) 
  
Link to comment
--client 
Marker = createMarker (-2396.31543,-594.40619,133.64844,"cylinder",1,255,255,225,255) 
GUIEditor = { 
    button = {}, 
    window = {}, 
    staticimage = {}, 
    label = {} 
} 
  
        window1 = guiCreateWindow(551, 271, 197, 312, "مطعم", false) 
        guiWindowSetSizable(window1, false) 
        guiSetVisible ( window1, false) 
        images = guiCreateStaticImage(10, 58, 34, 34, "images/8.png", false, window1) 
        GUIEditor.label[1] = guiCreateLabel(48, 57, 102, 25, "..", false, window1) 
        guiSetFont(GUIEditor.label[1], "default-bold-small") 
        guiLabelSetColor(GUIEditor.label[1], 100, 53, 35) 
        GUIEditor.label[2] = guiCreateLabel(46, 77, 104, 15, "+20Health", false, window1) 
        guiSetFont(GUIEditor.label[2], "default-small") 
        GUIEditor.button[1] = guiCreateButton(131, 58, 56, 34, "شراء", false, window1) 
        GUIEditor.button[2] = guiCreateButton(9, 279, 178, 23, "أغلاق", false, window1)     
  
  
  
    addEventHandler('onClientMarkerHit',Marker, 
    function (ss) 
if getElementType (ss) == "player" and ss == localPlayer then 
guiSetVisible (window1,true) 
showCursor (true) 
guiSetInputEnabled (true) 
    end 
    end 
    ) 
  
    addEventHandler("onClientGUIClick", root, 
    function () 
     if ( source == GUIEditor.button[1] ) then 
    triggerServerEvent ("Health20",localPlayer) 
    elseif ( source == GUIEditor.button[2] ) then   
     guiSetVisible(window1,false) 
    showCursor(false) 
    guiSetInputEnabled (false) 
    end 
    end 
    ) 
  
  

 

  
    --server 
  
addEvent ("Health20",true) 
addEventHandler ("Health20",root, 
function () 
setElementHealth (source, getElementHealth (source) + هون الرقم يلي تبيه يزيد علي دم اللاعب) 
else 
outputChatBox ("Your health is full.",source,255,5,5) 
end   
) 
  

جرب

Link to comment
وش سويت -_-

انت ضفت يسحب فلوس وكذا وربطت الكلنت بالسيرفر ما ابي كذا

بس ابي اعرف كيف ازيد القيمة مثلن دمه 20 شرا دم حق 20 يصير 40

اسف جدا مشان ازعجتك

مفيش ازعاج ولا حاجة

@1XxCr{o}sS الراجل عايز يفهم

لازم فنكشن الدم يكون في جهة السيرفر عشان مايكونش وهمي

لو في كلينت انت بس اللي هاتشوفه كامل او زايد

و باقي الاعبين هايشوفوا دمك زي ما هو

و لو مش عايز سحب فلوس و تحقق

امسح اند واحدة في السيرفر

getPlayerMoney و امسح التحقق

takePlayerMoney و

setElementHealth (localPlayer, getElementHealth (localPlayer) + 20) 

و كدة يضيف علي دمه 20 بس هايكون وهمي طبعاً عشان كلينت

هابسطهالك ركز

الفنكشن الطبيعي

setElementHealth صح ؟

و لما تيجي تستخدمه المفروض يكون مثلاً

setElementHealth (localPlayer,100)

هنا يديله دم 100

طيب لو عايز يديله دم علي دمه ؟

شغل مخك

دم علي دمه

دم يعني رقم الدم اللي انت عايز تضيفهوله علي دمه

علي يعني +

دمه يعني ايجاد دمه

طيب لما تيجي تطبق ؟

اول خطوة كدة

setElementHealth (localPlayer,getElementHealth (localPlayer) )

كدة جبنا دمه العادي

تاني خطوة

setElementHealth (localPlayer,getElementHealth (localPlayer) + )

نضيف علي دمه العادي

تالت خطوة

setElementHealth (localPlayer,getElementHealth (localPlayer) + 20 )

نضيف 20 دم علي دمه

و خلاص

الباقي تحققات و كدة عشان يتأكد ان دمه العادي مش كامل

فهمت حاجة ؟ :mrgreen:

Link to comment
ممكن الكود كامل مع اللوحة وكل شي لانه راسي دخل بالجدار

من playerparameter*

هاته كامل اشوف كيف سويتة مع اللوحة :]

هو قال يبيه كامل شكلك لسا مبتداء

لا تصعبها علي نفسك هيك وتبداء بمود صعب هيك

ابداء باشياء سهلة مثلا تكتب كلم في اف 8 يعيطك فلوس

او لوحة تعطيك دم 200 كامل ما تقعد تقسمها راح تكون صعبة عليك

ابداء بي السهل عليك ثم الصعب

Link to comment
فهمت بطبقها واشوف

اربط ترايقر بسيرفر مشان ما يكون وهمي؟؟

+وش الفرق بين ذول

getElementHealth

setElementHealth

اني الي تزيد واني الي تتحقق

getElementHealth 

يجيب الدم يلي مع اللاعب (يتحقق من دم اللاعب)؟

setElementHealth 

يضع دم اللاعب لكن يمكن استخدامه في تزويد الدم ايضا

Link to comment
فهمت بطبقها واشوف

اربط ترايقر بسيرفر مشان ما يكون وهمي؟؟

+وش الفرق بين ذول

getElementHealth

setElementHealth

اني الي تزيد واني الي تتحقق

ايوة صح اربط

--

getElementHealth

لو دمك مثلاً 54 ماشي ؟

و في الحظة دي جيت عملت كدة

مثلاً

local health = getElementHealth (localPlayer) 
outputChatBox ("Your health : "..health.."%") 

> Your health : 54%

يرجع لك دم الشئ اللي انت محدده getElementHealth يعني الفنكشن

مش بيزود ولا ينقص انت فاهم غلط

و لو مثلاً حبيت تغيير

setElementHealth (localPlayer, getElementHealth (localPlayer) + 20 ) 

> getElementHealth (localPlayer) = 54

> setElementHealth (localPlayer, 54 + 20 )

> 54 + 20 = 74

كدة دمه بقي 74 خلاص

شوفها رقم

ماتشوفهاش كتابة

و في الآخر

getElementHealth عشان تجيب دم الشئ اللي عنده دم زي مثلاً لاعب او مركبة او.. او .. او

setElementHealth دي تقدر تتحكم فيها بدم الشئ او اللي انت مختاره بحيث تخلي الدم اللي انت عايزه

يارب تكون فهمت

@1XxCr{o}sS

لو سمحت خليني اتكلم

Link to comment

في قوس زيادة شلتة+عدلته

elseif ( source == GUIEditor.button[1] ) then 
     getElementHealth (localPlayer)>= 100 
     outputChatBox ("لا يمكنك اخذ المزيد من الصحة"255,1,1) 

مع ذلك لا يعمل فيه غلط؟

Edited by Guest
Link to comment
ضفت انه لو دمه فل ما يجيه دم اكثر ويجيه رسالة
elseif getElementHealth (localPlayer)>= 100 then 
     outputChatBox ("لا يمكنك اخذ المزيد من الصحة",source,255,5,5) 

فيه غلط شي؟

لو ان الكود حقك بسيرفر سايبد

مايجي لوكال بلاير

ولو انه بكلاينت سايد

بفنكشن اظهار النص بالشات شيل سورس

Link to comment
ضفت انه لو دمه فل ما يجيه دم اكثر ويجيه رسالة
elseif getElementHealth (localPlayer)>= 100 then 
     outputChatBox ("لا يمكنك اخذ المزيد من الصحة",source,255,5,5) 

فيه غلط شي؟

لازم الكود يكون في سيرفر سايد

و ريح نفسك

استخدمه في اول الكود

function getPedMaxHealth(ped) 
    assert(isElement(ped) and (getElementType(ped) == "ped" or getElementType(ped) == "player"), "Bad argument @ 'getPedMaxHealth' [Expected ped/player at argument 1, got " .. tostring(ped) .. "]") 
    local stat = getPedStat(ped, 24) 
    local maxhealth = 100 + (stat - 569) / 4.31 
    return math.max(1, maxhealth) 
end 

ولما تيجي تتحقق

في اول بداية كودك

if getElementHealth (source) < getPedMaxHealth(source) then 
Link to comment
    elseif ( source == GUIEditor.button[1] ) then 
         getElementHealth (localPlayer)>= 100 
         outputChatBox ("لا يمكنك اخذ المزيد من الصحة"255,1,1) 

اخلي اول سطر

واربط من كلنت للسيرفر واحذف اخر سطرين واحط السطرين الي مسحتهم في سيرفر؟؟

Link to comment
    elseif ( source == GUIEditor.button[1] ) then 
         getElementHealth (localPlayer)>= 100 
         outputChatBox ("لا يمكنك اخذ المزيد من الصحة"255,1,1) 

اخلي اول سطر

واربط من كلنت للسيرفر واحذف اخر سطرين واحط السطرين الي مسحتهم في سيرفر؟؟

صح اربط

بس آخر سطرين ماتحطهمش بالترتيب كدة زي ماهما

في اول كودك لما تيجي تكمل في السيرفر

اعمل كدة

if getElementHealth (source) < getPedMaxHealth(source) then 
-- your code 
else 
outputChatBox ("لا يمكنك اخذ المزيد من الصحة",source,255,5,5) 

و الباقي زي الاغلاق و كدة و التكلمة عليك عشان تتعلم

Link to comment

كلنت

Marker = createMarker (-2396.31543,-594.40619,133.64844,"cylinder",1,255,255,225,49) 
GUIEditor = { 
    button = {}, 
    window = {}, 
    staticimage = {}, 
    label = {} 
} 
  
        window1 = guiCreateWindow(551, 271, 197, 312, "مطعم", false) 
        guiWindowSetSizable(window1, false) 
        guiSetVisible ( window1, false) 
        GUIEditor.label[1] = guiCreateLabel(48, 57, 102, 25, "وجبة", false, window1) 
        guiSetFont(GUIEditor.label[1], "default-bold-small") 
        images = guiCreateStaticImage(10, 58, 34, 34, "images/8.png", false, window1) 
        guiLabelSetColor(GUIEditor.label[1], 100, 53, 35) 
        GUIEditor.label[2] = guiCreateLabel(46, 77, 104, 15, "+20Health", false, window1) 
        guiSetFont(GUIEditor.label[2], "default-small") 
        GUIEditor.button[1] = guiCreateButton(131, 58, 56, 34, "شراء", false, window1) 
        GUIEditor.button[2] = guiCreateButton(9, 279, 178, 23, "أغلاق", false, window1)     
  
  
  
    addEventHandler('onClientMarkerHit',root, 
    function (ss) 
    if ( source == Marker ) and ( ss == localPlayer ) then 
    guiSetInputEnabled(true) 
    guiSetVisible(window1,true) 
    showCursor(true) 
    end 
    end 
    ) 
  
         
    addEventHandler("onClientGUIClick", root, 
    function () 
     if ( source == GUIEditor.button[1] ) then 
     setElementHealth(localPlayer, getElementHealth (localPlayer) + 20) 
      
     elseif ( source == GUIEditor.button[1] ) then 
     triggerServerEvent ("dd",localPlayer) 
      
     elseif ( source == GUIEditor.button[2] ) then   
     guiSetVisible(window1,false) 
     showCursor(false) 
     guiSetInputEnabled(false) 
    end 
    end 
    ) 
     
     

سيرفر

addEvent ("dd",true) 
 addEventHandler ("dd",root, 
 function () 
 if getElementHealth (source) >= 100 getPedMaxHealth(source) >= 100 then 
 outputChatBox ("لا يمكنك اخذ المزيد من الصحة",source,255,5,5) 
end 
end 
) 

Link to comment
ليه اضيف

if+then

ما هوه اتحقق بالكلنت ليه يتحقق كمان مره بالسيرفر؟

getPedMaxHealth شو ذا وظيفتة؟

معناها *لو if

معناها ثم* then

if دي تعتبر تحقق من اي شئ

if تكون مع then و لازم

getPedMaxHealth الوظيفة دي

ترجعلك دم الاعب الكامل

مش دمه العادي

اي شخص لما يدخل السيرفر دمه الكامل يكون من 100 صح ؟

ممكن تغيير دمه الكامل تخليه اعلي من 100 عن طريق الخصائص في لوحة الادمن

دة الدم الكامل فهمته ؟

getPedMaxHealth هي الوظيفة دي مفيدة في كدة

احسن من انك تعمل

if getElementHealth (source) <= 100 then 

لو دم الاعب اصغر من او يساوي 100

و دة العدد الطبييعي لما تيجي تتحقق بأن دمه كامل ولا لأ

بس في الاحسن

if getElementHealth (source) < getPedMaxHealth(source) then 

و في كودك اللي انت طرحته

كلينت سطر 25 اعمل تحقق بأنه لاعب و ان الاعب دة هو الاعب المحلي

كلينت سطر 37 و 38 و 39 امسحهم

سيرفر سطر 4

شوف الصح و اتعلم منه

if getElementHealth (source) < getPedMaxHealth(source) then 

بعدين تحت السطر دة ضيف يديله دم 20 علي دمه زي ماقولتلك

else و تحت سطر الدم ضيف

و بس

Link to comment

شوف السيرفر

addEvent ("dd",true) 
 addEventHandler ("dd",root, 
 function () 
 if getElementHealth (source) < getPedMaxHealth(source) then 
    setElementHealth (source, getElementHealth (source) + 20) 
    else 
 outputChatBox ("لا يمكنك اخذ المزيد من الصحة",source,255,5,5) 
end 
end 
) 

والكلنت

Marker = createMarker (-2396.31543,-594.40619,133.64844,"cylinder",1,255,255,225,49) 
GUIEditor = { 
    button = {}, 
    window = {}, 
    staticimage = {}, 
    label = {} 
} 
  
        window1 = guiCreateWindow(551, 271, 197, 312, "مطعم", false) 
        guiWindowSetSizable(window1, false) 
        guiSetVisible ( window1, false) 
        GUIEditor.label[1] = guiCreateLabel(48, 57, 102, 25, "وجبة", false, window1) 
        guiSetFont(GUIEditor.label[1], "default-bold-small") 
        images = guiCreateStaticImage(10, 58, 34, 34, "images/8.png", false, window1) 
        guiLabelSetColor(GUIEditor.label[1], 100, 53, 35) 
        GUIEditor.label[2] = guiCreateLabel(46, 77, 104, 15, "+20Health", false, window1) 
        guiSetFont(GUIEditor.label[2], "default-small") 
        GUIEditor.button[1] = guiCreateButton(131, 58, 56, 34, "شراء", false, window1) 
        GUIEditor.button[2] = guiCreateButton(9, 279, 178, 23, "أغلاق", false, window1)     
  
  
  
    addEventHandler('onClientMarkerHit',root, 
    function (ss) 
    if ( source == Marker ) and ( ss == localPlayer ) then 
    guiSetInputEnabled(true) 
    guiSetVisible(window1,true) 
    showCursor(true) 
    end 
    end 
    ) 
  
         
    addEventHandler("onClientGUIClick", root, 
    function () 
     if ( source == GUIEditor.button[1] ) then 
     triggerServerEvent ("dd",localPlayer) 
      
     elseif ( source == GUIEditor.button[2] ) then   
     guiSetVisible(window1,false) 
     showCursor(false) 
     guiSetInputEnabled(false) 
    end 
    end 
    ) 
     
     

مو ضابط يخي ليه ما يجي رساله

Link to comment

--server 
function getPedMaxHealth(ped) 
    assert(isElement(ped) and (getElementType(ped) == "ped" or getElementType(ped) == "player"), "Bad argument @ 'getPedMaxHealth' [Expected ped/player at argument 1, got " .. tostring(ped) .. "]") 
    local stat = getPedStat(ped, 24) 
    local maxhealth = 100 + (stat - 569) / 4.31 
    return math.max(1, maxhealth) 
end 
  
  
addEvent ("dd",true) 
 addEventHandler ("dd",root, 
 function () 
 if getElementHealth (source) < getPedMaxHealth(source) then 
    setElementHealth (source, getElementHealth (source) + 20) 
 else return 
 outputChatBox ("لا يمكنك اخذ المزيد من الصحة",source,255,5,5) 
end 
end 
) 
Link to comment
function getPedMaxHealth(ped) 
    assert(isElement(ped) and (getElementType(ped) == "ped" or getElementType(ped) == "player"), "Bad argument @ 'getPedMaxHealth' [Expected ped/player at argument 1, got " .. tostring(ped) .. "]") 
    local stat = getPedStat(ped, 24) 
    local maxhealth = 100 + (stat - 569) / 4.31 
    return math.max(1, maxhealth) 
end 

ليه ضفت ذول؟؟

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...