Fresku Posted September 7, 2012 Share Posted September 7, 2012 A script I never used to finish. It's working though... You can trigger it by triggering the event: client:showSpawnMenu SpawnC.lua: local classes = { [1]={name="Asian Gangster", location="San Fierro", skin=123, r=255, g=255, b=0, camx=-2193.1892, camy=609.5613, camz=35.1641, x=-2185.3618, y=609.2630, z=35.1641, rotz=91, locked=false}, [2]={name="Gangster", location="Los Santos", skin=115, r=200, g=0, b=0, camx=2090.4487, camy=-1806.4600, camz=13.5469, x=2098.1418, y=-1806.5272, z=13.5542, rotz=91, locked=false}, [3]={name="Gangster", location="Las Venturas", skin=115, r=200, g=0, b=0, camx=2504.7014, camy=1272.5519, camz=10.8125, x=2513.3313, y=1272.1747, z=10.8125, rotz=91, locked=false}, [4]={name="Gangster", location="San Fierro", skin=115, r=200, g=0, b=0, camx=-2650.6509, camy=1351.9685, camz=7.1874, x=-2654.8606, y=1356.3500, z=7.1082, rotz=211, locked=false}, [5]={name="Citizen", location="Los Santos", skin=0, r=255, g=200, b=0, camx=2080.0674, camy=-1768.3506, camz=13.5525, x=2074.3320, y=-1768.9489, z=13.5545, rotz=264, locked=false}, [6]={name="Citizen", location="Las Venturas", skin=0, r=255, g=200, b=0, camx=1549.4467, camy=2672.7546, camz=10.8203, x=1549.5360, y=2666.0066, z=10.8274, rotz=360, locked=false}, [7]={name="Citizen", location="San Fierro", skin=0, r=255, g=200, b=0, camx=-2631.7356, camy=922.4197, camz=71.9426, x=-2636.7900, y=932.1591, z=71.8688, rotz=210, locked=false}, [8]={name="Staff", location="Las Venturas", skin=217, r=255, g=255, b=0, camx=2477.5403, camy=2773.1514, camz=10.7346, x=2492.9961, y=2773.0344, z=10.8063, rotz=89, locked=true, team="Staff"} } local weapons = { ["Asian Gangster"]={5, 24, 26, 28, 30}, ["Gangster"]={5, 24, 26, 28, 30}, ["Citizen"]={7, 22, 32, 30, 18}, ["Staff"]={24, 31, 34, 35, 16} } local curr = 1 addEvent("client:showSpawnMenu", true) addEventHandler("client:showSpawnMenu", root, function(class) addEventHandler("onClientRender", root, drawSpawnInfo) bindKey("arrow_l", "down", switchPrevious) bindKey("arrow_r", "down", switchNext) bindKey("space", "down", switchSpawn) bindKey("enter", "down", spawn) updateClassPos(curr) end) function switchSpawn() end function switchNext(_, state) if state == "down" then curr = curr + 1 if curr > #classes then curr = 1 end outputChatBox(classes[curr].name) updateClassPos(curr) end end function switchPrevious(_, state) if state == "down" then curr = curr - 1 if curr < 1 then curr = #classes end outputChatBox(classes[curr].name) updateClassPos(curr) end end function spawn() if classes[curr].locked then if isPlayerInTeam(localPlayer, classes[curr].team) then normalSpawn() else outputChatBox("Only members of '"..classes[curr].team.."' are allowed to use this spawn!", 255, 0, 0) end else normalSpawn() end end function normalSpawn() removeEventHandler("onClientRender", root, drawSpawnInfo) unbindKey("arrow_l", "down", switchPrevious) unbindKey("arrow_r", "down", switchNext) unbindKey("enter", "down", spawn) outputChatBox("Spawned") if isElement(actor) then destroyElement(actor) end triggerServerEvent("server:spawnOptions", localPlayer, classes[curr].skin, weapons[classes[curr].name][1], weapons[classes[curr].name][2], weapons[classes[curr].name][3], weapons[classes[curr].name][4], weapons[classes[curr].name][5], classes[curr].x, classes[curr].y, classes[curr].z, classes[curr].rotz) end function updateClassPos(num) if not isElement(actor) then actor = createPed(classes[num].skin, classes[num].x, classes[num].y, classes[num].z) end local cx, cy, cz = classes[num].camx, classes[num].camy, classes[num].camz setPedRotation(actor, classes[num].rotz) setElementPosition(actor, classes[num].x, classes[num].y, classes[num].z) setElementModel(actor, classes[num].skin) setCameraMatrix(cx, cy, cz, classes[num].x, classes[num].y, classes[num].z) end function isPlayerInTeam(src, TeamName) if src and isElement ( src ) and getElementType ( src ) == "player" then local team = getPlayerTeam(src) if team then if getTeamName(team) == TeamName then return true else return false end end end end function drawSpawnInfo() local x, y, z = classes[curr].x, classes[curr].y, classes[curr].z local sx, sy = getScreenFromWorldPosition(x, y, z) if sx then dxDrawFramedText(classes[curr].name, sx+65, sy-50, 10, 10, tocolor(classes[curr].r, classes[curr].g, classes[curr].b, 255), tocolor(0, 0, 0, 255), 2, "default-bold") dxDrawFramedText(getZoneName(x, y, z, true).." (SPACE to change)", sx+65, sy, 10, 10, tocolor(255, 255, 255, 255), tocolor(0, 0, 0, 255), 1.5, "default-bold") dxDrawFramedText("Weapons:", sx+65, sy+25, 10, 10, tocolor(255, 255, 255, 255), tocolor(0, 0, 0, 255), 1.5, "default-bold") dxDrawFramedText("- "..getWeaponNameFromID(weapons[classes[curr].name][1]), sx+65, sy+50, 10, 10, tocolor(255, 255, 255, 255), tocolor(0, 0, 0, 255), 1.5, "default-bold") dxDrawFramedText("- "..getWeaponNameFromID(weapons[classes[curr].name][2]), sx+65, sy+75, 10, 10, tocolor(255, 255, 255, 255), tocolor(0, 0, 0, 255), 1.5, "default-bold") dxDrawFramedText("- "..getWeaponNameFromID(weapons[classes[curr].name][3]), sx+65, sy+100, 10, 10, tocolor(255, 255, 255, 255), tocolor(0, 0, 0, 255), 1.5, "default-bold") dxDrawFramedText("- "..getWeaponNameFromID(weapons[classes[curr].name][4]), sx+65, sy+125, 10, 10, tocolor(255, 255, 255, 255), tocolor(0, 0, 0, 255), 1.5, "default-bold") dxDrawFramedText("- "..getWeaponNameFromID(weapons[classes[curr].name][5]), sx+65, sy+150, 10, 10, tocolor(255, 255, 255, 255), tocolor(0, 0, 0, 255), 1.5, "default-bold") end end function dxDrawFramedText ( message , left , top , width , height , color , frameColor , scale , font , alignX , alignY , clip , wordBreak , postGUI ) color = color or tocolor ( 255 , 255 , 255 , 255 ) frameColor = frameColor or tocolor ( 0 , 0 , 0 , 255 ) scale = scale or 1 font = font or "default" alignX = alignX or "left" alignY = alignY or "top" clip = clip or false wordBreak = wordBreak or false postGUI = postGUI or false local sMessage = message : gsub ( "#%x%x%x%x%x%x" , "" ) dxDrawText ( sMessage , left + 1 , top + 1 , width + 1 , height + 1 , frameColor , scale , font , alignX , alignY , clip , wordBreak , false ) dxDrawText ( sMessage , left + 1 , top - 1 , width + 1 , height - 1 , frameColor , scale , font , alignX , alignY , clip , wordBreak , false ) dxDrawText ( sMessage , left - 1 , top + 1 , width - 1 , height + 1 , frameColor , scale , font , alignX , alignY , clip , wordBreak , false ) dxDrawText ( sMessage , left - 1 , top - 1 , width - 1 , height - 1 , frameColor , scale , font , alignX , alignY , clip , wordBreak , false ) dxDrawText ( message , left , top , width , height , color , scale , font , alignX , alignY , clip , wordBreak , false ) end SpawnS.lua: local ammo = { [9]={1}, [22]={170}, [25]={35}, [31]={300}, [39]={20}, [1]={1}, [5]={1}, [24]={77}, [26]={40}, [28]={200}, [30]={300}, [41]={1500}, [8]={1}, [23]={170}, [29]={240}, [34]={350}, [45]={1}, [2]={1}, [32]={350}, [37]={550}, [18]={15}, [3]={1}, [17]={15}, [42]={1500}, [16]={30}, [7]={1}, [35]={2} } addEvent("server:spawnOptions", true) addEventHandler("server:spawnOptions", root, function(skin, w1, w2, w3, w4, w5, x, y, z, rotz) spawnPlayer(source, x, y, z, rotz, skin) setElementInterior(source, 0) setElementDimension(source, 0) setCameraTarget(source, source) giveWeapon(source, w1, ammo[w1][1]) giveWeapon(source, w2, ammo[w2][1]) giveWeapon(source, w3, ammo[w3][1], true) giveWeapon(source, w4, ammo[w4][1]) giveWeapon(source, w5, ammo[w5][1]) end) Link to comment
Woovie Posted September 8, 2012 Share Posted September 8, 2012 Here's a YouTube video demoing it. The video may not work until about 30 minutes after me actually posting it. Link to comment
BorderLine Posted September 8, 2012 Share Posted September 8, 2012 how use lock teams? i mean, if you are in same team with same name than class you can make spawn? Link to comment
Fresku Posted September 8, 2012 Author Share Posted September 8, 2012 how use lock teams? i mean, if you are in same team with same name than class you can make spawn? You should trigger the event after the player logged in. So you can check if he's a member of a locked team. If so, you can set his team, which will allow him to use the 'locked' spawn. Link to comment
TwiX! Posted September 16, 2012 Share Posted September 16, 2012 https://community.multitheftauto.com/index.php?p= ... ls&id=1927 ... Link to comment
Fresku Posted September 16, 2012 Author Share Posted September 16, 2012 https://community.multitheftauto.com/index.php?p=resources&s=details&id=1927... Aye mate wrong location Link to comment
TwiX! Posted September 16, 2012 Share Posted September 16, 2012 are you dumb? check the link and your resource Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now