Jump to content

xX[ طلب كود تحريك StaticImage عن طريق الماوس ]Xx


Recommended Posts

49 minutes ago, MrKAREEM said:

تم اضافة تحديث للوظيفة

رابط الوظيفة بالويكي

guiSetStaticImageMovable

في مشكلة بالوظيفة الحين انا مسوي لوحة مخليها صورة وفيها ازرار المشكلة هي ان لما احط الكود واضغط عاللوحة تتحرك تمام بس لو ضغطت عالازرار الي بالداخل تتحرك كمان وش الحل

Link to post
13 minutes ago, MR.GHOST |, ا̍ڷــڛۜــ؏ـادة said:

في مشكلة بالوظيفة الحين انا مسوي لوحة مخليها صورة وفيها ازرار المشكلة هي ان لما احط الكود واضغط عاللوحة تتحرك تمام بس لو ضغطت عالازرار الي بالداخل تتحرك كمان وش الحل

هصلح الخطأ وارجع اظبطها

Edited by MrKAREEM
Link to post

 

function guiSetStaticImageMovable(Element,state)
assert(getElementType(Element) == 'gui-staticimage', "Bad argument 1 @ guiSetStaticImageMovable [gui-staticimage expected, got "..type(Element).."]")
assert(type(state) == "boolean", "Bad argument 2 @ guiSetStaticImageMovable [boolean expected, got "..type(state).."]")
return setElementData(Element,'Movable',state) or false
end

function Hold( t,x,y )
if t ~= "left" or not getElementData(source,'Movable') then return end
local lp = Vector2(guiGetPosition(source,false));
lx = {x-lp.x,y-lp.y};
yl = source;
end

function Drop( xo, x, y )
if xo ~= "left" then return end
yl = nil;
end

function Move( _, _, x, y )
if yl then
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end

addEventHandler( "onClientGUIMouseDown", root,Hold) addEventHandler( "onClientGUIMouseUp", root,Drop) addEventHandler( "onClientCursorMove", root,Move)

GUIEditor = {
    button = {},
    staticimage = {},
    label = {},
    memo = {}
}
local screenW, screenH = guiGetScreenSize()
GUIEditor.staticimage[1] = guiCreateStaticImage((screenW - 444) / 2, (screenH - 357) / 2, 444, 357, "TR.png", false)
guiSetStaticImageMovable(GUIEditor.staticimage[1],true)
GUIEditor.label[1] = guiCreateLabel(1, 5, 443, 17, "LabelNumb1", false, GUIEditor.staticimage[1])
guiSetFont(GUIEditor.label[1], "default-bold-small")
guiLabelSetHorizontalAlign(GUIEditor.label[1], "center", false)
GUIEditor.button[1] = guiCreateButton(19, 89, 163, 52, "btn1", false, GUIEditor.staticimage[1])
GUIEditor.button[2] = guiCreateButton(250, 89, 163, 52, "btn2", false, GUIEditor.staticimage[1])
GUIEditor.memo[1] = guiCreateMemo(14, 151, 409, 192, "", false, GUIEditor.staticimage[1])

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

Link to post
33 minutes ago, MR.GHOST |, ا̍ڷــڛۜــ؏ـادة said:

 

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

جرب كدا

function guiSetStaticImageMovable(Element,state)
assert(getElementType(Element) == 'gui-staticimage', "Bad argument 1 @ guiSetStaticImageMovable [gui-staticimage expected, got "..type(Element).."]")
assert(type(state) == "boolean", "Bad argument 2 @ guiSetStaticImageMovable [boolean expected, got "..type(state).."]")
return setElementData(Element,'Movable',state) or false
end

function Hold( t,x,y )
if t ~= "left" or not getElementData(source,'Movable') or getElementType(source) ~='gui-staticimage' then return end
local lp = Vector2(guiGetPosition(source,false));
lx = {x-lp.x,y-lp.y};
yl = source;
end

function Drop( xo, x, y )
if xo ~= "left" then return end
yl = nil;
end

function Move( _, _, x, y )
if yl then
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end

addEventHandler( "onClientGUIMouseDown", root,Hold) addEventHandler( "onClientGUIMouseUp", root,Drop) addEventHandler( "onClientCursorMove", root,Move)

