PaiN^
Members-
Posts
2,258 -
Joined
-
Last visited
Everything posted by PaiN^
-
1. What do you mean by "Do I need to define commandName" ? 2. localPlayer is automaticly defined by MTA ( in client-side only ) but thePlayer is not . 3. You should do something like this : function aFunction( hitElement ) end addEventHandler( "onColShapeHit", boxCol, aFunction )
-
شوف في الجداول في أكثر من طريقة للحفظ تقدر تحفظ قيم بس زي كذا مثلا local aTable = { "value" } أو تحفظ قيم بمافتيح, زي كذا local aTable = { ["key"] = "value" } لازم تعرف طريقة التخزين فيه for لمن تغبى تلف على عناصر جدول معين باستخدام ipairs - pairs لو كانت الطريقة الأولى, ما راح تفرق سواء استخدمت ما تتعرف الا على الجداول اللي مفاتيحها أرقام ipairs ما راح يشتغل, لأن ipairs أما لو كانت الطريقة الثانية, لو استخدمت pairs و بما إننا استخدمنا التخزين بالطريقة الثانية انا استخدمت ---------------------- marker == source بالنسبة لـ لمن الجهاز يقعد يلف عناصر الجدول عنصر عنصر, راح يسوي ذا الشرط source طبعا كل ما واحد يسوي ماركر راح يتخزن ماركره في الجدول, فلمن يلف اللجهاز على عناصر الجدول راح يدور على الماركر الل هو يساوي لمن يلقاه, راح يجيب اللاعب من الداتا المخزنة فيه, وبعدين يسحب من فلوس اللاعب اللي دخل الماركر, ويعطي صاحب الماركر اللي لقاه فلوس
-
local markers = { } -- عرف جدول addCommandHandler( "cmd", function( player ) -- ضيف أمر if isElement( markers[player] ) then -- تحقق هل اللاعب يوا ماركر قبل destroyElement( markers[player] ) -- إذا سوا, شيل الماركر end -- إغلاق local x, y, z = getElementPosition( player ) -- جيب إحداثيات اللاعب markers[player] = createMarker( x, y, z, "cylinder", 3, 255, 0, 0, 255 ) -- سوي ماركر مبروط مع اللاعب بالجدول end ) -- إغلاق addEventHandler( "onMarkerHit", resourceRoot, function( hitElement ) -- ضيف حدث عند دخول ماركر -- لاحظ استخدمنا resourceRoot عشان الحدث يشتغل مع الماركرات اللي سواها هذا المود فقط if getElementType( hitElement ) == "player" then -- اذا نوع العنصر اللي دخل الماركر لاعب for player, marker in pairs( markers ) do -- لف على جميع عناصر الجدول اللي فوق, اللي فيه مربوط كل لاعب مع ماركره -- لاحظ استخدمنا pairs مو ipairs لأن الجدول فيه قيم k,v مو _,v if marker == source then -- إذا العنصر المخزن في الجدول == الماركر حق الحدث givePlayerMoney( player, 100 ) -- أعطي صاحب الماركر 100 takePlayerMoney( hitElement, 100 ) -- خذ من اللي دخل الماركر 100 -- و الباقي إغلاقات end end end end )
-
الخاصة بالماركر Creater اللاعب هنا قيمة للداتا يعني عشان تجيب اللاعب من الماركر تسوي كذا : local player = getElementData( marker, "Creater" )
-
والله اذا تبي بدون لوحة يعني, يصير كذا : local markers = { } addCommandHandler( "cmd", function( player ) if isElement( markers[player] ) then destroyElement( markers[player] ) end local x, y, z = getElementPosition( player ) markers[player] = createMarker( x, y, z, "cylinder", 3, 255, 0, 0, 255 ) end ) addEventHandler( "onMarkerHit", resourceRoot, function( hitElement ) if getElementType( hitElement ) == "player" then for player, marker in pairs( markers ) do if marker == source then givePlayerMoney( player, 100 ) takePlayerMoney( hitElement, 100 ) end end end end )
-
Try this : addEvent( "wepShop", true ) addEventHandler( "wepShop", root, function( name, id, ammo, cost ) if not id then return end if getPlayerMoney( source ) >= tonumber( cost ) then exports["TopBarChat"]:sendClientMessage( "You bought a " .. name .. " for $" .. cost, source, 0, 255, 0, TopBar, 5 ) takePlayerMoney( source, tonumber( cost ) ) local account = getPlayerAccount( source ) if not isGuesAccount( account ) then setAccountData( account, "GunsMoney", tonumber( getAccountData( account,"GunsMoney" ) ) or 0 + tonumber( cost ) ) end giveWeapon( source, id, ammo ) else exports["TopBarChat"]:sendClientMessage( "You can't afford to buy this!", source, 255, 0, 0, TopBar, 5 ) end end )
-
نعلمك كيف تكمل واحنا ما ندري كيف بديت ؟؟؟؟؟ حط الأكواد اللي عدلتها والا صدقني ماحد بيساعدك
-
* Server side : function doAMarker( ) marker = createMarker( x, y, z, "cylinder", 2, 255, 0, 0 ) end for _,v in ipairs( getElementsByType( "player" ) ) do bindKey( v, "Tab", "down", aBo6YeF ) end function aBo6YeF( player ) if isElementWithinMarker( player, marker ) then outputChatBox( "Done Hacker jail and Open Doors ", root, 255, 0, 0, true ) setPlayerWantedLevel( player, 5 ) moveObject( Object, 4000, x, y, z ) destroyElement( marker ) setTimer( doAMarker, 60000 * 5, 1 ) end end ) doAMarker( )
-
* Server side : local markers = { } -- عرفنا جدول addCommandHandler( "markerC", function( player ) -- أضفنا الأمر if isElement( markers[player] ) then destroyElement( markers[player] ) end -- إذا اللاعب هذا سوا ماركر من قبل, نشيل الماركر القديم local x,y,z = getElementPosition( player ) -- نجيب احداثيات اللاعب markers[player] = createMarker( x, y, z, "cylinder", 3, 255, 0, 2 ) -- نسوي ماركر جديد, ونربطه باللاعب عن طريق الجدول setElementData( markers[player], "Creater", player ) -- حطيت اللاعب كقيمة للداتا Creater الخاصة بالماركر end ) -- إغلاق addEventHandler( "onMarkerHit", resourceRoot, function( hitElement ) -- حدث لو اتلمس ماركر -- لاحظ ان في الحدث resourceRoot عشان الوظيفة اللي موجودة في الحدث ماتصير الا للماركرات اللي صارت من المود نفسه if getElementType( hitElement ) == "player" then -- نتحقق من ان العنصر اللي دخل الماركر لاعب triggerClientEvent( hitElement, "open_window", hitElement, source ) -- نسوي تريقر للكلنت, نرسله للاعب اللي دخل الماركر فقط -- source = الماركر -- طبعا أنا أرسلت الماركر مع التريقر عشان أقدر أجيب اللاعب اللي سواه -- لأني عرفت اللاعب اللي سوا الماركر كداتا في سطر 7 end -- إغلاق end ) -- إغلاق addEvent( "Trigger", true ) -- إضافة حدث addEventHandler( "Trigger", root, function( marker ) -- إضافة الوظائف عند الحدث -- طبعا هنا marker = theMarker اللي رسلتها من الكلنت local player = getElementData( marker, "Creater" ) -- أجيب اللاعب اللي مسوي الماركر من الداتا حقت الماركر if getPlayerMoney( source ) >= 100 and isElement( player ) then -- أتحقق ان في لاعب سوا الماركر و ان الفلوس اللي مع اللي ضغط الزر أكثر من مية takePlayerMoney( source, 100 ) -- أخذ مية من اللي ضغط الزر givePlayerMoney( player, 50 ) -- أعطي مية للي سوا الماركر end -- إغلاق end ) -- إغلاق * Client side : local theMarker = false -- أعرف متغير -- طبعا ما تفرق لو حطيت true, nil, "sdl" حط أي شي, أنا بس أعرف متغير لا أكثر addEventHandler( "onClientGUIClick", button, function( ) -- حدث عند ضغط الزر triggerServerEvent( "Trigger", localPlayer, theMarker ) -- يرسل تريقر للسيرفر مع متغير قيمته تساوي الماركر اللي دخله اللاعب end, false ) -- إغلاق addEvent( "open_window",true ) -- إضافة حدث addEventHandler( "open_window", root, function( marker ) -- إضافة الوظائف عند الحدث -- طبعا هنا الماركر اللي في function تم ارساله من السيرفر guiSetVisible( window, true ) -- افتح النافذة showCursor( true ) -- اطلع المؤشر حق الفأرة theMarker = marker -- هنا اللعبة :] اقرأ بتمعن : -- هنا أعرف المتغير theMarker بالماركر اللي اترسل من السيرفر عشان لمن الزر ينضغط راح يترسل هذا المتغير اللي قيمته هي الماركر الى السيرفر -- و بالتالي في السيرفر أقدر اجيب اللاعب اللي سواه عن طريق الداتا Creater end ) -- إغلاق
-
طيب قلنا انت ايش عدلت, ايش حطيت ايش شلت في مشاكل في اخطاء في اي شي الفري روم مود كبير, و ما أعتقد في أحد فاضي ينبش لك الكود سطر سطر عشان يشوفلك اياه اطرح الجزء اللي معقدك, قول ايش تبغى تسوي و ايش المشاكل اللي واجهتك, وبعدين نوريك كيف تكمل و نساعدك ان شاء الله
-
local theMarker = false -- عرفت متغير addEventHandler( "onClientGUIClick", GUIEditor.button[1], function( ) triggerServerEvent( "Trigger", localPlayer, theMarker ) -- أرسل الماركر للسيرفر عشان أقدر أعرف مين سواه end, false ) addEvent( "open_window",true ) addEventHandler( "open_window", root, function( marker ) guiSetVisible( GUIEditor.window[1], true ) showCursor( true ) theMarker = marker -- كل ما النافذة تنفتح يغير الماركر القديم اللي كان موجود بالجديد end )
-
addEventHandler( "onMarkerHit", resourceRoot, function( hitElement ) if getElementType( hitElement ) == "player" then triggerClientEvent( hitElement, "open_window", hitElement, source ) end end ) source = الماركر اللي دخلته انا رسلته للكلنت مع التريقر, عشان أرجعه من الكلنت للسيرفر لمن تضغط الزر, عشان أقدر أطلع اللاعب اللي سوا الماركر عشان أعطي الرجال فلوسه خخخ
-
العفو ..) المشكلة كانت انه في متغير واحد يمسك اللاعب اللي صنع اللاعب في السيرفر, وهذا الشي ما ينفع لأنه كل ما واحد سوا ماركر دخل هو في المتغير بدل اللي قبله, فاللي سويته اني خليت لكل ماركر داتا .. بقيمة اللاعب اللي سواه, عشان لمن تخش ماركر وتضغط الزر يتحقق من داتا الماركر بدل من متغير في السيرفر شرح طويل صح
-
فككره انشاء موقع خاص للعرب ( بدل هذا الموقع ) اقتراح
PaiN^ replied to ' ρяofзśŝoя 亗's topic in القسم العام
فكرة حلوة و جميلة جدّا, وشي حلو يكون للعرب شي يتميزو بيه لكن أنا أتفق مع تيتي و ذا بيست, المفروض ما تعطي الشخص اداره فقط لأنه مشهور ولا لأنك تعرفه و كذا المفروض تفتح المنتدى و تعطي المحترفين رتبة مبرمج, وتشوف بعدها مين متفاعل ومين نص و نص و كذا وكمان تشوف الناس اللي عندهم خبرة في ادارة المنتديات وعلى هذا الأساس تعطي اداره أو رقابة أو اشراف ^^ و أنا راح أدعم الموضوع بما يقدرني به الله ----- * Edit : صح, عندي سؤال لو صار الموقع بإذن الله, وش بتسموه ؟؟ -
إذا كنت مشغل أي برنامج غش لأي لعبة أو بروكسي زي الهوتسبوت طفيهم
-
* Server side : local markers = { } addCommandHandler( "markerC", function( player ) if isElement( markers[player] ) then destroyElement( markers[player] ) end local x,y,z = getElementPosition( player ) markers[player] = createMarker( x, y, z, "cylinder", 3, 255, 0, 2 ) setElementData( markers[player], "Creater", player ) end ) addEventHandler( "onMarkerHit", resourceRoot, function( hitElement ) if getElementType( hitElement ) == "player" then triggerClientEvent( hitElement, "open_window", hitElement, source ) end end ) addEvent( "Trigger", true ) addEventHandler( "Trigger", root, function( marker ) local player = getElementData( marker, "Creater" ) if getPlayerMoney( source ) >= 100 and isElement( player ) then takePlayerMoney( source, 100 ) givePlayerMoney( player, 50 ) end end ) * Client side : local theMarker = false addEventHandler( "onClientGUIClick", button, function( ) triggerServerEvent( "Trigger", localPlayer, theMarker ) end, false ) addEvent( "open_window",true ) addEventHandler( "open_window", root, function( marker ) guiSetVisible( window, true ) showCursor( true ) theMarker = marker end )
-
Where's the code ? We can't figure out what's wrong without it.
-
That's because when you destroy an element ( lowrider for e.g. ) it's removed from that variable, So you must re-define it using that same variable at each time you create it.
-
table -- جدول addCommandHandler createMarker -- تكون في الجدول addEventHandler -- "onMarkerHit" setElementHealth takePlayerMoney givePlayerMoney
-
تحط فيه متغير البوابة يعني مثلًا : local object = createObject( ... ) moveObject( object, time, x, y, z ) time = الوقت عشان تخلص الحركة بالملي ثانية x, y, z = إحداثيات النهاية
-
أخطائك : - حطيت اسم لوظيفة داخل الحدث - عندك قوس ناقص - في السيرفر تحتاج عنصر لاعب في البداية bindKey وظيفة التصحيح : local marker = createMarker( x,y,z,"cylinder", 2, 255, 0, 0 ) for _,v in ipairs( getElementsByType( "player" ) ) do bindKey( v, "Tab", "down", aBo6YeF ) end addEventHandler( "onMarkerHit", marker, function( player ) if getElementType( player ) == "player" then moveObject( Object, 4000, x, y, z ) outputChatBox( "Done Hacker jail and Open Doors ", root, 255, 0, 0, true ) end end )
-
You have a resource called "data-hora-png" that contains a file called "c.lua". You need to re-complie that file.
