Jump to content

مساعدة في كود بسيط


Recommended Posts

Spoiler

addEventHandler("onMarkerHit",root,
function (p)
    if source == pizMar then
        triggerClientEvent(p,"onPizzaHit",resourceRoot)
    elseif source == pizMar2 then
        if getElementData(p,"pizzaOccupent") == true then
          local bike = createVehicle(482,-74.28358, -352.48004, 1.38142, 359.447, 0.000, 93.239)
            warpPedIntoVehicle(p,bike)
        end
    end
end
)

 


---------------------------------
السلام عليكم ممكن تساعدوني

انا ابي السيارة الي يصنعها الاعب عند لامس الماركر هو فقط الي يقدر ييركبها ولو نزل منها لمدة 30 ثانية السيارة تتمسح واذا كان معة السيارة ما يقدر يصنع سيارة غيرها

بيلز سعدوني ارجوكم انا حموت واتعلم الحتي دي

Edited by Kas7
Link to comment
createMarker -- سوي الماركر
"onMarkerHit" -- لما يلمس الماركر
createVehicle -- سوي السيارة
setElementData -- Vehicle, DataName, Player حط داتا للسيارة وقيمتها اللاعب اللي دخل الماركر
"onVehicleEnter" -- لما احد يركب سيارة
thePlayer -- اللاعب اللي ركب السيارة
source -- المصدر يعني السيارة اللي ركبها اللاعب
if not getElementData(source, DataName) == thePlayer -- تحقق من قيمة داتا السيارة اذا لم تكن اللاعب اللي دخل السيارة
cancelEvent -- الغاء الحدث
else -- ما تحتاج تسويها لأن اصلاً الحدث راح يتكنسل في حالة وحده فقط اذا ماكانت داتا السيارة هي اللاعب اللي ركبها

 

Edited by VenomNX
Link to comment
9 hours ago, Patrick said:

Wrong language, moved to Arabic section.


 
These are the first times for me to ask for some help. I am very sorry for the unintended mistakes
2 hours ago, VenomNX said:

createMarker -- سوي الماركر
"onMarkerHit" -- لما يلمس الماركر
createVehicle -- سوي السيارة
setElementData -- Vehicle, DataName, Player حط داتا للسيارة وقيمتها اللاعب اللي دخل الماركر
"onVehicleEnter" -- لما احد يركب سيارة
thePlayer -- اللاعب اللي ركب السيارة
source -- المصدر يعني السيارة اللي ركبها اللاعب
if not getElementData(source, DataName) == thePlayer -- تحقق من قيمة داتا السيارة اذا لم تكن اللاعب اللي دخل السيارة
cancelEvent -- الغاء الحدث
else -- ما تحتاج تسويها لأن اصلاً الحدث راح يتكنسل في حالة وحده فقط اذا ماكانت داتا السيارة هي اللاعب اللي ركبها

 

ممكن تضيفلي الاكواد علي الكود حقي عشان عشان فرصة افهم بعض الاكواد كيف تنكتب عشان انا مبتداء رجائا

 

Link to comment
local posX,posY,posZ = 0.0,0.0,5.0; -- احداثيات الماركر
local markerSize = 1.0; -- حجم الماركر
local r,g,b,a = 255,0,0,255; -- الوان الماركر
local Marker = createMarker(posX,posY,posZ,"cylinder",markerSize,r,g,b,a,root);

local VehicleModel = 502; -- موديل السيارة
local VehicleColor = {};
VehicleColor.r,VehicleColor.g,VehicleColor.b = 255,255,255; -- الوان السيارة
local Vehicles = {};

addEventHandler("onMarkerHit",Marker,function(PlayerHit)
    if getElementType(PlayerHit)=="player" and isPedOnGround(PlayerHit) then
        if not Vehicles[PlayerHit] then
            local x,y,z = getElementPosition(PlayerHit); -- احداثيات اللاعب
            Vehicles[PlayerHit] = createVehicle(VehicleMode,x,y,z); -- ننزل السيارة في موقع اللاعب
            setVehicleColor(Vehicles[PlayerHit],VehicleColor.r,VehicleColor.g,VehicleColor.b); -- تعيين الوان السيارة
            warpPedIntoVehicle(PlayerHit,Vehicles[PlayerHit]); -- ننقل اللاعب للسيارة
        end
    end
end)

addEventHandler("onVehicleEnter",root,function(player,seat)
    if source ~= Vehicles[player] then -- اذا السيارة اللي دخلها اللاعب مو سيارته
        if seat == 0 then -- اذا كان المقعد هو مقعد السائق
            cancelEvent(); -- نلغي الحدث يعني ماراح يركب اللاعب
            return false;
        end
        return true;
    end
end)

 

