Jump to content

ryan112

Members
  • Posts

    41
  • Joined

  • Last visited

Everything posted by ryan112

  1. سلام عليكم شباب انا عندي مود تغير شكل هيدرا اريدها يجي شكل بس يلي بتي انا حاطت بل مود شكلين s = { -- you can add more stuff here :) -- Hydra {"Textures/hydrabody256_immortal.png", "hydrabody256"}, {"Textures/hydradecal_immortal.png", "hydradecal"}, {"Textures/hydrabody256_rip.png", "hydrabody256"}, {"Textures/hydradecal_rip.png", "hydradecal"}, } for i = 1, #s do local shader, tec = dxCreateShader ( "texreplace.fx" ) local tex = dxCreateTexture ( ""..s[i][1].."" ) engineApplyShaderToWorldTexture ( shader, s[i][2] ) engineApplyShaderToWorldTexture ( shader, s[i][2].."lod" ) dxSetShaderValue ( shader, "gTexture", tex ) end هي كود في شكلين اردي كل شكل للتيم هاد شكل {"Textures/hydrabody256_rip.png", "hydrabody256"}, {"Textures/hydradecal_rip.png", "hydradecal"}, } يكون يشتغل بتيم اسمو rip {"Textures/hydrabody256_immortal.png", "hydrabody256"}, {"Textures/hydradecal_immortal.png", "hydradecal"}, وهاد نفس شي يشتغل بتيم تاني يعني هاد تيم اسمو immortal
  2. سلام عليكم شباب انا عملت بوابة تفتح بتيم بس ما تغلق لازم اخرج من تيم لتغلق هي اكواد tor_avgate = createObject(16773, 1078.0999755859, 1251.0999755859, 12.60000038147, 0 ,0,90) tor_s_avgate = "zu" addCommandHandler("kog1", function (Player ) if getPlayerTeam (Player) == getTeamFromName ("King of Ghosts") then moveObject(tor_avgate, 2500, 1078.0999755859, 1251.0999755859, 5.4000000953674) tor_s_avgate = "auf" else moveObject(tor_avgate, 2500, 1078.1999511719, 1254.6999511719, 12.60000038147) tor_s_avgate = "zu" end end) انا اريد تغتح بتيم وتغلق بتيم بكلمة وحدا
  3. سلام عليكم شباب اريد اضيف كود ميوت عشات local و Global لما لاعب ياخد ميوت مايقدر يتكلم فيهم function globalMessage(thePlayer, cmd, ...) local message = table.concat ( { ... }, " " ) local name = getPlayerName(thePlayer) outputChatBox("#FF66FF(Global) #FFFFFF"..name..": #FFFFFF"..message, getRootElement(), 255, 255, 255, true) end addCommandHandler("global", globalMessage) ----Local Chat chat_range=100 addEventHandler("onPlayerJoin",getRootElement(), function () bindKey(source,"t","down","chatbox","local") end) addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), function () for index, player in pairs(getElementsByType("player")) do bindKey(player,"t","down","chatbox","local") end end) function isPlayerInRangeOfPoint(player,x,y,z,range) local px,py,pz=getElementPosition(player) return ((x-px)^2+(y-py)^2+(z-pz)^2)^0.5<=range end function onChat(player,_,...) local px,py,pz=getElementPosition(player) local msg = table.concat({...}, " ") local nick=getPlayerName(player) local r,g,b = getTeamColor(getPlayerTeam(player)) for _,v in ipairs(getElementsByType("player")) do if isPlayerInRangeOfPoint(v,px,py,pz,chat_range) then outputChatBox("#FF99FF(Local) #FFFFFF"..nick..": "..msg,v,r,g,b,true) end end end addCommandHandler("local",onChat) ----Unbind The Default Chat addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function() unbindKey("t") end ) هي مود شات local و Global بس اريد تضيف كود ميوت لهم وشكرا
  4. warning freeroam/DizzyRoom_Client.lua"1707.Bad argument @ 'getPlayerFroNmay[Expected string at argument 1, got player] [DUPX5 هي ملف لينت تبع اف 1 موجود بقلبو ملف اكواد لكلان CONTROL_MARGIN_RIGHT = 5 LINE_MARGIN = 5 LINE_HEIGHT = 16 g_Root = getRootElement() g_ResRoot = getResourceRootElement(getThisResource()) g_Me = getLocalPlayer() server = createServerCallInterface() guiSetInputMode("no_binds_when_editing") --------------------------- -- Set skin window --------------------------- function skinInit() setControlNumber(wndSkin, 'skinid', getElementModel(g_Me)) end function showSkinID(leaf) if leaf.id then setControlNumber(wndSkin, 'skinid', leaf.id) end end function applySkin() local skinID = getControlNumber(wndSkin, 'skinid') if skinID then server.setMySkin(skinID) end end wndSkin = { 'wnd', text = 'Character', width = 250, x = -20, y = 0.3, controls = { { 'lst', id='skinlist', width=230, height=290, columns={ {text='Skin', attr='name'} }, rows={xml='lists/DizzyRoam_Skins.xml', attrs={'id', 'name'}}, onitemclick=showSkinID, onitemdoubleclick=applySkin }, {'txt', id='skinid', text='', width=50}, {'btn', id='set', onclick=applySkin}, {'btn', id='close', closeswindow=true} }, oncreate = skinInit } function setSkinCommand(cmd, skin) skin = skin and tonumber(skin) if skin then server.setMySkin(skin) fadeCamera(true) closeWindow(wndSpawnMap) closeWindow(wndSetPos) end end addCommandHandler('setskin', setSkinCommand) addCommandHandler('ss', setSkinCommand) --------------------------- -- Walking Style Window --------------------------- function applyWalkStyle( leaf ) if type( leaf ) ~= 'table' then leaf = getSelectedGridListLeaf( wndWalking, 'walkStyle' ) if not leaf then return end end server.setPedWalkingStyle( g_Me, leaf.id ) end function stopWalkStyle() server.setPedWalkingStyle( g_Me, 0 ) end wndWalking = { 'wnd', text = 'Walking style', width = 250, controls = { { 'lst', id = 'walkStyle', width = 230, height = 290, columns = { { text = 'Walking', attr = 'name' } }, rows = { xml = 'lists/DizzyRoam_Walking.xml', attrs = { 'id', 'name' } }, onitemdoubleclick = applyWalkStyle }, { 'btn', id = 'set', onclick = applyWalkStyle }, { 'btn', id = 'stop', onclick = stopWalkStyle }, { 'btn', id = 'close', closeswindow = true } } } function setWalkStyleCommand( cmd, id ) id = id and tonumber( id ) if id then server.setPedWalkingStyle( id ) end end addCommandHandler( 'setwalkstyle', setWalkStyleCommand ) addCommandHandler( 'walkstyle', setWalkStyleCommand ) --------------------------- -- Fighting style window --------------------------- wndFighting = { 'wnd', text = 'Fighting style', width = 250, x = -20, y = 0.3, controls = { { 'lst', id='fighting', width=230, height=290, columns={ {text='style', attr='name'} }, rows={xml='lists/DizzyRoam_Fighting.xml', attrs={'name'}}, expandlastlevel=false, onitemdoubleclick=applyFightingStyle }, {'btn', id='Set', onclick=applyFightingStyle}, {'btn', id='Close', closeswindow=true} } } addCommandHandler('setstyle', function(cmd, style) style = style and tonumber(style) if style then server.setPedFightingStyle(g_Me, style) end end ) --------------------------- --- Set animation window --------------------------- function applyAnimation(leaf) if type(leaf) ~= 'table' then leaf = getSelectedGridListLeaf(wndAnim, 'animlist') if not leaf then return end end server.setPedAnimation(g_Me, leaf.parent.name, leaf.name, true, true) end function stopAnimation() server.setPedAnimation(g_Me, false) end wndAnim = { 'wnd', text = 'Set animation', width = 250, x = -20, y = 0.3, controls = { { 'lst', id='animlist', width=230, height=290, columns={ {text='Animation', attr='name'} }, rows={xml='lists/DizzyRoam_Animations.xml', attrs={'name'}}, expandlastlevel=false, onitemdoubleclick=applyAnimation }, {'btn', id='set', onclick=applyAnimation}, {'btn', id='stop', onclick=stopAnimation}, {'btn', id='close', closeswindow=true} } } addCommandHandler('anim', function(command, lib, name) server.setPedAnimation(g_Me, lib, name, true, true) end ) --------------------------- -- Weapon window --------------------------- function addWeapon(leaf, amount) if type(leaf) ~= 'table' then leaf = getSelectedGridListLeaf(wndWeapon, 'weaplist') amount = getControlNumber(wndWeapon, 'amount') if not amount or not leaf then return end end server.giveMeWeapon(leaf.id, amount) end wndWeapon = { 'wnd', text = 'Weapons', width = 250, controls = { { 'lst', id='weaplist', width=230, height=280, columns={ {text='Weapon', attr='name'} }, rows={xml='lists/DizzyRoam_Weapons.xml', attrs={'id', 'name'}}, onitemdoubleclick=function(leaf) addWeapon(leaf, 500) end }, {'br'}, {'txt', id='amount', text='500', width=60}, {'btn', id='add', onclick=addWeapon}, {'btn', id='close', closeswindow=true} } } function giveWeaponCommand(cmd, weapon, amount) weapon = tonumber(weapon) or getWeaponIDFromName(weapon) if not weapon then return end amount = amount and tonumber(amount) or 500 server.giveMeWeapon(math.floor(weapon), amount) end addCommandHandler('give', giveWeaponCommand) addCommandHandler('wp', giveWeaponCommand) --------------------------- -- Fighting style --------------------------- addCommandHandler('setstyle', function(cmd, style) style = style and tonumber(style) if style then server.setPedFightingStyle(g_Me, style) end end ) --------------------------- -- Clothes window --------------------------- function clothesInit() if getElementModel(g_Me) ~= 0 then errMsg('You must have the CJ skin in order to change clothes.') closeWindow(wndClothes) return end if not g_Clothes then triggerServerEvent('onClothesInit', g_Me) end end addEvent('onClientClothesInit', true) addEventHandler('onClientClothesInit', g_Root, function(clothes) g_Clothes = clothes.allClothes for i,typeGroup in ipairs(g_Clothes) do for j,cloth in ipairs(typeGroup.children) do if not cloth.name then cloth.name = cloth.model .. ' - ' .. cloth.texture end cloth.wearing = clothes.playerClothes[typeGroup.type] and clothes.playerClothes[typeGroup.type].texture == cloth.texture and clothes.playerClothes[typeGroup.type].model == cloth.model or false end table.sort(typeGroup.children, function(a, b) return a.name < b.name end) end bindGridListToTable(wndClothes, 'clothes', g_Clothes, false) end ) function clothListClick(cloth) setControlText(wndClothes, 'addremove', cloth.wearing and 'remove' or 'add') end function applyClothes(cloth) if not cloth then cloth = getSelectedGridListLeaf(wndClothes, 'clothes') if not cloth then return end end if cloth.wearing then cloth.wearing = false setControlText(wndClothes, 'addremove', 'add') server.removePedClothes(g_Me, cloth.parent.type) else local prevClothIndex = table.find(cloth.siblings, 'wearing', true) if prevClothIndex then cloth.siblings[prevClothIndex].wearing = false end cloth.wearing = true setControlText(wndClothes, 'addremove', 'remove') server.addPedClothes(g_Me, cloth.texture, cloth.model, cloth.parent.type) end end wndClothes = { 'wnd', text = 'Clothes', x = -20, y = 0.3, width = 350, controls = { { 'lst', id='clothes', width=330, height=390, columns={ {text='Clothes', attr='name', width=0.6}, {text='Wearing', attr='wearing', enablemodify=true, width=0.3} }, rows={ {name='Retrieving clothes list...'} }, onitemclick=clothListClick, onitemdoubleclick=applyClothes }, {'br'}, {'btn', text='add', id='addremove', width=60, onclick=applyClothes}, {'btn', id='close', closeswindow=true} }, oncreate = clothesInit } function addClothesCommand(cmd, type, model, texture) type = type and tonumber(type) if type and model and texture then server.addPedClothes(g_Me, texture, model, type) end end addCommandHandler('addclothes', addClothesCommand) addCommandHandler('ac', addClothesCommand) function removeClothesCommand(cmd, type) type = type and tonumber(type) if type then server.removePlayerClothes(g_Me, type) end end addCommandHandler('removeclothes', removeClothesCommand) addCommandHandler('rc', removeClothesCommand) --------------------------- -- Stats window --------------------------- function initStats() applyToLeaves(getGridListCache(wndStats, 'statslist'), function(leaf) leaf.value = getPedStat(g_Me, leaf.id) end) end function applyStat() local leaf = getSelectedGridListLeaf(wndStats, 'statslist') if not leaf then return end local value = getControlNumber(wndStats, 'statval') if not value then return end leaf.value = value end wndStats = { 'wnd', text = 'Stats', width = 300, x = -20, y = 0.3, controls = { { 'lst', id='statslist', width=280, columns={ {text='Stat', attr='name', width=0.6}, {text='Value', attr='value', width=0.3, enablemodify=true} }, rows={xml='lists/DizzyRoam_Stats.xml', attrs={'name', 'id'}}, onitemclick=selectStat, onitemdoubleclick=maxStat }, {'btn', id='close', closeswindow=true} }, oncreate = initStats } --------------------------- -- Set position window --------------------------- do local screenWidth, screenHeight = guiGetScreenSize() if screenHeight < 700 then g_MapSide = 450 else g_MapSide = 700 end end function setPosInit() local x, y, z = getElementPosition(g_Me) setControlNumbers(wndSetPos, { x = x, y = y, z = z }) addEventHandler('onClientRender', g_Root, updatePlayerBlips) end function fillInPosition(relX, relY, btn) if (btn == 'right') then closeWindow (wndSetPos) return end local x = relX*6000 - 3000 local y = 3000 - relY*6000 local hit, hitX, hitY, hitZ hit, hitX, hitY, hitZ = processLineOfSight(x, y, 3000, x, y, -3000) setControlNumbers(wndSetPos, { x = x, y = y, z = hitZ or 0 }) end function setPosClick() setPlayerPosition(getControlNumbers(wndSetPos, {'x', 'y', 'z'})) closeWindow(wndSetPos) end function setPlayerPosition(x, y, z) if getElementData ( localPlayer, "attached" ) then return end if getElementData(g_Me, "timer.setpos") == "cooldown" then errMsg('Please wait 10 seconds before seting your position again.') return else if not isPedInVehicle(g_Me) then setElementData(g_Me, "timer.setpos", "cooldown") setTimer(setElementData, 10000, 1, g_Me, "timer.setpos", "normal") end local elem = getPedOccupiedVehicle(g_Me) local distanceToGround local isVehicle if elem then errMsg('Please leave the vehicle to change your position.') return else elem = g_Me distanceToGround = 0.4 isVehicle = false end local hit, hitX, hitY, hitZ = processLineOfSight(x, y, 3000, x, y, -3000) if not hit then if isVehicle then server.fadeVehiclePassengersCamera(false) else fadeCamera(false) end setTimer(setCameraMatrix, 1000, 1, x, y, z) local grav = getGravity() setGravity(0.001) g_TeleportTimer = setTimer( function() local hit, groundX, groundY, groundZ = processLineOfSight(x, y, 3000, x, y, -3000) if hit then local waterZ = getWaterLevel(x, y, 100) z = (waterZ and math.max(groundZ, waterZ) or groundZ) + distanceToGround if isPlayerDead(g_Me) then server.spawnMe(x, y, z) else setElementPosition(elem, x, y, z + 2000) end setCameraPlayerMode() setGravity(grav) if isVehicle then server.fadeVehiclePassengersCamera(true) else fadeCamera(true) end killTimer(g_TeleportTimer) g_TeleportTimer = nil end end, 500, 0 ) else if isPlayerDead(g_Me) then server.spawnMe(x, y, z + distanceToGround) else setElementPosition(elem, x, y, z + distanceToGround + 2000) if isVehicle then setTimer(setElementVelocity, 100, 1, elem, 0, 0, 0) setTimer(setVehicleTurnVelocity, 100, 1, elem, 0, 0, 0) end end end end end function updatePlayerBlips() if not g_PlayerData then return end local wnd = isWindowOpen(wndSpawnMap) and wndSpawnMap or wndSetPos local mapControl = getControl(wnd, 'map') for elem,player in pairs(g_PlayerData) do if not player.gui.mapBlip then player.gui.mapBlip = guiCreateStaticImage(0, 0, 9, 9, elem == g_Me and 'images/DizzyRoam_Local_Blip.png' or 'images/DizzyRoam_Blip.png', false, mapControl) player.gui.mapLabelShadow = guiCreateLabel(0, 0, 100, 14, player.name, false, mapControl) local labelWidth = guiLabelGetTextExtent(player.gui.mapLabelShadow) guiSetSize(player.gui.mapLabelShadow, labelWidth, 14, false) guiSetFont(player.gui.mapLabelShadow, 'default-bold-small') guiLabelSetColor(player.gui.mapLabelShadow, 255, 255, 255) player.gui.mapLabel = guiCreateLabel(0, 0, labelWidth, 14, player.name, false, mapControl) guiSetFont(player.gui.mapLabel, 'default-bold-small') guiLabelSetColor(player.gui.mapLabel, 0, 0, 0) for i,name in ipairs({'mapBlip', 'mapLabelShadow'}) do addEventHandler('onClientGUIDoubleClick', player.gui[name], function() server.warpMe(elem) closeWindow(wnd) end, false ) end end local x, y = getElementPosition(elem) x = math.floor((x + 3000) * g_MapSide / 6000) - 4 y = math.floor((3000 - y) * g_MapSide / 6000) - 4 guiSetPosition(player.gui.mapBlip, x, y, false) guiSetPosition(player.gui.mapLabelShadow, x + 14, y - 4, false) guiSetPosition(player.gui.mapLabel, x + 13, y - 5, false) end end addEventHandler('onClientPlayerChangeNick', g_Root, function(oldNick, newNick) if (not g_PlayerData) then return end local player = g_PlayerData[source] player.name = newNick if player.gui.mapLabel then guiSetText(player.gui.mapLabelShadow, newNick) guiSetText(player.gui.mapLabel, newNick) local labelWidth = guiLabelGetTextExtent(player.gui.mapLabelShadow) guiSetSize(player.gui.mapLabelShadow, labelWidth, 14, false) guiSetSize(player.gui.mapLabel, labelWidth, 14, false) end end ) function closePositionWindow() removeEventHandler('onClientRender', g_Root, updatePlayerBlips) end wndSetPos = { 'wnd', text = 'Set position', width = g_MapSide + 20, controls = { {'img', id='map', src='images/DizzyRoam_Map.png', width=g_MapSide, height=g_MapSide, onclick=fillInPosition, ondoubleclick=setPosClick}, {'txt', id='x', text='', width=0}, {'txt', id='y', text='', width=0}, {'txt', id='z', text='', width=0}, {'btn', id='close', closeswindow=true}, }, oncreate = setPosInit, onclose = closePositionWindow } --------------------------- -- Spawn map window --------------------------- function warpMapInit() addEventHandler('onClientRender', g_Root, updatePlayerBlips) end function spawnMapDoubleClick(relX, relY) setPlayerPosition(relX*6000 - 3000, 3000 - relY*6000, 0) closeWindow(wndSpawnMap) end function closeSpawnMap() showCursor(false) removeEventHandler('onClientRender', g_Root, updatePlayerBlips) for elem,data in pairs(g_PlayerData) do for i,name in ipairs({'mapBlip', 'mapLabelShadow', 'mapLabel'}) do if data.gui[name] then destroyElement(data.gui[name]) data.gui[name] = nil end end end end wndSpawnMap = { 'wnd', text = 'Set Position', width = g_MapSide + 20, controls = { {'img', id='map', src='images/DizzyRoam_Map.png', width=g_MapSide, height=g_MapSide, ondoubleclick=spawnMapDoubleClick}, {'lbl', text='Welcome to freeroam. Double click a location on the map to spawn.', width=g_MapSide-60, align='center'}, {'btn', id='close', closeswindow=true} }, oncreate = warpMapInit, onclose = closeSpawnMap } --------------------------- -- Interior window --------------------------- function setInterior(leaf) if getPedOccupiedVehicle(g_Me) then errMsg("Please leave the vehicle to change an interior") return end setElementInterior(g_Me, leaf.world) setCameraInterior(leaf.world) setElementPosition(g_Me, leaf.posX, leaf.posY, leaf.posZ + 1) closeWindow(wndSetInterior) end wndSetInterior = { 'wnd', text = 'Set interior', width = 250, controls = { { 'lst', id='interiors', width=230, height=300, columns={ {text='Interior', attr='name'} }, rows={xml='lists/DizzyRoam_Interiors.xml', attrs={'name', 'posX', 'posY', 'posZ', 'world'}}, onitemdoubleclick=setInterior }, {'btn', id='close', closeswindow=true} } } --------------------------- -- Create vehicle window --------------------------- function createSelectedVehicle(leaf) if not leaf then leaf = getSelectedGridListLeaf(wndCreateVehicle, 'vehicles') if not leaf then return end end server.giveMeVehicles(leaf.id) end wndCreateVehicle = { 'wnd', text = 'Vehicles', width = 300, controls = { { 'lst', id='vehicles', width=280, height=340, columns={ {text='Vehicle', attr='name'} }, rows={xml='lists/DizzyRoam_Vehicles.xml', attrs={'id', 'name'}}, onitemdoubleclick=createSelectedVehicle }, {'btn', id='create', onclick=createSelectedVehicle}, {'btn', id='close', closeswindow=true} } } function createVehicleCommand(cmd, id) vehID = tonumber(id) or getVehicleModelFromName(id) if not vehID then return end server.giveMeVehicles(math.floor(vehID)) end addCommandHandler('createvehicle', createVehicleCommand) addCommandHandler('cv', createVehicleCommand) --------------------------- -- Repair vehicle --------------------------- function repairVehicle() local vehicle = getPedOccupiedVehicle(g_Me) if vehicle then if not repairTimer then repairTimer = true setTimer(function () repairTimer = false end, 30000, 1) server.fixVehicle(vehicle) outputChatBox("• Vehicle successfully repaired", 0, 100, 0) else errMsg("• Please wait 30 seconds before repairing again") end end end addCommandHandler('repair', repairVehicle) addCommandHandler('rp', repairVehicle) addCommandHandler('r', repairVehicle) --------------------------- -- Flip vehicle --------------------------- function flipVehicle() local vehicle = getPedOccupiedVehicle(g_Me) if vehicle then if not flipTimer then flipTimer = true setTimer(function () flipTimer = false end, 30000, 1) local rX, rY, rZ = getElementRotation(vehicle) server['set' .. 'VehicleRotation'](vehicle, 0, 0, (rX > 90 and rX < 270) and (rZ + 180) or rZ) outputChatBox("• Vehicle successfully flipped", 0, 100, 0) else errMsg("• Please wait 30 seconds before flipping again") end end end addCommandHandler('flip', flipVehicle) addCommandHandler('f', flipVehicle) addCommandHandler('fp', flipVehicle) --------------------------- -- Vehicle upgrades --------------------------- function upgradesInit() local vehicle = getPedOccupiedVehicle(g_Me) if not vehicle then errMsg('Please enter a vehicle to change the upgrades of.') closeWindow(wndUpgrades) return end local installedUpgrades = getVehicleUpgrades(vehicle) local compatibleUpgrades = {} local slotName, group for i,upgrade in ipairs(getVehicleCompatibleUpgrades(vehicle)) do slotName = getVehicleUpgradeSlotName(upgrade) group = table.find(compatibleUpgrades, 'name', slotName) if not group then group = { 'group', name = slotName, children = {} } table.insert(compatibleUpgrades, group) else group = compatibleUpgrades[group] end table.insert(group.children, { id = upgrade, installed = table.find(installedUpgrades, upgrade) ~= false }) end table.sort(compatibleUpgrades, function(a, b) return a.name < b.name end) bindGridListToTable(wndUpgrades, 'upgradelist', compatibleUpgrades, true) end function selectUpgrade(leaf) setControlText(wndUpgrades, 'addremove', leaf.installed and 'remove' or 'add') end function addRemoveUpgrade(selUpgrade) -- Add or remove selected upgrade local vehicle = getPedOccupiedVehicle(g_Me) if not vehicle then return end if not selUpgrade then selUpgrade = getSelectedGridListLeaf(wndUpgrades, 'upgradelist') if not selUpgrade then return end end if selUpgrade.installed then -- remove upgrade selUpgrade.installed = false setControlText(wndUpgrades, 'addremove', 'add') server.removeVehicleUpgrade(vehicle, selUpgrade.id) else -- add upgrade local prevUpgradeIndex = table.find(selUpgrade.siblings, 'installed', true) if prevUpgradeIndex then selUpgrade.siblings[prevUpgradeIndex].installed = false end selUpgrade.installed = true setControlText(wndUpgrades, 'addremove', 'remove') server.addVehicleUpgrade(vehicle, selUpgrade.id) end end wndUpgrades = { 'wnd', text = 'Vehicle upgrades', width = 300, x = -20, y = 0.3, controls = { { 'lst', id='upgradelist', width=280, height=340, columns={ {text='Upgrade', attr='id', width=0.6}, {text='Installed', attr='installed', width=0.3, enablemodify=true} }, onitemclick=selectUpgrade, onitemdoubleclick=addRemoveUpgrade }, {'btn', id='addremove', text='add', width=60, onclick=addRemoveUpgrade}, {'btn', id='ok', closeswindow=true} }, oncreate = upgradesInit } function addUpgradeCommand(cmd, upgrade) local vehicle = getPedOccupiedVehicle(g_Me) if vehicle and upgrade then server.addVehicleUpgrade(vehicle, tonumber(upgrade) or 0) end end addCommandHandler('addupgrade', addUpgradeCommand) addCommandHandler('au', addUpgradeCommand) function removeUpgradeCommand(cmd, upgrade) local vehicle = getPedOccupiedVehicle(g_Me) if vehicle and upgrade then server.removeVehicleUpgrade(vehicle, tonumber(upgrade) or 0) end end addCommandHandler('removeupgrade', removeUpgradeCommand) addCommandHandler('ru', removeUpgradeCommand) --------------------------- -- Color --------------------------- function setColorCommand(cmd, ...) local vehicle = getPedOccupiedVehicle(g_Me) if not vehicle then return end local colors = { getVehicleColor(vehicle) } local args = { ... } for i=1,6 do colors[i] = args[i] and tonumber(args[i]) or colors[i] end server.setVehicleColor(vehicle, unpack(colors)) end addCommandHandler('color', setColorCommand) addCommandHandler('cl', setColorCommand) function openColorPicker() editingVehicle = getPedOccupiedVehicle(localPlayer) if (editingVehicle) then colorPicker.openSelect(colors) end end function closedColorPicker() local r1, g1, b1, r2, g2, b2 = getVehicleColor(editingVehicle, true) server.setVehicleColor(editingVehicle, r1, g1, b1, r2, g2, b2) local r, g, b = getVehicleHeadLightColor(editingVehicle) server.setVehicleHeadLightColor(editingVehicle, r, g, b) editingVehicle = nil end function updateColor() if (not colorPicker.isSelectOpen) then return end local r, g, b = colorPicker.updateTempColors() if (editingVehicle and isElement(editingVehicle)) then local r1, g1, b1, r2, g2, b2 = getVehicleColor(editingVehicle, true) if (guiCheckBoxGetSelected(checkColor1)) then r1, g1, b1 = r, g, b end if (guiCheckBoxGetSelected(checkColor2)) then r2, g2, b2 = r, g, b end if (guiCheckBoxGetSelected(checkColor3)) then setVehicleHeadLightColor(editingVehicle, r, g, b) end setVehicleColor(editingVehicle, r1, g1, b1, r2, g2, b2) end end addEventHandler("onClientRender", root, updateColor) function errMsg(msg) outputChatBox(msg, 255, 0, 0) end --------------------------- -- Paintjob --------------------------- function paintjobInit() local vehicle = getPedOccupiedVehicle(g_Me) if not vehicle then errMsg('You need to be in a car to change its paintjob.') closeWindow(wndPaintjob) return end local paint = getVehiclePaintjob(vehicle) if paint then guiGridListSetSelectedItem(getControl(wndPaintjob, 'paintjoblist'), paint+1) end end function applyPaintjob(paint) server.setVehiclePaintjob(getPedOccupiedVehicle(g_Me), paint.id) end wndPaintjob = { 'wnd', text = 'Car paintjob', width = 220, x = -20, y = 0.3, controls = { { 'lst', id='paintjoblist', width=200, height=130, columns={ {text='Paintjob ID', attr='id'} }, rows={ {id=0}, {id=1}, {id=2}, {id=3} }, onitemclick=applyPaintjob, ondoubleclick=function() closeWindow(wndPaintjob) end }, {'btn', id='close', closeswindow=true}, }, oncreate = paintjobInit } function setPaintjobCommand(cmd, paint) local vehicle = getPedOccupiedVehicle(g_Me) paint = paint and tonumber(paint) if not paint or not vehicle then return end server.setVehiclePaintjob(vehicle, paint) end addCommandHandler('paintjob', setPaintjobCommand) addCommandHandler('pj', setPaintjobCommand) --------------------------- -- Main window --------------------------- function mainWndShow() if not getPedOccupiedVehicle(g_Me) then hideControls(wndMain, 'Repair', 'Flip', 'Upgrades', 'Color', 'Paintjob') end end function mainWndClose() killTimer(updateTimer) updateTimer = nil colorPicker.closeSelect() end function onEnterVehicle(vehicle) showControls(wndMain, 'Repair', 'Flip', 'Upgrades', 'Color', 'Paintjob') end function onExitVehicle(vehicle) hideControls(wndMain, 'Repair', 'Flip', 'Upgrades', 'Color', 'Paintjob') closeWindow(wndUpgrades) closeWindow(wndColor) end function killLocalPlayer() server.killPed(g_Me) end addCommandHandler('kill', killLocalPlayer) wndMain = { 'wnd', text = 'Freeroam', x = 10, y = 150, width = 280, controls = { {'lbl', text='Player'}, {'br'}, {'btn', id='Kill', onclick=killLocalPlayer}, {'btn', id='Character', window=wndSkin}, {'btn', id='Animations', window=wndAnim}, {'btn', id='Clothes', window=wndClothes}, {'btn', id='Stats', window=wndStats}, {'btn', id='Walking', window=wndWalking}, {'btn', id='Fighting', window=wndFighting}, {'btn', id='Weapons', window=wndWeapon}, {'br'}, {'lbl', text='Position'}, {'br'}, {'btn', id='setpos', text='Set position', window=wndSetPos}, {'br'}, {'lbl', text='Vehicle'}, {'br'}, {'btn', id='createvehicle', window=wndCreateVehicle, text='Create vehicle'}, {'btn', id='Repair', onclick=repairVehicle}, {'btn', id='Flip', onclick=flipVehicle}, {'btn', id='Upgrades', window=wndUpgrades}, {'btn', id='Color', onclick=openColorPicker}, {'btn', id='Paintjob', window=wndPaintjob}, {'br'}, }, oncreate = mainWndShow, onclose = mainWndClose } addEventHandler('onClientResourceStart', g_ResRoot, function() fadeCamera(true) setTimer(getPlayers, 1000, 1) bindKey('f1', 'down', toggleFRWindow) addCommandHandler("freeroam", toggleFRWindow) createWindow(wndMain) hideAllWindows() triggerServerEvent('onLoadedAtClient', g_ResRoot, g_Me) end ) function showWelcomeMap() createWindow(wndSpawnMap) showCursor(true) end function showMap() createWindow(wndSetPos) showCursor(true) end function toggleFRWindow() if isWindowOpen(wndMain) then showCursor(false) hideAllWindows() colorPicker.closeSelect() else showCursor(true) showAllWindows() end end addCommandHandler('fr', toggleFRWindow) function getPlayers() g_PlayerData = {} table.each(getElementsByType('player'), joinHandler) end function joinHandler(player) if (not g_PlayerData) then return end g_PlayerData[player or source] = { name = getPlayerName(player or source), gui = {} } end addEventHandler('onClientPlayerJoin', g_Root, joinHandler) addEventHandler('onClientPlayerQuit', g_Root, function() if (not g_PlayerData) then return end table.each(g_PlayerData[source].gui, destroyElement) g_PlayerData[source] = nil end ) addEventHandler('onClientPlayerWasted', g_Me, function() onExitVehicle(g_Me) end ) addEventHandler('onClientPlayerVehicleEnter', g_Me, onEnterVehicle) addEventHandler('onClientPlayerVehicleExit', g_Me, onExitVehicle) addEventHandler('onClientResourceStop', g_ResRoot, function() showCursor(false) setPedAnimation(g_Me, false) end ) local vehicleWidth = { [400] = 3.03, [401] = 3.30, [402] = 2.90, [403] = 5.30, [404] = 3.21, [405] = 3.37, [406] = 6.60, [407] = 4.89, [408] = 5.90, [409] = 4.36, [410] = 2.89, [411] = 2.69, [412] = 3.97, [413] = 3.34, [414] = 3.99, [415] = 3.04, [416] = 4.42, [417] = 16.01, [418] = 3.32, [419] = 3.45, [420] = 3.30, [421] = 3.53, [422] = 3.11, [423] = 3.60, [424] = 2.44, [425] = 9.84, [426] = 3.29, [427] = 4.48, [428] = 3.73, [429] = 2.91, [430] = 6.59, [431] = 6.66, [432] = 7.17, [433] = 5.51, [434] = 2.69, [435] = 7.33, [436] = 3.11, [437] = 6.40, [438] = 3.37, [439] = 3.04, [440] = 3.29, [441] = 2.00, [442] = 3.71, [443] = 10.38, [444] = 3.85, [445] = 3.30, [446] = 6.73, [447] = 7.58, [448] = 1.33, [449] = 5.29, [450] = 7.17, [451] = 3.06, [452] = 5.92, [453] = 6.02, [454] = 9.70, [455] = 5.35, [456] = 5.18, [457] = 2.10, [458] = 3.44, [459] = 3.27, [460] = 8.94, [461] = 1.44, [462] = 1.33, [463] = 1.40, [464] = 1.25, [465] = 0.94, [466] = 3.45, [467] = 3.53, [468] = 1.39, [469] = 7.58, [470] = 3.24, [471] = 1.49, [472] = 4.58, [473] = 2.61, [474] = 3.37, [475] = 3.26, [476] = 8.19, [477] = 3.36, [478] = 3.23, [479] = 3.39, [480] = 2.83, [481] = 1.17, [482] = 3.33, [483] = 3.44, [484] = 9.92, [485] = 2.37, [486] = 4.67, [487] = 7.71, [488] = 6.53, [489] = 3.38, [490] = 3.93, [491] = 3.00, [492] = 2.84, [493] = 6.79, [494] = 3.57, [495] = 3.22, [496] = 2.65, [497] = 7.71, [498] = 4.19, [499] = 3.99, [500] = 2.90, [501] = 0.94, [502] = 3.35, [503] = 3.40, [504] = 3.39, [505] = 3.38, [506] = 2.94, [507] = 3.60, [508] = 4.62, [509] = 1.21, [510] = 1.13, [511] = 15.03, [512] = 6.58, [513] = 6.51, [514] = 5.55, [515] = 5.68, [516] = 3.49, [517] = 3.51, [518] = 3.33, [519] = 13.87, [520] = 8.61, [521] = 1.44, [522] = 1.44, [523] = 1.44, [524] = 5.08, [525] = 3.94, [526] = 2.98, [527] = 3.14, [528] = 3.28, [529] = 3.15, [530] = 2.63, [531] = 2.31, [532] = 7.38, [533] = 2.53, [534] = 3.40, [535] = 3.15, [536] = 3.54, [537] = 11.06, [538] = 8.26, [539] = 2.61, [540] = 3.44, [541] = 2.79, [542] = 3.53, [543] = 3.24, [544] = 6.73, [545] = 2.80, [546] = 3.30, [547] = 3.28, [548] = 12.72, [549] = 3.14, [550] = 3.34, [551] = 2.86, [552] = 4.02, [553] = 18.92, [554] = 3.57, [555] = 2.84, [556] = 3.85, [557] = 3.85, [558] = 2.94, [559] = 3.05, [560] = 3.05, [561] = 3.28, [562] = 2.98, [563] = 9.65, [564] = 0.93, [565] = 2.72, [566] = 3.58, [567] = 3.71, [568] = 2.75, [569] = 9.41, [570] = 9.41, [571] = 1.61, [572] = 1.75, [573] = 4.15, [574] = 2.43, [575] = 3.26, [576] = 3.48, [577] = 45.08, [578] = 6.35, [579] = 3.31, [580] = 3.35, [581] = 1.46, [582] = 3.98, [583] = 2.52, [584] = 8.24, [585] = 3.56, [586] = 1.56, [587] = 3.24, [588] = 5.52, [589] = 2.98, [590] = 9.67, [591] = 7.38, [592] = 36.34, [593] = 9.36, [594] = 0.58, [595] = 6.34, [596] = 3.30, [597] = 3.31, [598] = 3.25, [599] = 3.57, [600] = 3.35, [601] = 4.56, [602] = 3.14, [603] = 3.38, [604] = 3.45, [605] = 3.24, [606] = 2.46, [607] = 2.43, [608] = 4.01, [609] = 4.17, [610] = 1.59, [611] = 2.11, } function isTheLineClear(vx, vy, vz, vehID, vrot) local width = vehicleWidth[vehID] or 3 local px,py,pz = getElementPosition(source) if isLineOfSightClear(px,py,pz+1,vx+width,vy+width,vz+1) and isLineOfSightClear(px,py,pz+1,vx+width,vy-width,vz+1) and isLineOfSightClear(px,py,pz+1,vx-width,vy-width,vz+1) and isLineOfSightClear(px,py,pz+1,vx-width,vy+width,vz+1) then triggerServerEvent("onPlayerVehicleCreate", source, vx, vy, vz, vehID, vrot) else errMsg('Please find a clear location to spawn the vehicle.') end end addEvent("onClientLineCheck", true) addEventHandler("onClientLineCheck", getRootElement(), isTheLineClear) addEvent("onServerChat", true) ----Clan menu Clan = { Button = {}, Window = {}, Gridlist = {}, Edit = {}, Memo = {} } Clan.Window[1] = guiCreateWindow(0, 232, 302, 421, "Clan panel", false) guiWindowSetSizable(Clan.Window[1], false) Clan.Window[2] = guiCreateWindow(361, 232, 250, 451, "Set player Rank", false) guiWindowSetSizable(Clan.Window[2], false) Clan.Window[3] = guiCreateWindow(361, 232, 250, 451, "Set player Rank", false) guiWindowSetSizable(Clan.Window[3], false) Clan.Gridlist[1] = guiCreateGridList(9, 19, 291, 352, false, Clan.Window[1]) local column = guiGridListAddColumn(Clan.Gridlist[1], "Players", 0.9) if ( column ) then --If the column has been created, fill it with players for _,v in ipairs(getElementsByType("player"))do local row = guiGridListAddRow(Clan.Gridlist[1]) local players = getPlayerName(v) guiGridListSetItemText(Clan.Gridlist[1],row,column,players,false,false) end end Clan.Button[1] = guiCreateButton(9, 377, 59, 36, "Add", false, Clan.Window[1]) Clan.Button[2] = guiCreateButton(126, 377, 51, 36, "Kick", false, Clan.Window[1]) Clan.Button[3] = guiCreateButton(68, 377, 58, 36, "Promote", false, Clan.Window[1]) Clan.Button[4] = guiCreateButton(177, 377, 54, 36, "Demote", false, Clan.Window[1]) Clan.Button[5] = guiCreateButton(231, 377, 54, 36, "Close", false, Clan.Window[1]) Clan.Button[6] = guiCreateButton(13, 62, 87, 23, "Cancel", false, Clan.Window[2]) Clan.Button[7] = guiCreateButton(143, 62, 87, 23, "Promote", false, Clan.Window[2]) Clan.Button[8] = guiCreateButton(13, 62, 87, 23, "Cancel", false, Clan.Window[3]) Clan.Button[9] = guiCreateButton(143, 62, 87, 23, "Demote", false, Clan.Window[3]) Clan.Edit[1] = guiCreateEdit(13, 29, 227, 28, "", false, Clan.Window[2]) Clan.Edit[2] = guiCreateEdit(13, 29, 227, 28, "", false, Clan.Window[3]) Clan.Memo[1] = guiCreateMemo(13, 97, 227, 344, "Avaible Ranks\n\nLeader\n\nCo Leader\n\nGuest", false, Clan.Window[2]) guiMemoSetReadOnly(Clan.Memo[1], true) guiSetVisible(Clan.Window[1], false) guiSetVisible(Clan.Window[2], false) guiSetVisible(Clan.Window[3], false) showCursor(false) if getElementData(localPlayer, "clan.rank") == "leader" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Mohamed" then guiSetEnabled(Clan.Button[3], true) guiSetEnabled(Clan.Button[4], true) else guiSetEnabled(Clan.Button[3], false) guiSetEnabled(Clan.Button[4], false) end function toggleClanControl( source ) if getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "[ET]Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" then if not guiGetVisible( Clan.Window[1] ) then showCursor ( true ) guiSetVisible( Clan.Window[1], true ) guiGridListClear ( Clan.Gridlist[1] ) if ( column ) then guiGridListClear ( Clan.Gridlist[1] ) for _,v in ipairs(getElementsByType("player"))do local row = guiGridListAddRow(Clan.Gridlist[1]) local playerName = getPlayerName(v) guiGridListSetItemText(Clan.Gridlist[1],row,column,playerName,false,false) end end if getElementData(localPlayer, "clan.rank") == "leader" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "[ET]Danksta" then guiSetEnabled(Clan.Button[3], true) guiSetEnabled(Clan.Button[4], true) else guiSetEnabled(Clan.Button[3], false) guiSetEnabled(Clan.Button[4], false) end else showCursor ( false ) guiSetVisible( Clan.Window[1], false ) end end end bindKey( "H", "down", toggleClanControl ) addCommandHandler("clan", toggleClanControl) addEventHandler("onClientGUIClick", guiRoot, function() if source == Clan.Button[1] then local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) local team = getPlayerTeam(localPlayer) local teamName = getTeamName(team) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("addToTeam", localPlayer,playerName,teamName) end end) addEventHandler("onClientGUIClick", guiRoot, function() if source == Clan.Button[2] then local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) local team = getPlayerTeam(localPlayer) local teamName = getTeamName(team) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("kickFromTeam", localPlayer,playerName,teamName) end end) function closeClan() if guiGetVisible(Clan.Window[1]) then guiSetVisible(Clan.Window[1],false) showCursor(false) end end addEventHandler ("onClientGUIClick", Clan.Button[5], closeClan, false) function togglePromote( source ) -- Show the panel if not guiGetVisible( Clan.Window[2] ) then showCursor ( true ) guiSetVisible( Clan.Window[2], true ) guiMoveToBack( Clan.Window[1] ) else showCursor ( true ) guiSetVisible( Clan.Window[2], false ) end end addEventHandler ( "onClientGUIClick", Clan.Button[3], togglePromote, false ) addEventHandler("onClientGUIClick",Clan.Button[7], function() local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("promotePlayer",localPlayer,playerName,tostring(guiGetText(Clan.Edit[1])) or "Member") guiSetVisible( Clan.Window[2], false ) showCursor ( true ) end,false) function closeClan() if guiGetVisible(Clan.Window[2]) then guiSetVisible(Clan.Window[2],false) showCursor(true) end end addEventHandler ("onClientGUIClick", Clan.Button[6], closeClan, false) function toggleDemote( source ) -- Show the panel if not guiGetVisible( Clan.Window[2] ) then showCursor ( true ) guiSetVisible( Clan.Window[2], true ) guiMoveToBack( Clan.Window[1] ) else showCursor ( true ) guiSetVisible( Clan.Window[2], false ) end end addEventHandler ( "onClientGUIClick", Clan.Button[4], toggleDemote, false ) addEventHandler("onClientGUIClick",Clan.Button[9], function() local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("DemotePlayer",localPlayer,playerName,tostring(guiGetText(Clan.Edit[2])) or "Member") guiSetVisible( Clan.Window[3], false ) showCursor ( true ) end,false) addEventHandler ("onClientGUIClick", Clan.Button[8], closeClan, false) ----Scoreboard Columns addEventHandler("onClientResourceStart",resourceRoot, function() triggerServerEvent("onDownloadFinish",localPlayer) end ) ----Download Text addEventHandler("onClientResourceStart",resourceRoot, function () triggerServerEvent("removeText",localPlayer) end ) ----Glue function glue() local player = getLocalPlayer() if not getPedOccupiedVehicle(player) then local vehicle = getPedContactElement(player) if getElementType(vehicle) == "vehicle" then local px, py, pz = getElementPosition(player) local vx, vy, vz = getElementPosition(vehicle) local sx = px - vx local sy = py - vy local sz = pz - vz local rotpX = 0 local rotpY = 0 local rotpZ = getPedRotation(player) local rotvX,rotvY,rotvZ = getElementRotation(vehicle) local t = math.rad(rotvX) local p = math.rad(rotvY) local f = math.rad(rotvZ) local ct = math.cos(t) local st = math.sin(t) local cp = math.cos(p) local sp = math.sin(p) local cf = math.cos(f) local sf = math.sin(f) local z = ct*cp*sz + (sf*st*cp + cf*sp)*sx + (-cf*st*cp + sf*sp)*sy local x = -ct*sp*sz + (-sf*st*sp + cf*cp)*sx + (cf*st*sp + sf*cp)*sy local y = st*sz - sf*ct*sx + cf*ct*sy local rotX = rotpX - rotvX local rotY = rotpY - rotvY local rotZ = rotpZ - rotvZ local slot = getPedWeaponSlot(player) --outputDebugString("gluing ".. getPlayerName(player) .." to " .. getVehicleName(vehicle) .. "(offset: "..tostring(x)..","..tostring(y)..","..tostring(z).."; rotation:"..tostring(rotX)..","..tostring(rotY)..","..tostring(rotZ)..")") triggerServerEvent("gluePlayer", player, slot, vehicle, x, y, z, rotX, rotY, rotZ) unbindKey("x","down",glue) bindKey("x","down",unglue) end end end addCommandHandler("glue",glue) function unglue () local player = getLocalPlayer() triggerServerEvent("ungluePlayer", player) unbindKey("x","down",unglue) bindKey("x","down",glue) end addCommandHandler("unglue",unglue) bindKey("x","down",glue) ----Greenzone addEvent("enableGodMode", true) addEvent("disableGodMode", true) addEventHandler ("enableGodMode", getRootElement(), function() addEventHandler ("onClientPlayerDamage", getRootElement(), cancelEventEvent) end) addEventHandler ("disableGodMode", getRootElement(), function() removeEventHandler ("onClientPlayerDamage", getRootElement(), cancelEventEvent) end) function cancelEventEvent () cancelEvent() end pirShipMusicCol = createColCuboid (1997.58,1523.16,8,6,17.66,4) addEventHandler ("onClientColShapeHit", getRootElement(), function(hitElement, matchingDimension) if (source == pirShipMusicCol) and (hitElement == getLocalPlayer()) then setRadioChannel (7) end end) addEventHandler ("onClientColShapeLeave", getRootElement(), function(leaveElement, matchingDimension) if (source == pirShipMusicCol) and (leaveElement == getLocalPlayer()) then setRadioChannel (0) end end) ----Sv glp = getLocalPlayer() notallowed = {[432] = false, [538] = false, [569] = false, [590] = false, [537] = false, [449] = false} spaces = {["Police Maverick"] = false, ["Mountain Bike"] = false, ["Pizza Boy"] = false, ["Utility Van"] = false, ["Police Car (Los Santos)"] = false, ["Police Car (San Fierro)"] = false, ["Police Ranger"] = false, ["FBI Rancher"] = false, ["FBI Truck"] = false, ["Fire Truck"] = false, ["Fire Truck (Ladder)"] = false, ["Police Car (Las Venturas)"] = false, ["Black Boxville"] = false, ["Linerunner (From 'Tanker Commando')"] = false, ["Mr. Whoopee"] = false, ["Cement Truck"] = false, ["Combine Harvester"] = false, ["Berkley's RC Van"] = false, ["Damaged Sadler"] = false, ["News Van"] = false, ["RC Bandit"] = false, ["RC Baron"] = false, ["RC Goblin"] = false, ["RC Raider"] = false, ["RC Tiger"] = false, ["BF Injection"] = false, ["Bloodring Banger"] = false, ["Monster 2"] = false, ["Super GT"] = false, ["Hotring Racer"] = false, ["Hotring Racer 2"] = false, ["Hotring Racer 3"] = false, ["Rancher (From 'Lure')"] = false, ["RC Cam (flower pot)"] = false, ["News Chopper"] = false } function isNumber(n) return tonumber(n) ~= nil end addCommandHandler("gj", function(cmd, carName, ...) if (glp and isElement(glp) and getElementType(glp) == "player") then if (not isTimer(antiSpam)) then if (isPedDead(glp)) then return end local px, py, pz = getElementPosition(glp) if (carName == nil) then msg("•Syntax: /gj (Vehicle name or ID)") elseif not isNumber(carName) and (notallowed[getVehicleModelFromName(tostring(carName))]) then msg("•Vehicle not allowed") elseif isNumber(carName) and ((notallowed[tonumber(carName)]) or (notallowed[tonumber(math.floor(carName))])) then msg("•Vehicle not allowed") elseif (not getVehicleModelFromName(tostring(carName and ...)) and not isNumber(carName) and spaces[tostring(carName)] == false and not tostring(carName) == "none") then msg("•Invalid vehicle name '" .. carName .. "'") elseif (getElementInterior(glp) > 0) then elseif (not isPedInVehicle(glp)) then if (isNumber(carName) and tonumber(carName) < 400 or isNumber(carName) and tonumber(carName) > 610) then cancelEvent() msg("•Vehicle not found") else triggerServerEvent("create", glp, glp, px, py, pz, arg2, carName, ...) end elseif (isPedInVehicle(glp)) then if (isNumber(carName) and tonumber(carName) < 400 or isNumber(carName) and tonumber(carName) > 610) then cancelEvent() msg("•Vehicle not found.") else triggerServerEvent("change", glp, glp, cmd, arg2, carName, ...) end end antiSpam = setTimer(function() end, 70, 1) else end end end ) function msg(err) outputChatBox(err,255,0,0) end ----Random Stuff addEventHandler("onClientRender", getRootElement(), function() for k,player in ipairs(getElementsByType("player")) do if getElementHealth(player) >= 1 then local width, height = guiGetScreenSize () local lx, ly, lz = getWorldFromScreenPosition ( width/2, height/2, 10 ) setPedLookAt(player, lx, ly, lz) end end end) ----Stats GUI And Stats Upgrader local Progress = {} local screenWidth, screenHeight = guiGetScreenSize() local windowWidth, windowHeight = 270, 485 local windowWidth2, windowHeight2 = 146, 15 Progress[1] = guiCreateProgressBar(189,270,windowWidth2,windowHeight2,false) Progress[2] = guiCreateProgressBar(189,310,windowWidth2,windowHeight2,false) Progress[3] = guiCreateProgressBar(189,350,windowWidth2,windowHeight2,false) Progress[4] = guiCreateProgressBar(189,390,windowWidth2,windowHeight2,false) Progress[5] = guiCreateProgressBar(189,430,windowWidth2,windowHeight2,false) Progress[6] = guiCreateProgressBar(189,470,windowWidth2,windowHeight2,false) Progress[7] = guiCreateProgressBar(189,510,windowWidth2,windowHeight2,false) Progress[8] = guiCreateProgressBar(189,550,windowWidth2,windowHeight2,false) Progress[9] = guiCreateProgressBar(189,590,windowWidth2,windowHeight2,false) Progress[10] = guiCreateProgressBar(189,630,windowWidth2,windowHeight2,false) Progress[11] = guiCreateProgressBar(189,670,windowWidth2,windowHeight2,false) for _, prog in pairs ( Progress ) do guiSetVisible( prog, false ) end function Draw() dxDrawRectangle(67,220,windowWidth,windowHeight,tocolor(0,0,0,180),false) dxDrawText("Usp 45",78,270,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("Usp 45-Silenced",78,310,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("Desert Eagle",78,350,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("SPAS-12",78,390,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("Model-870",78,430,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("Striker",78,470,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("Mp7",78,510,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("Mp5",78,550,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("AK-47",78,590,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("M4A1",78,630,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("L118A",78,670,windowWidth,windowHeight,tocolor(255,255,255,255),1.0,"Segoe UI","left","top",false,false,false) dxDrawText("Player Stats",70,220,windowWidth,windowHeight,tocolor(255,255,255,255),1.1,"bankgothic","left","top",false,false,false) end addEventHandler("onClientRender", root, function ( ) gPS69 = getPedStat(localPlayer, 69 ) stat69 = (gPS69/10) guiProgressBarSetProgress(Progress[1], stat69) gPS70 = getPedStat(localPlayer, 70 ) stat70 = (gPS70/10) guiProgressBarSetProgress(Progress[2], stat70) gPS71 = getPedStat(localPlayer, 71 ) stat71 = (gPS71/10) guiProgressBarSetProgress(Progress[3], stat71) gPS72 = getPedStat(localPlayer, 72 ) stat72 = (gPS72/10) guiProgressBarSetProgress(Progress[4], stat72) gPS73 = getPedStat(localPlayer, 73 ) stat73 = (gPS73/10) guiProgressBarSetProgress(Progress[5], stat73) gPS74 = getPedStat(localPlayer, 74 ) stat74 = (gPS74/10) guiProgressBarSetProgress(Progress[6], stat74) gPS75 = getPedStat(localPlayer, 75 ) stat75 = (gPS75/10) guiProgressBarSetProgress(Progress[7], stat75) gPS76 = getPedStat(localPlayer, 76 ) stat76 = (gPS76/10) guiProgressBarSetProgress(Progress[8], stat76) gPS77 = getPedStat(localPlayer, 77 ) stat77 = (gPS77/10) guiProgressBarSetProgress(Progress[9], stat77) gPS78 = getPedStat(localPlayer, 78 ) stat78 = (gPS78/10) guiProgressBarSetProgress(Progress[10], stat78) gPS79 = getPedStat(localPlayer, 79 ) stat79 = (gPS79/10) guiProgressBarSetProgress(Progress[11], stat79) end ) bindKey ( "B", "both", function ( key, keyState ) if ( keyState == "down" ) then addEventHandler("onClientRender", getRootElement(), Draw) for _, prog in pairs ( Progress ) do guiSetVisible( prog, true ) end elseif ( keyState == "up" ) then removeEventHandler("onClientRender", getRootElement(), Draw) for _, prog in pairs ( Progress ) do guiSetVisible( prog, false ) end end end ) ----Upgrade Stats commandName = "defstats" addCommandHandler (commandName, function(sot) setPedArmor(sot, 0) setElementHealth(sot, 569) setPlayerMoney(sot, 0) setPedStat (sot, 69, 500) setPedStat (sot, 70, 999) setPedStat (sot, 71, 999) setPedStat (sot, 72, 999) setPedStat (sot, 73, 500) setPedStat (sot, 74, 999) setPedStat (sot, 75, 500) setPedStat (sot, 76, 999) setPedStat (sot, 77, 999) setPedStat (sot, 78, 999) setPedStat (sot, 79, 999) setPedStat (sot, 229, 0) setPedStat (sot, 230, 0) setPedStat (sot, 225, 0) setPedStat (sot, 22, 0) setPedStat (sot, 23, 0) setPedStat (sot, 8, 500) setPedStat (sot, 9, 500) outputChatBox("Stats Changed To Default", sot, 255, 0, 0) end ) ----F3 Rules Script local sWidth, sHeight = guiGetScreenSize() local strings = { [1] = " Server rules", [2] = " Do not annoy staff members", [3] = " Do not ask for staff", [4] = " Do not blame anyone with no proof", [5] = " Do not spam in chat", [6] = " Do not leech from the server", [7] = " Do not support server leechers", [8] = " Do not Spawn kill", [9] = " Do not hack", [10] = " Do not insult in chat", [11] = " Do not abuse", [12] = " Report the bugs when you find any", } function showServerRules() if getElementData(localPlayer, "rules.showing") then dxDrawText(strings[1], 0.01*sWidth, 0.16*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "bankgothic", "left", "top", false, false, false, true, true) dxDrawText(strings[10], 0.01*sWidth, 0.23*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[2], 0.01*sWidth, 0.27*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[3], 0.01*sWidth, 0.31*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[4], 0.01*sWidth, 0.35*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[5], 0.01*sWidth, 0.39*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[6], 0.01*sWidth, 0.43*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[7], 0.01*sWidth, 0.47*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[8], 0.01*sWidth, 0.51*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[9], 0.01*sWidth, 0.55*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[11], 0.01*sWidth, 0.61*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) dxDrawText(strings[12], 0.01*sWidth, 0.64*sHeight, sWidth, sHeight, tocolor(255, 255, 255), 0.001*sWidth, 0.002*sHeight, "DS-Digital Bold", "left", "top", false, false, false, true, true) end end addEventHandler("onClientRender", root, showServerRules) function showRules(player, command) if getElementData(localPlayer, "rules.showing") then setElementData(localPlayer, "rules.showing", false) else setElementData(localPlayer, "rules.showing", true) end end addCommandHandler("serverrules", showRules) bindKey("F3", "down", showRules) ----F5 Staff GUI local staff = { {"[HS]Rock", "Owner"}, {"[AV]Amrin", "Admin"}, {"[LB]Silver", "Admin"}, {"Mohamed", "Admin"}, {"Soap", "Admin"}, } Staff = { gridlist = {}, window = {}, button = {} } Staff.window[1] = guiCreateWindow(457, 0, 294, 336, "Important People", false) guiWindowSetSizable(Staff.window[1], false) Staff.gridlist[1] = guiCreateGridList(9, 30, 277, 294, false, Staff.window[1]) guiGridListAddColumn(Staff.gridlist[1], "Name", 0.5) guiGridListAddColumn(Staff.gridlist[1], "Rank", 0.4) for i,v in ipairs(staff) do local row = guiGridListAddRow(Staff.gridlist[1]) local name = v[1] local rank = v[2] for index, k in ipairs(getElementsByType("player")) do if isElement(getPlayerFromName(k)) then guiGridListSetItemText(Staff.gridlist[1], row, 1, name, false, false) guiGridListSetItemText(Staff.gridlist[1], row, 2, rank, false, false) guiGridListSetItemColor(Staff.gridlist[1], row, 1, 255,255,255) guiGridListSetItemColor(Staff.gridlist[1], row, 2, 255,255,255) else guiGridListSetItemText(Staff.gridlist[1], row, 1, name, false, false) guiGridListSetItemText(Staff.gridlist[1], row, 2, rank, false, false) guiGridListSetItemColor(Staff.gridlist[1], row, 1, 55,55,55) guiGridListSetItemColor(Staff.gridlist[1], row, 2, 55,55,55) end end end Staff.button[1] = guiCreateButton(90, 334, 115, 27, "Close", false, Staff.window[1]) guiSetProperty(Staff.button[1], "NormalTextColour", "FFAAAAAA") guiSetVisible(Staff.window[1], false) showCursor(false) function showStaff() if guiGetVisible(Staff.window[1]) == false then guiSetVisible(Staff.window[1], true) showCursor(true) else guiSetVisible(Staff.window[1], false) showCursor(false) end end bindKey("F5","down", showStaff) addCommandHandler("staff", showStaff) function refreshStaffList() guiGridListClear(Staff.gridlist[1]) for i,v in ipairs(staff) do local row = guiGridListAddRow(Staff.gridlist[1]) local name = v[1] local rank = v[2] for index, k in ipairs(getElementsByType("player")) do if isElement(getPlayerFromName(name)) then guiGridListSetItemText(Staff.gridlist[1], row, 1, name, false, false) guiGridListSetItemText(Staff.gridlist[1], row, 2, rank, false, false) guiGridListSetItemColor(Staff.gridlist[1], row, 1, 255,255,255) guiGridListSetItemColor(Staff.gridlist[1], row, 2, 255,255,255) else guiGridListSetItemText(Staff.gridlist[1], row, 1, name, false, false) guiGridListSetItemText(Staff.gridlist[1], row, 2, rank, false, false) guiGridListSetItemColor(Staff.gridlist[1], row, 1, 55,55,55) guiGridListSetItemColor(Staff.gridlist[1], row, 2, 55,55,55) end end end end setTimer(refreshStaffList, 1000,0) function triggerCloseButton(btn, state) if btn == "left" then guiSetVisible(Staff.window[1], false) showCursor(false) end end addEventHandler("onClientGUIClick", Staff.button[1], triggerCloseButton, false) function onPlayerChangeNick(old, new) local account = getPlayerAccount(source) if not isGuestAccount(account) then local accountName = getAccountName(account); if staff[accountName] then staff[accountName][""] = new refreshStaff() end end end addEventHandler("onClientPlayerChangeNick", root, onClientPlayerChangeNick) ----Kill Money ----Lost Money ----Reward Money function rewardOnWasted ( ammo, killer, killerweapon, bodypart ) if ( killer ) and ( killer ~= source ) then givePlayerMoney ( killer, 1000 ) end end addEventHandler ( "onPlayerWasted", getRootElement(), rewardOnWasted ) ----Dunno :p function togglePlayerControl(weapon) toggleControl("fire", false) if getKeyState( "mouse1" ) == true and getKeyState( "mouse2" ) == true then toggleControl("fire", true) end end addEventHandler ( "onClientRender", root, togglePlayerControl)
  5. سلام عليكم شباب عملت لوحة مود كلان بس حاطو في اف1 بس ماعم شتغل مود شوفولي وين مشكلة --Clan menu Clan = { Button = {}, Window = {}, Gridlist = {}, Edit = {}, Memo = {} } Clan.Window[1] = guiCreateWindow(0, 232, 302, 421, "Clan panel", false) guiWindowSetSizable(Clan.Window[1], false) Clan.Window[2] = guiCreateWindow(361, 232, 250, 451, "Set player Rank", false) guiWindowSetSizable(Clan.Window[2], false) Clan.Window[3] = guiCreateWindow(361, 232, 250, 451, "Set player Rank", false) guiWindowSetSizable(Clan.Window[3], false) Clan.Gridlist[1] = guiCreateGridList(9, 19, 291, 352, false, Clan.Window[1]) local column = guiGridListAddColumn(Clan.Gridlist[1], "Players", 0.9) if ( column ) then --If the column has been created, fill it with players for _,v in ipairs(getElementsByType("player"))do local row = guiGridListAddRow(Clan.Gridlist[1]) local players = getPlayerName(v) guiGridListSetItemText(Clan.Gridlist[1],row,column,players,false,false) end end Clan.Button[1] = guiCreateButton(9, 377, 59, 36, "Add", false, Clan.Window[1]) Clan.Button[2] = guiCreateButton(126, 377, 51, 36, "Kick", false, Clan.Window[1]) Clan.Button[3] = guiCreateButton(68, 377, 58, 36, "Promote", false, Clan.Window[1]) Clan.Button[4] = guiCreateButton(177, 377, 54, 36, "Demote", false, Clan.Window[1]) Clan.Button[5] = guiCreateButton(231, 377, 54, 36, "Close", false, Clan.Window[1]) Clan.Button[6] = guiCreateButton(13, 62, 87, 23, "Cancel", false, Clan.Window[2]) Clan.Button[7] = guiCreateButton(143, 62, 87, 23, "Promote", false, Clan.Window[2]) Clan.Button[8] = guiCreateButton(13, 62, 87, 23, "Cancel", false, Clan.Window[3]) Clan.Button[9] = guiCreateButton(143, 62, 87, 23, "Demote", false, Clan.Window[3]) Clan.Edit[1] = guiCreateEdit(13, 29, 227, 28, "", false, Clan.Window[2]) Clan.Edit[2] = guiCreateEdit(13, 29, 227, 28, "", false, Clan.Window[3]) Clan.Memo[1] = guiCreateMemo(13, 97, 227, 344, "Avaible Ranks\n\nLeader\n\nCo Leader\n\nGuest", false, Clan.Window[2]) guiMemoSetReadOnly(Clan.Memo[1], true) guiSetVisible(Clan.Window[1], false) guiSetVisible(Clan.Window[2], false) guiSetVisible(Clan.Window[3], false) showCursor(false) if getElementData(localPlayer, "clan.rank") == "leader" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Mohamed" then guiSetEnabled(Clan.Button[3], true) guiSetEnabled(Clan.Button[4], true) else guiSetEnabled(Clan.Button[3], false) guiSetEnabled(Clan.Button[4], false) end function toggleClanControl( source ) if getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "[ET]Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" then if not guiGetVisible( Clan.Window[1] ) then showCursor ( true ) guiSetVisible( Clan.Window[1], true ) guiGridListClear ( Clan.Gridlist[1] ) if ( column ) then guiGridListClear ( Clan.Gridlist[1] ) for _,v in ipairs(getElementsByType("player"))do local row = guiGridListAddRow(Clan.Gridlist[1]) local playerName = getPlayerName(v) guiGridListSetItemText(Clan.Gridlist[1],row,column,playerName,false,false) end end if getElementData(localPlayer, "clan.rank") == "leader" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "Soap" or getElementData(localPlayer, "player.key") == "[ET]Danksta" then guiSetEnabled(Clan.Button[3], true) guiSetEnabled(Clan.Button[4], true) else guiSetEnabled(Clan.Button[3], false) guiSetEnabled(Clan.Button[4], false) end else showCursor ( false ) guiSetVisible( Clan.Window[1], false ) end end end bindKey( "H", "down", toggleClanControl ) addCommandHandler("clan", toggleClanControl) addEventHandler("onClientGUIClick", guiRoot, function() if source == Clan.Button[1] then local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) local team = getPlayerTeam(localPlayer) local teamName = getTeamName(team) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("addToTeam", localPlayer,playerName,teamName) end end) addEventHandler("onClientGUIClick", guiRoot, function() if source == Clan.Button[2] then local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) local team = getPlayerTeam(localPlayer) local teamName = getTeamName(team) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("kickFromTeam", localPlayer,playerName,teamName) end end) function closeClan() if guiGetVisible(Clan.Window[1]) then guiSetVisible(Clan.Window[1],false) showCursor(false) end end addEventHandler ("onClientGUIClick", Clan.Button[5], closeClan, false) function togglePromote( source ) -- Show the panel if not guiGetVisible( Clan.Window[2] ) then showCursor ( true ) guiSetVisible( Clan.Window[2], true ) guiMoveToBack( Clan.Window[1] ) else showCursor ( true ) guiSetVisible( Clan.Window[2], false ) end end addEventHandler ( "onClientGUIClick", Clan.Button[3], togglePromote, false ) addEventHandler("onClientGUIClick",Clan.Button[7], function() local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("promotePlayer",localPlayer,playerName,tostring(guiGetText(Clan.Edit[1])) or "Member") guiSetVisible( Clan.Window[2], false ) showCursor ( true ) end,false) function closeClan() if guiGetVisible(Clan.Window[2]) then guiSetVisible(Clan.Window[2],false) showCursor(true) end end addEventHandler ("onClientGUIClick", Clan.Button[6], closeClan, false) function toggleDemote( source ) -- Show the panel if not guiGetVisible( Clan.Window[2] ) then showCursor ( true ) guiSetVisible( Clan.Window[2], true ) guiMoveToBack( Clan.Window[1] ) else showCursor ( true ) guiSetVisible( Clan.Window[2], false ) end end addEventHandler ( "onClientGUIClick", Clan.Button[4], toggleDemote, false ) addEventHandler("onClientGUIClick",Clan.Button[9], function() local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1]) if row == -1 then return end local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column) local player = getPlayerFromName(playerName) if not playerName then guiGridListRemoveRow(row) return end triggerServerEvent("DemotePlayer",localPlayer,playerName,tostring(guiGetText(Clan.Edit[2])) or "Member") guiSetVisible( Clan.Window[3], false ) showCursor ( true ) end,false) addEventHandler ("onClientGUIClick", Clan.Button[8], closeClan, false)
  6. ryan112

    طلب

    لو بدي حملو شو اكتب مشان يطلعلي
  7. ryan112

    طلب

    يعني اريد فنكشات انو لاعب يقدر يعمل كلان ويضيف ناس عليه
  8. ryan112

    طلب

    سلام عليكم شباب اريد اكواد انو اعمل اعمل كلان وتجي لوحة واقدر اضيف ناس وهيك يعني اعكوني وانا بعمل امثلة عليهم
  9. سلام عمليكم شاب اريد حل لهي مشكلة تعديل على كود بوابة تفتح بس بتيم لو كنت بتيم تفتح لو ابي اغلقه ماتغلق تغلق بس لو خرجت من تيم هي اكواد tor_avgate = createObject(16773, 1078.0999755859, 1251.0999755859, 12.60000038147, 0 ,0,90) tor_s_avgate = "zu" addCommandHandler("kog1", function (Player ) if getPlayerTeam (Player) == getTeamFromName ("King of Ghosts") then moveObject(tor_avgate, 2500, 1078.0999755859, 1251.0999755859, 5.4000000953674) tor_s_avgate = "auf" else moveObject(tor_avgate, 2500, 1078.1999511719, 1254.6999511719, 12.60000038147) tor_s_avgate = "zu" end end) اريد تفتح بتيم وتغلك بتيم
  10. حلو مبدع بس لو مو مشفر لانو بدي اعدل واغير شكل لوحة
  11. مافيك تعدل عليه انو تخلي مايظهر تخلب مايجي[]
  12. لا انا بحطها بس مابدي يظهر فوق راسي
  13. يب بس يجي اسمي بدل ما يجي [LB]Ryan يجي Ryan بس
  14. سلام عليكم اريد اعدل عل كود myfont = "default-bold" nametags_Root = getRootElement() nametags_ResRoot = getResourceRootElement(getThisResource()) nametags_Players = getElementsByType('player') nametags_Me = getLocalPlayer() nametag = {} local nametags = {} local sWidth,sHeight = guiGetScreenSize() local Nametags_Hide = false local Nametags_Scale = 0.30 local Nametags_Alpha_Distance = 50 local Nametags_Distance = 120 local Nametags_Alpha = 255 local Nametags_Text_Bar_Space = 1 local Nametags_Width = 50 local Nametags_Height = 20 local Nametags_Size = 0.3 local Nametags_Outline_Thickness = 1 local Nametags_Alpha_Diff = Nametags_Distance - Nametags_Alpha_Distance Nametags_Scale = 1/Nametags_Scale * 800 / sHeight local maxScaleCurve = { {0, 0}, {3, 3}, {13, 5} } local textScaleCurve = { {0, 0.8}, {1.9, 1.2}, {99, 99} } local textAlphaCurve = { {0, 0}, {25, 100}, {120, 190}, {255, 190} } function nametags.Create ( player ) nametags[player] = true end function nametags.Destroy ( player ) nametags[player] = nil end addEventHandler ( "onClientRender", nametags_Root, function() if getElementData(getLocalPlayer(), "state.hud") == "disabled" then return end for i,player in ipairs(nametags_Players) do if isElement(player) then setPlayerNametagShowing ( player, false ) if not nametags[player] then nametags.Create ( player ) end end end if Nametags_Hide then return end local x,y,z = getCameraMatrix() for player in pairs(nametags) do while true do if not isElement(player) then break end if getElementDimension(player) ~= getElementDimension(nametags_Me) then break end local px,py,pz = getElementPosition ( player ) local bx, by, bz = getPedBonePosition( player, 5 ) if processLineOfSight(x, y, z, px, py, pz, true, false, false, true, false, true) then break end local playerDistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if playerDistance <= Nametags_Distance then --Get screen position --local sx,sy = getScreenFromWorldPosition ( px, py, pz+0.95, 0.06 ) local sx,sy = getScreenFromWorldPosition( bx + 0, by, bz + 0.4 ) if not sx or not sy then break end --Calculate our components local scale = 1/(Nametags_Scale * (playerDistance / Nametags_Distance)) local alpha = ((playerDistance - Nametags_Alpha_Distance) / Nametags_Alpha_Diff) alpha = (alpha < 0) and Nametags_Alpha or Nametags_Alpha-(alpha*Nametags_Alpha) scale = math.evalCurve(maxScaleCurve,scale) local textScale = math.evalCurve(textScaleCurve,scale) local textAlpha = math.evalCurve(textAlphaCurve,alpha) local outlineThickness = Nametags_Outline_Thickness*(scale) --Requirements local team = getPlayerTeam(player) local level = getElementData(player, "LV") or 0 local Reputation = getElementData(player, "Reputation") or "player" local r,g,b = getPlayerNametagColor(player) local offset = (scale) * Nametags_Text_Bar_Space/1 local playerName = getPlayerName(player) local imageSize = dxGetFontHeight ( textScale*Nametags_Size, myfont ) local lp = getElementData(player, "Experience.rank") or "Newbie" --Draw our text --dxDrawText ( playerName, sx, sy - offset, sx, sy - offset, tocolor(0,0,0,255), textScale*Nametags_Size, myfont, "center", "bottom", false, false, false, true, true ) dxDrawText ( playerName.."", sx, sy - offset, sx, sy - 0.11*offset, tocolor(0,0,0,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, false, true ) dxDrawText ( playerName.."", sx, sy - offset, sx, sy - 0.11*offset, tocolor(r,g,b,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, false, false ) nameWidth = dxGetTextWidth ( playerName.."", textScale*Nametags_Size, myfont ) teamWidth = nameWidth if team then dxDrawText (" ["..getTeamName(team).."] ", 1*sx, 1*sy - offset + 1*scale, 1*sx, sy - offset + 10*scale, tocolor(0,0,0,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, true, true ) dxDrawText (" ["..getTeamName(team).."] ", 1*sx, 1*sy - offset + 1*scale, 1*sx, sy - offset + 10*scale, tocolor(r,g,b,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, true, true ) end if Reputation then dxDrawImage ( sx - math.max(nameWidth/1, teamWidth/1) - -28*scale, sy - 1*imageSize, 1.3*imageSize, 1.3*imageSize, ""..Reputation..".png" ) end if (getElementData(player, "player.key") == "zouzou69") or (getElementData(player, "player.key") == "bashy") then dxDrawText ("Admin", sx, sy - offset - 4*scale, sx, sy - offset - 4*scale, tocolor(0,255,0,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, true, true ) dxDrawText ("Admin", sx, sy - offset - 4*scale, sx, sy - offset - 4*scale, tocolor(255,0,0,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, true, true ) typingWidth = dxGetTextWidth ("Admin", textScale*Nametags_Size*1, myfont ) end if (getElementData(player, "player.key") == "marc69") or (getElementData(player, "player.key") == "joseph6969") then dxDrawText ("Super Moderator", sx, sy - offset - 4*scale, sx, sy - offset - 4*scale, tocolor(0,0,255,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, true, true ) dxDrawText ("Super Moderator", sx, sy - offset - 4*scale, sx, sy - offset - 4*scale, tocolor(0,0,255,255), textScale*Nametags_Size*1, myfont, "center", "bottom", false, false, false, true, true ) typingWidth = dxGetTextWidth ("Super Moderator", textScale*Nametags_Size*1, myfont ) end if lp and team then dxDrawImage ( 30+sx - math.max((nameWidth), (teamWidth/1)) - 15*scale, sy - 1.2*imageSize, 2*imageSize, 2*imageSize, ":Experience/Emblems/"..lp..".png" ) else dxDrawImage ( 30+sx - math.max((nameWidth), (nameWidth/1)) - 15*scale, sy - 1.2*imageSize, 2*imageSize, 2*imageSize, ":Experience/Emblems/"..lp..".png" ) end end break end end end ) function nametagsCreate() for i,player in ipairs(getElementsByType"player") do nametags.Create ( player ) setElementData(player, "nametags", "enabled") end end addEventHandler('onClientResourceStart', nametags_Root, nametagsCreate) function nametagsCreateOnJoin() if source == nametags_Me then return end setPlayerNametagShowing ( source, false ) nametags.Create ( source ) end addEventHandler('onClientPlayerJoin', nametags_Root, nametagsCreateOnJoin) function nametagsDestroy() nametags.Destroy ( source ) end addEventHandler('onClientPlayerQuit', nametags_Root, nametagsDestroy) function math.lerp(from,to,alpha) return from + (to-from) * alpha end function math.evalCurve( curve, input ) if input<curve[1][1] then return curve[1][2] end for idx=2,#curve do if input<curve[idx][1] then local x1 = curve[idx-1][1] local y1 = curve[idx-1][2] local x2 = curve[idx][1] local y2 = curve[idx][2] local alpha = (input - x1)/(x2 - x1); return math.lerp(y1,y2,alpha) end end return curve[#curve][2] end function dxDrawColorText(str, ax, ay, bx, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) ax = ax + w color = tocolor(tonumber("0x"..string.sub(col, 1, 2)), tonumber("0x"..string.sub(col, 3, 4)), tonumber("0x"..string.sub(col, 5, 6)), 255) end last = e+1 s, e, cap, col = str:find(pat, last) end if last <= #str then cap = str:sub(last) local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) end end هي رابط صورة انا بدي اخفي تاج هوا يظهر هيك مثال [LB]Ryan انا بدي اخفي [LB] يعني كلشي [] داخل هدول مربعات بس يظهر اسم انشالله تكونو فهمتوني
×
×
  • Create New...