GUIEditor = {
    button = {},
    staticimage = {},
    label = {},
    memo = {}
}
local screenW, screenH = guiGetScreenSize()
GUIEditor.staticimage[1] = guiCreateStaticImage((screenW - 444) / 2, (screenH - 357) / 2, 444, 357, "TR.png", false)
guiSetStaticImageMovable(GUIEditor.staticimage[1],true)
GUIEditor.label[1] = guiCreateLabel(1, 5, 443, 17, "LabelNumb1", false, GUIEditor.staticimage[1])
guiSetFont(GUIEditor.label[1], "default-bold-small")
guiLabelSetHorizontalAlign(GUIEditor.label[1], "center", false)
GUIEditor.button[1] = guiCreateButton(19, 89, 163, 52, "btn1", false, GUIEditor.staticimage[1])
GUIEditor.button[2] = guiCreateButton(250, 89, 163, 52, "btn2", false, GUIEditor.staticimage[1])
GUIEditor.memo[1] = guiCreateMemo(14, 151, 409, 192, "", false, GUIEditor.staticimage[1])

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

Link to post
46 minutes ago, MrKAREEM said:

جرب كدا


function guiSetStaticImageMovable(Element,state)
assert(getElementType(Element) == 'gui-staticimage', "Bad argument 1 @ guiSetStaticImageMovable [gui-staticimage expected, got "..type(Element).."]")
assert(type(state) == "boolean", "Bad argument 2 @ guiSetStaticImageMovable [boolean expected, got "..type(state).."]")
return setElementData(Element,'Movable',state) or false
end

function Hold( t,x,y )
if t ~= "left" or not getElementData(source,'Movable') or getElementType(source) ~='gui-staticimage' then return end
local lp = Vector2(guiGetPosition(source,false));
lx = {x-lp.x,y-lp.y};
yl = source;
end

function Drop( xo, x, y )
if xo ~= "left" then return end
yl = nil;
end

function Move( _, _, x, y )
if yl then
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end

addEventHandler( "onClientGUIMouseDown", root,Hold) addEventHandler( "onClientGUIMouseUp", root,Drop) addEventHandler( "onClientCursorMove", root,Move)

GUIEditor = {
    button = {},
    staticimage = {},
    label = {},
    memo = {}
}
local screenW, screenH = guiGetScreenSize()
GUIEditor.staticimage[1] = guiCreateStaticImage((screenW - 444) / 2, (screenH - 357) / 2, 444, 357, "TR.png", false)
guiSetStaticImageMovable(GUIEditor.staticimage[1],true)
GUIEditor.label[1] = guiCreateLabel(1, 5, 443, 17, "LabelNumb1", false, GUIEditor.staticimage[1])
guiSetFont(GUIEditor.label[1], "default-bold-small")
guiLabelSetHorizontalAlign(GUIEditor.label[1], "center", false)
GUIEditor.button[1] = guiCreateButton(19, 89, 163, 52, "btn1", false, GUIEditor.staticimage[1])
GUIEditor.button[2] = guiCreateButton(250, 89, 163, 52, "btn2", false, GUIEditor.staticimage[1])
GUIEditor.memo[1] = guiCreateMemo(14, 151, 409, 192, "", false, GUIEditor.staticimage[1])

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

تعديل: تم حل المشكلة وتم تعديلها بالويكي

اعتذر علي الخطأ وشكرا علي التنبيه

Edited by MrKAREEM
Link to post
Just now, MrKAREEM said:

تعديل: تم حل المشكلة وتم تعديلها بالويكي

اعتذر علي الخطأ وشكرا علي التنبيه

+ معلومة زيادة للتصحيح 

---------------------------------------------
function Move( _, _, x, y )
if yl and getElementData(yl,'Movable') then -- هنا الداتا مب معرفة ع الاكواد الي حدثتها من قبل شوي
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end
---------------------------------------------

---------------------------------------------
function Move( _, _, x, y )
if yl then -- خليها كذا وبس ^_^
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end
---------------------------------------------

ويعطيك العافية مشكور ماقصرت ^_^

Link to post
11 minutes ago, MR.GHOST |, ا̍ڷــڛۜــ؏ـادة said:

+ معلومة زيادة للتصحيح 


---------------------------------------------
function Move( _, _, x, y )
if yl and getElementData(yl,'Movable') then -- هنا الداتا مب معرفة ع الاكواد الي حدثتها من قبل شوي
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end
---------------------------------------------

---------------------------------------------
function Move( _, _, x, y )
if yl then -- خليها كذا وبس ^_^
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end
---------------------------------------------

ويعطيك العافية مشكور ماقصرت ^_^

الله يعافيك المشكلة مش في الداتا

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

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