Link to comment
1 hour ago, VenomNX said:

local posX,posY,posZ = 0.0,0.0,5.0; -- احداثيات الماركر
local markerSize = 1.0; -- حجم الماركر
local r,g,b,a = 255,0,0,255; -- الوان الماركر
local Marker = createMarker(posX,posY,posZ,"cylinder",markerSize,r,g,b,a,root);

local VehicleModel = 502; -- موديل السيارة
local VehicleColor = {};
VehicleColor.r,VehicleColor.g,VehicleColor.b = 255,255,255; -- الوان السيارة
local Vehicles = {};

addEventHandler("onMarkerHit",Marker,function(PlayerHit)
    if getElementType(PlayerHit)=="player" and isPedOnGround(PlayerHit) then
        if not Vehicles[PlayerHit] then
            local x,y,z = getElementPosition(PlayerHit); -- احداثيات اللاعب
            Vehicles[PlayerHit] = createVehicle(VehicleMode,x,y,z); -- ننزل السيارة في موقع اللاعب
            setVehicleColor(Vehicles[PlayerHit],VehicleColor.r,VehicleColor.g,VehicleColor.b); -- تعيين الوان السيارة
            warpPedIntoVehicle(PlayerHit,Vehicles[PlayerHit]); -- ننقل اللاعب للسيارة
        end
    end
end)

addEventHandler("onVehicleEnter",root,function(player,seat)
    if source ~= Vehicles[player] then -- اذا السيارة اللي دخلها اللاعب مو سيارته
        if seat == 0 then -- اذا كان المقعد هو مقعد السائق
            cancelEvent(); -- نلغي الحدث يعني ماراح يركب اللاعب
            return false;
        end
        return true;
    end
end)

 

هاكذا؟

 

addEventHandler("onMarkerHit",root,
function (p)
local name = getPlayerName(p)
    if source == pizMar then
        triggerClientEvent(p,"onPizzaHit",resourceRoot)
    elseif source == pizMar2 then
        if getElementData(p,"pizzaOccupent") == true then
          local bike = createVehicle(482,-74.28358, -352.48004, 1.38142, 359.447, 0.000, 93.239)
            warpPedIntoVehicle(p,bike)
            setElementData(p,"haveone",true)
            setElementData(bike,"ownerbike",getPlayerName(p))
            setElementData(bike,"isPizzaBike",true)
            if not getElementData(bike,"haveone") == false then
                cancelEvent ()
            end
        end
    end
end
)

function enterVehicle(eP) 
   if getElementData(source,"isPizzaBike") == true then
       if not getElementData(source,"ownerbike") == getPlayerName(eP) then
       cancelEvent()
      end
   end
end
addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle ) 

 

Link to comment
34 minutes ago, VenomNX said:

وش يعني onVehicleStartEnter?

انا يوم كتبت onVehicleEnter

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

onVehicleStartEnter مافيه حدث اسمه

استخدم كودي وحسب

هذا الحدث حق عندما يركب الشخص السيارة علي حد علمي

 

طاب الحين انا ابي اسوي شرطا ذا كان الاعب معة سيارة ميقدرش يعمل وحدة غيرها ممكن ؟
وياريت التعديل علي نفس الكود


 

  1.  
addEventHandler("onMarkerHit",root,
function (p)
local name = getPlayerName(p)
    if source == pizMar then
        triggerClientEvent(p,"onPizzaHit",resourceRoot)
    elseif source == pizMar2 then
        if getElementData(p,"pizzaOccupent") == true then
          local bike = createVehicle(482,-74.28358, -352.48004, 1.38142, 359.447, 0.000, 93.239)
            warpPedIntoVehicle(p,bike)
            setElementData(p,"haveone",true)
            setElementData(bike,"ownerbike",getPlayerName(p))
            setElementData(bike,"isPizzaBike",true)
            if not getElementData(bike,"haveone") == false then
                cancelEvent ()
            end
        end
    end
end
)

function enterVehicle(eP) 
   if getElementData(source,"isPizzaBike") == true then
       if not getElementData(source,"ownerbike") == getPlayerName(eP) then
       cancelEvent()
      end
   end
end
addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle ) 

 

Edited by Kas7
Link to comment

@VenomNX

removePedFromVehicle لازم تستخدم معاه ,onVehicleEnter ما ينلغي

جرب

local bikes = {}

