Jump to content

ماركر


Recommended Posts

اخوي الماركر يطلع بس ماينقلني

سوي متغير جديد في اعلى سكربيتك وسميه اي اسم مثلا

AllowUseFunction = true -- السماح باستخدام الوظيفه

الان روح لوظيفة الماركر اللي تبي تستخدمها

وحط داخلها

if AllowUseFunction == true then -- اذا كان المتغير true

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

AllowUseFunction = false -- تمنع المتغير

-- الان نسوي تايمر يرجع المتغير مثل ماكان مثلا بعد دقيقة

setTimer(function()

AllowUseFunction = true

end,60000,1)

else -- اذا كان المتغير ممنوع

--تخرج كلام في الشات او اي شيء انه بعد دقيقة مسموح استخدام الوظيفه

end

اعذرني اذا ماهو واضح لاني من جوال داخل

Link to comment

يعطيك العافيه ي سعد

بس احسه شغلتك تلحس المخ وماراح افهمها الا بمثال

بس شوف كود الاخ الي فوق ضبط

بس بعد ماينقلني مايشتغل هذا الكود

setTimer(addEventHandler,5*60000,1,"onClientMarkerHit",marker,onHit) 

+ انا قللت المده حقت التايمر ومانفع

الحين كل شي شغال ماعاد هذا ليه مايرجعه ؟

Link to comment

خلاص الحين كل شي ضبططط

مشكوورين

بس ابي كيف

اسويه اذا لمس الماركر يقوله لقد تم نقلك

واذا خلص وقت النقل يعني ماعاد ينقل احد الماركر

وجاء واحد ولمس الماركر يقوله

لقد انتهاء النقل كيف ؟

Link to comment
خلاص الحين كل شي ضبططط

مشكوورين

بس ابي كيف

اسويه اذا لمس الماركر يقوله لقد تم نقلك

واذا خلص وقت النقل يعني ماعاد ينقل احد الماركر

وجاء واحد ولمس الماركر يقوله

لقد انتهاء النقل كيف ؟

setTimer 
removeEventHandler 
outputChatBox 

Link to comment
ابيه ينقل لـ مدة 5 دقائق

وبعد الـ 5 دقائق اذا جاء واحد لمسه

يقوله خلاص انتهاء وقت النقل انتضر 5 دقائق اخره حتي يتم نقلك

local marker = createMarker( .. ) 
timer = setTimer(function () end,5*60000) 
function onHit(hit) 
 if getElementType(hit) == "player" then 
   if not isTimer(timer) then 
     setElementPosition(hit,0,0,3) 
     timer = setTimer(function() end,5*60000) 
    else 
 outputChatBox("Wait .. "..tostring(getTimerDetails(timer)),hit) 
end 
end 
end 
addEventHandler("onMarkerHit",marker,onHit) 

Link to comment

هذا تايمر فيه فنكشن فاضي

يعني بس تايمر بدون شي

و انا حطيت يقولك كم باقي لما ما ينقلك

edit:

هذا

  outputChatBox("Wait .. "..tostring(getTimerDetails(timer)),hit) 

خله

  
[lua]local min = math.floor(getTimerDetails(timer)/60/1000) 
local sec = math.floor(getTimerDetails(timer)/1000) 
outputChatBox("Wait .. "..tostring(min)..":"..tostring(sec),hit) 

Edited by Guest
Link to comment
حلوو ضبط

بس مشكلته

لما تلمس الماركر يقول انتضر

32473

وينقص

><

+

ممكن تشرحلي هذول مافهمتهم

timer = setTimer(function() end,5*60000) 

هذا تايمر فيه فنكشن فاضي

يعني بس تايمر بدون شي

و انا حطيت يقولك كم باقي لما ما ينقلك

edit:

هذا

outputChatBox("Wait .. "..tostring(getTimerDetails(timer)),hit) 

خله

local min = getTimerDetails(timer)*60*1000 
local sec = getTimerDetails(timer)*1000 
outputChatBox("Wait .. "..tostring(min)..":"..tostring(sec),hit) 

الكات راز عطه قيمة وهمية افضل

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

وراح يفهمه اكثر من كودك

  
marker = createMarker( x,y,z, "cylinder", 2, 255, 255, 0, 255 ) 
addEventHandler("onPlayerJoin",root,function() 
setElementData(source,"Hit",true) 
end 
) 
addEventHandler("onMarkerHit",marker, 
function(player) 
if getElementType(player) == "player" then 
if ( getElementData(player,"Hit") == true ) then 
setElementData(player,"Hit",false) 
setElementPosition(player,x,y,z) 
outputChatBox("Welcome",player,255,0,0,true) 
else 
outputChatBox("You Not Can Join To Marker",player,255,0,0,true) 
end 
end 
end 
) 
setTimer(function() for i,v in ipairs (getElementsByType("player")) do 
setElementData(v,"Hit",true) 
end 
end,5000,0 
) 
  
  

التعديلات :

في السطر الاول x,y,z احداثيات الماركر

السطر 11 x,y,z الاحداثيات اللي ينتقل لها الاعب

.. :wink:

Link to comment
local marker = createMarker ( .. ) 
  
-- الحين الماركر ماله داتا ... يعني كأنه صآير كذآ 
-- getElementData ( ... ) == "" 
-- false او 
-- ماله قيمة 
  
setElementData ( marker, "stats", "open" ) -- ندخل له قيمة 
-- setElementData ( element, "data name", value ) 
-- stats اسم الداتا اللي حفظنا فيه المعلومة هو  
  
function onHit ( hitElement ) 
    if source == marker then -- أثبات ان عنصر الإيفنت هو الماركر اللي مساع 
        if getElementType ( hitElement ) == "player" then 
            -- getElementData ( element, "data name" ) -- جلب داتا مخزن من قبل 
            local markerData = getElementData ( marker, "stats" ) 
            if markerData then -- إثبات وجود الداتا 
                if markerData == "lock" then -- إثبات ان الداتا تطابق كلمة لوك 
                    -- حط اي شيء تبي من اكواد 
                    return false -- انهي الوظيفة بطلنا ماعاد نبي شيء 
                elseif markerData == "open" then -- إثبات ان الداتا تطابق كلمة اوبن 
                    ------- اكواد 
                end 
            end 
        end 
    end 
end 
addEventHandler ( "onMarkerHit", root, onHit ) 
  
function changeData ( ) -- الوظيفة هذي مالها اي فايدة بدون تآيمر او ايفنت او اي شيء يشغلها 
    setElementData ( marker, "stats", "open" ) 
    setTimer ( setElementData, 1* 60* 1000, 1, marker, "stats", "lock" ) 
    -- نعين تآيمر داخلي يشتغل مرة وحدة بعد مرور دقيقة من تشغيل الوظيفة 
end 
setTimer ( changeData, 5* 60* 1000, 0 ) -- مؤقت تكرار تشغل الوظيفة المحددة 

تقدر تحول الوقت عن طريق الكود التالي

-- الوظيفة ليست من صنعي 
getTimeByMilliSeconds = function ( number ) 
    if ( number ) then 
        sec = math.fmod ( math.floor( number / 1000 ), 60 ) 
        min = math.floor( math.floor( number / 1000 ) / 60 ) 
        return string.format ( '%02d:%02d', min, sec ) 
    end 
end 

مثال علاها :

timer = setTimer ( function ( ) end, 60000, 1 ) 
local remaining, _, __ = getTimerDetails ( timer  ) 
outputChatBox ( "Remaining Time: "..getTimeByMilliSeconds ( remaining ), root, 255, 255, 0 ) 

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...