فأنا استخدمت طريقة تانية وعملتها في الويكي

yl بالنسبة للقيمة الخاصة ب

انا معرفها فوق وهي عبارة عن اليوزر داتا اللي اتضغط عليه

فأقدر اجيب الداتا الخاصة بيه مفيش مشكلة بس زي موضحتلك فوق المشكلة ان الاليمنت داتا مش هتظبط علي جوي مربوط بيه اليمنتس تانيين

تقدر تشوف الوظيفة بعد التعديل

GuiSetStaticImageMovable

Edited by MrKAREEM
  • Like 1
Link to post
Just now, MrKAREEM said:

الله يعافيك المشكلة مش في الداتا

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

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

فأنا استخدمت طريقة تانية وعملتها في الويكي

yl بالنسبة للقيمة الخاصة ب

انا معرفها فوق وهي عبارة عن اليوزر داتا اللي اتضغط عليه

فأقدر اجيب الداتا الخاصة بيه مفيش مشكلة بس زي موضحتلك فوق المشكلة ان الاليمنت داتا مش هتظبط علي جوي مربوط بيه اليمنتس تانيين

تقدر تشوف الوظيفة بعد التعديل

GuiSetStaticImageMovable

انت فهمتني غلط ههههههههههههههههه

شوف 

هذي الاكواد الي انت صلحتها حاليا 

function guiSetStaticImageMovable(Element,state)
assert(getElementType(Element) == 'gui-staticimage', "Bad argument 1 @ guiSetStaticImageMovable [gui-staticimage expected, got "..getElementType(Element).."]")
assert(type(state) == "boolean", "Bad argument 2 @ guiSetStaticImageMovable [boolean expected, got "..type(state).."]")
if state == true then state = math.random(1,500) else state = false end
return guiSetProperty(Element,"ID",tostring(state))
end

function Hold( t,x,y )
if t == "left" and guiGetProperty(source,'ID') ~= '0' then
local lp = Vector2(guiGetPosition(source,false));
lx = {x-lp.x,y-lp.y};
yl = source;
end
end

function Drop( xo, x, y )
if xo ~= "left" then return end
yl = nil;
end

function Move( _, _, x, y )
if yl and getElementData(yl,'Movable') then
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end

addEventHandler( "onClientGUIMouseDown", getRootElement( ),Hold) addEventHandler( "onClientGUIMouseUp", getRootElement( ),Drop) addEventHandler( "onClientCursorMove", getRootElement( ),Move)

بس ركز ع هالكود 


function Move( _, _, x, y )
if yl and getElementData(yl,'Movable') then
guiSetPosition(yl,x-lx[1],y -lx[2],false);
end
end

الداتا هنا Movable

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

هل فهمت قصدي ض1؟

  • Like 1
Link to post
1 hour ago, MR.GHOST |, ا̍ڷــڛۜــ؏ـادة said:

انت فهمتني غلط ههههههههههههههههه

شوف 

هذي الاكواد الي انت صلحتها حاليا 


function guiSetStaticImageMovable(Element,state)assert(getElementType(Element) == 'gui-staticimage', "Bad argument 1 @ guiSetStaticImageMovable [gui-staticimage expected, got "..getElementType(Element).."]")assert(type(state) == "boolean", "Bad argument 2 @ guiSetStaticImageMovable [boolean expected, got "..type(state).."]")if state == true then state = math.random(1,500) else state = false endreturn guiSetProperty(Element,"ID",tostring(state))endfunction Hold( t,x,y )if t == "left" and guiGetProperty(source,'ID') ~= '0' thenlocal lp = Vector2(guiGetPosition(source,false));lx = {x-lp.x,y-lp.y};yl = source;endendfunction Drop( xo, x, y )if xo ~= "left" then return endyl = nil;endfunction Move( _, _, x, y )if yl and getElementData(yl,'Movable') thenguiSetPosition(yl,x-lx[1],y -lx[2],false);endendaddEventHandler( "onClientGUIMouseDown", getRootElement( ),Hold) addEventHandler( "onClientGUIMouseUp", getRootElement( ),Drop) addEventHandler( "onClientCursorMove", getRootElement( ),Move)

بس ركز ع هالكود 


function Move( _, _, x, y )if yl and getElementData(yl,'Movable') thenguiSetPosition(yl,x-lx[1],y -lx[2],false);endend

الداتا هنا Movable

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

هل فهمت قصدي ض1؟

اها نسيتها 😄

  • Thanks 1
Link to post

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