addEventHandler("onMarkerHit", root,
    function(element, matchingDimension)
        if not isElement(element) or not matchingDimension or getElementType(element) ~= "player" then
            return
        end
        if source == pizMar then
            triggerClientEvent(element, "onPizzaHit", resourceRoot)
        elseif source == pizMar2 then
            if getElementData(element, "pizzaOccupent") == true and not bikes[element] then
                bikes[element] = createVehicle(482, -74.28358, -352.48004, 1.38142, 359.447, 0.000, 93.239)
                if bikes[element] then
                    warpPedIntoVehicle(element, bikes[element])
                    setElementData(bikes[element], "isPizzaBike", true)
                end
            end
        end
    end
)

addEventHandler("onVehicleStartEnter", root,
    function(player)
        if getElementData(source, "isPizzaBike") == true then
            if source ~= bikes[player] then
                cancelEvent()
            end
        end
    end
)

addEventHandler("onPlayerQuit", root,
    function()
        local bike = bikes[source]
        if bike then
            destroyElement(bike)
            bikes[source] = nil
        end
    end
)

 

Edited by N3xT
Link to comment
18 minutes ago, N3xT said:

@VenomNX

removePedFromVehicle لازم تستخدم معاه ,onVehicleEnter ما ينلغي

جرب


local bikes = {}

addEventHandler("onMarkerHit", root,
    function(element, matchingDimension)
        if not isElement(element) or not matchingDimension or getElementType(element) ~= "player" then
            return
        end
        if source == pizMar then
            triggerClientEvent(element, "onPizzaHit", resourceRoot)
        elseif source == pizMar2 then
            if getElementData(element, "pizzaOccupent") == true and not bikes[element] then
                bikes[element] = createVehicle(482, -74.28358, -352.48004, 1.38142, 359.447, 0.000, 93.239)
                if bikes[element] then
                    warpPedIntoVehicle(element, bikes[element])
                    setElementData(bikes[element], "isPizzaBike", true)
                end
            end
        end
    end
)

addEventHandler("onVehicleStartEnter", root,
    function(player)
        if getElementData(source, "isPizzaBike") == true then
            if source ~= bikes[player] then
                cancelEvent()
            end
        end
    end
)

addEventHandler("onPlayerQuit", root,
    function()
        local bike = bikes[source]
        if bike then
            destroyElement(bike)
            bikes[source] = nil
        end
    end
)

 

ظبط بس انا كنت ابغا لما الاعب يطلع من السيارة ب 20 ثانية تنحزف مو لما يطلع من السيرفر
+ مشكور

Edited by Kas7
Link to comment
9 minutes ago, Kas7 said:

ظبط بس انا كنت ابغا لما الاعب يطلع من السيارة ب 20 ثانية تنحزف مو لما يطلع من السيرفر
+ مشكور

memory leak حدث الخروج لابد منه عشان تتجنب الـ

  • Like 1
Link to comment
Just now, N3xT said:

memory leak حدث الخروج لابد منه عشان تتجنب الـ

طيب ينفع تضيفلية علية ايضا عندما يخرج الاعب من السيرة ؟ تنحزف

Link to comment
10 minutes ago, VenomNX said:

ضيف ذا الكود

?

addEventHandler("onVehicleExit",root,
	function(playerExited)
		if bikes[playerExited] == source then
			destroyElement(bikes[playerExited])
		end
	end
) 
  1.  

اصبح عندما اعود للماركر الخاص ب صنع السيارة لا يرد ان يصنعها مرة اخرا

اظن انة يجب حزف الداتا الخاصة بالسيارة مع السيارة لكي استطيع ان اصنع واحدة جديدة اذا اختفت

Edited by Kas7
Link to comment
6 minutes ago, Kas7 said:

اصبح عندما اعود للماركر الخاص ب صنع السيارة لا يرد ان يصنعها مرة اخرا

اظن انة يجب حزف الداتا الخاصة بالسيارة مع السيارة لكي استطيع ان اصنع واحدة جديدة اذا اختفت

 

15 minutes ago, VenomNX said:

ضيف ذا الكود

?

addEventHandler("onVehicleExit",root,
	function(playerExited)
		if bikes[playerExited] == source then
			destroyElement(bikes[playerExited])
		end
	end
) 
  1.  
addEventHandler("onVehicleExit",root,
	function(playerExited)
		if bikes[playerExited] and isElement(bikes[playerExited]) and bikes[playerExited] == source then
			destroyElement(source)
      		bikes[playerExited] = nil
		end
	end
) 

 

Link to comment
1 minute ago, Master_MTA said:

 


addEventHandler("onVehicleExit",root,
	function(playerExited)
		if bikes[playerExited] and isElement(bikes[playerExited]) and bikes[playerExited] == source then
			destroyElement(source)
      		bikes[playerExited] = nil
		end
	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...