Jump to content

The Killer

Members
  • Posts

    1,336
  • Joined

Everything posted by The Killer

  1. شف يا عزيزي تهكير ما تهكير هذا كلام فاضي اول شي السيرفر يعتمد على الاستضافه بشكل اكبر لو ان الاستضافه مضمونه ومافيها دوس اتاك زي ديلوكس هوست انا اتحدى واحد يهكرك لاكن فيه طرق كثيره الواحد ممكن يهكرك منها 1- يعرف حسابك وكلمة السر 2- المودات محملها من النت ومنت عارف وش السالفه هذي الي ممكن تخلي الواحد يهكرك بسهوله ولا تدري وش السالفه عشان كذا انا اذا بسوي سيرفر مستحيل احمل لي مود من النت او شي من كذا يا اسويه انا يا لا اسوي سيرفر من البدايه واهم خطوه من الخطوات هذي تحمي الحسابات الي لها صلاحيات كبيره من الكونسل والاداره وهذي الي لها صلاحيات ممنوعه تحمي حساباتهم على سريالاتهم وقولي لو احد هكرك مره ثانيه ولا حتى فكر يهكرك خله يتكلم لين يشبع لاكن مستحيل يهكرك لو سويت الطرق الي قلتها لك انا .. لاكن لو تحمل مودات من النت فأكيد راح يتهكر سيرفرك بسهوله جدا من الاوامر الي يحطونها فيها بالتوفيق لك وانت حر باليي تسويه وانا هذي مجرد نصيحه مني لا تحمل مودات من النت يا تسوي انت يا لا
  2. The Killer

    SQL

    كيف يعني ابي احد يكمل لي المثال التالي ؟
  3. addEventHandler ("onPlayerSpawn", root, function () setPedStat (source, 24, 1000) setElementHealth (source, 200) end )
  4. هذا لأنك ما حفظت الماب بأسم او ان الحفظ ما ظبط تأكد من انك سويت اسم الماب الجديد وظبط معك وجرب مره ثانيه
  5. ممكن افهم شقاعد تسوي انت ؟
  6. بالطريقه هذي لازم لها تريقر للسيرفر ومن السيرفر للكلاينت لاكن فيه طريقه اسهل والي هي كذا اول ما الادمن يسجل دخوله يتحقق انه معه ادمن او لا ويعطيه الديتا addEventHandler ("onPlayerLogin", root, function (_, acc) if isObjectInACLGroup ("user." .. getAccountName (acc), aclGetGroup ("Console")) then setElementData (source, "isAdmin", true) end end ) وبعدين تحط الكود حق الكلاينت زي كذا: local Superman = {} -- Settings local ZERO_TOLERANCE = 0.00001 local MAX_ANGLE_SPEED = 6 -- In degrees per frame local MAX_SPEED = 1.0 local EXTRA_SPEED_FACTOR = 1.85 local LOW_SPEED_FACTOR = 0.40 local ACCELERATION = 0.025 local EXTRA_ACCELERATION_FACTOR = 1.8 local LOW_ACCELERATION_FACTOR = 0.85 local TAKEOFF_VELOCITY = 1.75 local TAKEOFF_FLIGHT_DELAY = 750 local SMOKING_SPEED = 1.25 local GROUND_ZERO_TOLERANCE = 0.18 local LANDING_DISTANCE = 3.2 local FLIGHT_ANIMLIB = "swim" local FLIGHT_ANIMATION = "Swim_Dive_Under" local FLIGHT_ANIM_LOOP = false local IDLE_ANIMLIB = "cop_ambient" local IDLE_ANIMATION = "Coplook_loop" local IDLE_ANIM_LOOP = true local MAX_Y_ROTATION = 55 local ROTATION_Y_SPEED = 3.8 -- Static global variables local thisResource = getThisResource() local rootElement = getRootElement() local localPlayer = getLocalPlayer() local serverGravity = getGravity() -- -- Utility functions -- local function isPlayerFlying(player) local data = getElementData(player, "superman:flying") if not data or data == false then return false else return true end end local function setPlayerFlying(player, state) if state == true then state = true else state = false end setElementData(player, "superman:flying", state) end local function iterateFlyingPlayers() local current = 1 local allPlayers = getElementsByType("player") return function() local player repeat player = allPlayers[current] current = current + 1 until not player or (isPlayerFlying(player) and isElementStreamedIn(player)) return player end end function Superman:restorePlayer(player) setPlayerFlying(player, false) setPedAnimation(player, false) setElementVelocity(player, 0, 0, 0) setElementRotation(player, 0, 0, 0) setPedRotation(player, getPedRotation(player)) setElementCollisionsEnabled(player, true) self:destroySmokeGenerators(player) self.rotations[player] = nil self.previousVelocity[player] = nil end function Superman:createSmokeGenerator(player) local generator = createObject(2780, getElementPosition(player)) setElementCollisionsEnabled(generator, false) setObjectScale(generator, 0) return generator end function Superman:createSmokeGenerators(player) if not self.smokeGenerators[player] then local smokeGenerators = {} smokeGenerators[1] = self:createSmokeGenerator(player) attachElementToElement(smokeGenerators[1], player, 0.75, -0.2, -0.4, -40, 0, 60) smokeGenerators[2] = self:createSmokeGenerator(player) attachElementToElement(smokeGenerators[2], player, -0.75, -0.2, -0.4, -40, 0, -60) self.smokeGenerators[player] = smokeGenerators end end function Superman:destroySmokeGenerators(player) if self.smokeGenerators[player] then for k, v in ipairs(self.smokeGenerators[player]) do destroyElement(v) end self.smokeGenerators[player] = nil end end function angleDiff(angle1, angle2) angle1, angle2 = angle1 % 360, angle2 % 360 local diff = (angle1 - angle2) % 360 if diff <= 180 then return diff else return -(360 - diff) end end local function isPedInWater(ped) local pedPosition = Vector3D:new(getElementPosition(ped)) if pedPosition.z <= 0 then return true end local waterLevel = getWaterLevel(pedPosition.x, pedPosition.y, pedPosition.z) if not isElementStreamedIn(ped) or not waterLevel or waterLevel < pedPosition.z then return false else return true end end local function isnan(x) math.inf = 1/0 if x == math.inf or x == -math.inf or x ~= x then return true end return false end local function getVector2DAngle(vec) if vec.x == 0 and vec.y == 0 then return 0 end local angle = math.deg(math.atan(vec.x / vec.y)) + 90 if vec.y < 0 then angle = angle + 180 end return angle end -- -- Initialization and shutdown functions -- function Superman.Start() local self = Superman -- Register events addEventHandler("onClientResourceStop", getResourceRootElement(thisResource), Superman.Stop, false) addEventHandler("onPlayerJoin", rootElement, Superman.onJoin) addEventHandler("onPlayerQuit", rootElement, Superman.onQuit) addEventHandler("onClientRender", rootElement, Superman.processControls) addEventHandler("onClientRender", rootElement, Superman.processFlight) addEventHandler("onClientPlayerDamage", localPlayer, Superman.onDamage, false) addEventHandler("onClientElementDataChange", rootElement, Superman.onDataChange) addEventHandler("onClientElementStreamIn", rootElement, Superman.onStreamIn) addEventHandler("onClientElementStreamOut", rootElement, Superman.onStreamOut) -- Bind keys bindKey("jump", "down", Superman.onJump) -- Register commands addCommandHandler("superman", Superman.cmdSuperman) -- Initializate attributes self.smokeGenerators = {} self.rotations = {} self.previousVelocity = {} end addEventHandler("onClientResourceStart", getResourceRootElement(thisResource), Superman.Start, false) function Superman.Stop() local self = Superman setGravity(serverGravity) -- Restore all players animations, collisions, etc for player in iterateFlyingPlayers() do self:restorePlayer(player) end end -- -- Join/Quit -- function Superman.onJoin(player) local self = Superman local player = player or source setPlayerFlying(player, false) end function Superman.onQuit(reason, player) local self = Superman local player = player or source if isPlayerFlying(player) then self:restorePlayer(player) end end -- -- onDamage: superman is invulnerable -- function Superman.onDamage() local self = Superman if isPlayerFlying(localPlayer) then cancelEvent() end end -- -- onStreamIn: Reset rotation attribute for player -- function Superman.onStreamIn() local self = Superman end function Superman.onStreamOut() local self = Superman if source and isElement(source) and getElementType(source) == "player" and isPlayerFlying(source) then self.rotations[source] = nil self.previousVelocity[source] = nil end end -- -- onDataChange: Check if somebody who is out of stream stops being superman -- function Superman.onDataChange(dataName, oldValue) local self = Superman if dataName == "superman:flying" and isElement(source) and getElementType(source) == "player" and oldValue ~= getElementData(source, dataName) and oldValue == true and getElementData(source, dataName) == false then self:restorePlayer(source) end end -- -- onJump: Combo to start flight without any command --
  7. تقدر تكتب داخل الايديت ؟ بس ما تقدر تلصق ؟
  8. انت الحين تبي تسوي اذا ضغط على الشيك بوكس ما يرسل الكلام في الشات ويخفي اسمك من القريد لست صح ؟ اذا كان كلامي صح اطرح كود الكلاينت الاخير الي ركبته انت
  9. ليش ؟ تقدر ببساطه تسوي exp system بستخدام: setAccountData getAccountData بعدين وش هو الي exp system = exported functions ??? من فهمك المعلومه ذي ؟ exp = experience = الخبره الي هي بتجيك من مثلا القتل سواء قتل لاعب او شخصيه كلها ممكن تستعمل فيها النظام هذا
  10. viewtopic.php?f=164&t=61300&p583827
  11. Client side # addEventHandler ( "onClientResourceStart", resourceRoot, function () outputChatBox ("Freeze System Started !", 255, 0, 0, true) end ) MyWindow = guiCreateWindow (...) Start = guiCreateButton (...) Stop = guiCreateButton (...) addEventHandler ("onClientGUIClick", resourceRoot, function () if (source == Start) then triggerServerEvent ("StartF", localPlayer) end if (source == Stop) then triggerServerEvent ("StopF", localPlayer) end end ) addEvent ("Freeze", true) addEventHandler ("Freeze", root, function () guiSetVisible (MyWindow, true) outputChatBox ("لقد تم تجميدك !", 255, 0, 0, true) end ) addEvent ("unFreeze", true) addEventHandler ("unFreeze", root, function () guiSetVisible (MyWindow, false) outputChatBox ("لقد تم فك تجميدك !", 0, 255, 0, true) end ) Server side # local Opens = { ["Serial"] = true, } addEvent ("StartF", true) addEventHandler ("StartF", root, function () for _,v in ipairs (getElementsByType ("player")) do if not Opens [getPlayerSerial (v)] then triggerClientEvent (v, "Freeze", source) setElementFrozen (v, true) end end end ) addEvent ("StopF", true) addEventHandler ("StopF", root, function () for _,v in ipairs (getElementsByType ("player")) do if not Opens [getPlayerSerial (v)] then triggerClientEvent (v, "unFreeze", source) setElementFrozen (v, false) end end end )
  12. لا خذ الكود كامل حق انشاء وتدمير السياره وكله مع الجدول في موداتك الثانيه وكل مره بينشئ وححده جديده بيحذف القديمه دام الديتا مع اللاعب والسياره بيحذفها وينشئ الجديده دام انك مستخم الكود ذا في مودات ثانيه .. #
  13. شف هذا مثال بسيط وانت انقل الي تفهمه منه: local Vehicles = { } local marker = createMarker (x,y,z, "cylinder", 2, 255, 0, 0) addEventHandler ("onMarkerHit", marker, function (element) if getElementType (element) == "player" and not isPedInVehicle (element) then if getElementData (element, "TheVehicle") then destroyElement (getElementData (element, "TheVehicle")) removeElementData (element, "TheVehicle") end local x,y,z = getElementPosition (element) Vehicles [element] = createVehicle (411, x,y,z) warpPedIntoVehicle (element, Vehicles [element]) setElementData (Vehicles [element], "ThePlayer", element) setElementData (element, "TheVehicle", Vehicles [element]) end end ) addEventHandler ("onVehicleExplode", root, function () if getElementData (source, "ThePlayer") then local plr = getElementData (source, "ThePlayer") local veh = getElementData (plr, "TheVehicle") if (veh) and (veh == source) then removeElementData (plr, "TheVehicle") removeElementData (source, "ThePlayer") destroyElement (source) end end end ) addEventHandler ("onElementDestroy", root, function () if getElementType (source) == "vehicle" and getElementData (source, "ThePlayer") then local plr = getElementData (source, "ThePlayer") local veh = getElementData (plr, "TheVehicle") if (veh) and (veh == source) then removeElementData (plr, "TheVehicle") removeElementData (source, "ThePlayer") end end end ) addEventHandler ("onPlayerQuit", root, function () if isElement (Vehicles [source]) then destroyElement (Vehicles [source]) Vehicles [source] = nil end end )
  14. تستخدم المنت ديتا اول ما تنشئ السياره تحطها في اللاعب وتحط الديتا السياره في اللاعب وتحقق اذا انفجرت يحذف الديتا واذا جا بالماركر الثاني يتحقق الديتا موجوده او لا لو كانت موجوده تسوي لها سحب وتنشئ الجديده وتسوي حدث 'onElementDestroy تحذف الديتا من اللاعب والسياره واذا انفجرت نفس شي 'onVehicleExplode'
  15. اضافة على شرح الاخ زاحف , انه ممكن تستخدمها لجلب القيم من رقم معين يعني هذي فايده من فوائدها بعد مممكن تستخدمها بهذا الشكل: local table = {"Test1", "Test2", "Test3", "Test4"} for _,v in next, table do print (v) end -- Test1 -- Test2 -- Test3 -- Test4 لاكن لو مثلا تبي تطلع القيم من بعد رقم معين مثلا من رقم 1 الى اخر رقم او من رقم 2 الى اخر رقم بيكون بهذا الشكل: local table = {"Test1", "Test2", "Test3", "Test4"} for _,v in next, table, 1 do print (v) end -- Test2 -- Test3 -- Test4 هنا طلع لي القيم من بعد الرقم 1 الى اخر رقم عندك في الجدول وكل مره تزود رقم على حسب استخدامك للجدول .. #
  16. طيب عندك طريقه سهله setElementData getElementData
  17. لا تسو كل المودات بمود واحد سوها بالي تجيب به السياره
  18. حطها كلها بنفس المود ونفس الجدول
  19. وش تبي انت الحين وش تبيه يكون ؟ تبيه زر من الكيبورد ولا زر من لوحه ولا وش ؟
  20. اتوقع ان الفنكشن واضح من اسمه وغير كذا فيه مثال عليه في الويكي function getPlayerFromSerial ( serial ) assert ( type ( serial ) == "string" and #serial == 32, "getPlayerFromSerial - invalid serial" ) for index, player in ipairs ( getElementsByType ( "player" ) ) do if ( getPlayerSerial ( player ) == serial ) then return player end end return false end هذا يجلب اللاعب من سرياله يعني زي كذا getPlayerFromSerial ("serial") تحط سريال اللاعب فوق وبس .. اتوقع انها سهله وما يبغالها شرح لاكن بحطها لك في مثال بسيط addCommandHandler ("command", function (plr, _, serial) if (serial) then local player = getPlayerFromSerial (serial) if (player) then outputChatBox ("Hello Player", player, 0, 255, 0) else outputChatBox ("Player not found.", plr, 255, 0, 0) end else outputChatBox ("You must write a serial.", plr, 255, 0, 0) end end )
  21. هذا تصحيح لكوده من البدايه غير كذا ما يحتاج تريقر لأنه الاستخدام بيكون نفس رد تابل كذا ^ وغير كذا بيوضح له الخطأ عشان يستفيد منه ومره ثانيه ما يطيح في نفس الخطأ #!
  22. الحين انت وش تبي تسوي بالظبط ؟
×
×
  • Create New...