Sign in to follow this  
mucuk6547

He doesn't drop a bullet instead of a bullet.

Recommended Posts

 

 

bomb throws bullets type how do i codes below

SERVER:

function ExplosionAmmo ( hitX, hitY, hitZ, Texp )
			createExplosion ( hitX, hitY, hitZ, Texp, source )
end
addEvent( "ExplosiveAmmo", true )
addEventHandler( "ExplosiveAmmo", root, ExplosionAmmo )


function ExplosiveLaser (muzzleX, muzzleY, muzzleZ, hmx, hmy, hmz, colorR, colorG, colorB)
			for x,p in ipairs(getElementsByType("player")) do
				if p ~= source then
					triggerClientEvent ("DrawLaserForAll", p, muzzleX, muzzleY, muzzleZ, hmx, hmy, hmz, colorR, colorG, colorB)
				end
			end
end
addEvent( "ExplosiveLaser", true )
addEventHandler( "ExplosiveLaser", root, ExplosiveLaser )

Client:

reloadTime = 2000 		-- for Hunter
range = 2 				-- To increase range, set this value to 1. To decrease range, use 3. My code is optimized for 2.

event = nil
fired = false
drawHandler = nil
armedVehicles = {[601]=true}
w, h = guiGetScreenSize()
height = nil
endY = nil
r, g = 255, 0
time = 0
local hmx, hmy, hmz 

function getPositionFromElementOffset(element,offX,offY,offZ)
	local m = getElementMatrix ( element )  -- Get the matrix
	local x = offX * m[1][1] + offY * m[2][1] + offZ * m[3][1] + m[4][1]
	local y = offX * m[1][2] + offY * m[2][2] + offZ * m[3][2] + m[4][2]
	local z = offX * m[1][3] + offY * m[2][3] + offZ * m[3][3] + m[4][3]
	return x, y, z
end

function onStart()
	height = math.ceil(h / 50)
	if height < 19 then
		height = 19
	end
	endY = math.ceil((h/100)*6)
	corona = createMarker (0, 0, -10, "corona", 1.0, 200, 100, 0, 150)
	bindKey ( "mouse1", "down", toggleHunter )
	color = tocolor(255, 255, 255, 200)
end
addEventHandler("onClientResourceStart", resourceRoot, onStart)

function entering( thePlayer, seat )
if thePlayer == localPlayer then
	toggleControl ( "vehicle_fire", true )
	toggleControl ( "vehicle_secondary_fire", true )
	local model = getElementModel ( source )
	if model == 601 then
		drawHandler = addEventHandler("onClientRender", root, reloadFinished)
	end
	if model == 601 then
		toggleControl ( "vehicle_fire", false )
		toggleControl ( "vehicle_secondary_fire", false )
		addEventHandler("onClientRender", root, marker)
		event = true
    end
end
end
addEventHandler("onClientVehicleEnter", getRootElement(), entering)

function exit( thePlayer, seat )
if thePlayer == localPlayer then
	local model = getElementModel ( source )
	if model == 601 then
		if event ~= nil then
			removeEventHandler("onClientRender", root, marker)
			event = nil
		end
		toggleControl ( "vehicle_fire", true )
		toggleControl ( "vehicle_secondary_fire", true )
	end
end
end
addEventHandler("onClientVehicleExit", getRootElement(), exit)

addEventHandler("onClientElementDestroy", getRootElement(), function ()
if (getElementModel(source) == 601 and getVehicleController(source) == localPlayer) then
	if event ~= nil then
		removeEventHandler("onClientRender", root, marker)
		event = nil
	end
	toggleControl ( "vehicle_secondary_fire", true )
end
end)

function wasted()
	if source == localPlayer then
		if event ~= nil then
			removeEventHandler("onClientRender", root, marker)
			event = nil
		end
		toggleControl ( "vehicle_fire", true )
		toggleControl ( "vehicle_secondary_fire", true )
	end
end
addEventHandler ( "onClientPlayerWasted", getLocalPlayer(), wasted )

function clientResourceStop()
	toggleControl ( "vehicle_fire", true )
	toggleControl ( "vehicle_secondary_fire", true )
end
addEventHandler( "onClientResourceStop", getResourceRootElement(getThisResource()), clientResourceStop )

local muzzleX, muzzleY, muzzleZ
local turX, turY, turZ
function toggleHunter()
if fired == false then
	if isPedInVehicle ( localPlayer ) and not isCursorShowing() then
		local veh = getPedOccupiedVehicle ( localPlayer )
		if (veh) then
			if ( getElementModel ( veh ) == 601 ) then
				fired = true
				turX, turY, turZ = getElementPosition(veh)
				local cx,cy,cz = getVehicleComponentPosition( veh, "misc_a" )
				local x, y, z = getVehicleComponentPosition( veh, "misc_c" )
				local barrelX, barrelY, barrelZ = getPositionFromElementOffset(veh,cx,cy,cz)
				muzzleX, muzzleY, muzzleZ = getPositionFromElementOffset(veh,x,y,z)
				local velX = (muzzleX - barrelX) /range
				local velY = (muzzleY - barrelY) /range
				local velZ = (muzzleZ - barrelZ) /range
				local vx, vy, vz = getElementVelocity(veh)
				setElementVelocity (veh, vx+(((velX/3)*(-1))/50), vy+(((velY/3)*(-1))/50), vz+(((velZ/3)*(-1))/50) )
				addEventHandler("onClientRender", root, drawLine)

				removeEventHandler("onClientRender", root, reloadFinished)
				drawHandler = nil
				start = getTickCount()
				drawHandler = addEventHandler("onClientRender", root, reload)
				time = 2000
				soundTimer = setTimer(function() 
					local sound = playSound("LaserSound.wav")
					setSoundVolume(sound, 1)
					end,
				50, 1)
			end
		end
	end
end
end

local colorR, colorG, colorB = 255, 0, 0

function colorsLasersHunter (command, dataR, dataG, dataB)
	if dataR and dataG and dataB then
		if (type(tonumber(dataR)) == "number") and (type(tonumber(dataG)) == "number") and (type(tonumber(dataB)) == "number") then
			if tonumber(dataR) then
				if tonumber(dataR) >= 0 and  tonumber(dataR) <= 255 then
					colorR = tonumber(dataR)
				end
			end
			if tonumber(dataG) then
				if tonumber(dataG) >= 0 and  tonumber(dataG) <= 255 then
					colorG = tonumber(dataG)
				end
			end
			if tonumber(dataB) then
				if tonumber(dataB) >= 0 and  tonumber(dataB) <= 255 then
					colorB = tonumber(dataB)
				end
			end
		end
	end
end
addCommandHandler ("SClaser", colorsLasersHunter)

								local Texp = 2
								function drawLine()  
										dxDrawLine3D ( muzzleX, muzzleY, muzzleZ, hmx, hmy, hmz, tocolor ( colorR, colorG, colorB, 255 ), 10)
										triggerServerEvent ( "ExplosiveAmmo", localPlayer, hmx, hmy, hmz, Texp )
										triggerServerEvent ( "ExplosiveLaser", localPlayer, muzzleX, muzzleY, muzzleZ, hmx, hmy, hmz, colorR, colorG, colorB )
										removeEventHandler("onClientRender", root, drawLine)
								end
								
								addEvent ("DrawLaserForAll", true)
								function DrawLaserForAllPlayers (xi, yi, zi, xf, yf, zf, crL, cgL, cbL)
										dxDrawLine3D ( xi, yi, zi, xf, yf, zf, tocolor ( crL, cgL, cbL, 255 ), 10)
										soundTimer2 = setTimer(		function() 
																		local sound = playSound3D("LaserSound.wav", xf, yf, zf, true)
																		setSoundVolume(sound, 4)
																		setTimer (function () if sound then stopSound ( sound ) end end, 500, 1)
																	end, 50, 1)				
								end
								addEventHandler ("DrawLaserForAll", getLocalPlayer(), DrawLaserForAllPlayers)

function reload()
if not isPedInVehicle(localPlayer) then
	removeEventHandler("onClientRender", root, reload)
	drawHandler = nil
end
setMarkerColor ( corona, 255, 0, 0, 100 )
local getTime = (getTickCount()) - start
local height = math.ceil(h / 50)
if height < 19 then
	height = 19
end
dxDrawRectangle (0, h-endY-height-6, height+6, endY, tocolor(0,0,0,150), false)
local endY = math.ceil((h/100)*6)
endY = endY - 4
	if getTime <= time then
		endY = (getTime/time)*endY
	else
		removeEventHandler("onClientRender", root, reload)
		drawHandler = nil
		drawHandler = addEventHandler("onClientRender", root, reloadFinished)
		if getElementModel(getPedOccupiedVehicle(localPlayer)) ~= 425 then
			local sfx = playSFX ( "genrl", 136, 72 )
			setSoundVolume (sfx, 1)
		end
		setMarkerColor ( corona, r, g, 0, 150 )
		start = nil
		fired = false
	end
	dxDrawRectangle (2, h-endY-height-8, height+2, endY, tocolor(220,0,0,150), false)
end

function reloadFinished()
if not isPedInVehicle(localPlayer) then
	removeEventHandler("onClientRender", root, reloadFinished)
	drawHandler = nil
else
	dxDrawRectangle (0, h-endY-height-6, height+6, endY, tocolor(0,0,0,150), false)
	dxDrawRectangle (2, h-endY-height-4, height+2, endY-4, tocolor(220,0,0,150), false)
end
end

function marker()
if not isPedInVehicle(localPlayer) then
	removeEventHandler("onClientRender", getRootElement(), marker)
	if isTimer(soundTimer) then
		killTimer(soundTimer)
	end
	fired = false
	drawHandler = nil
	setElementPosition (corona, 0, 0, -10)
else
	local vx, vy, vz = nil, nil, nil
	local cx, cy, cz = nil, nil, nil
	local veh = getPedOccupiedVehicle ( localPlayer )
	if veh then
		local x, y, z = getVehicleComponentPosition( veh, "misc_a" )
		cx, cy, cz = getPositionFromElementOffset( veh, x, y, z )
		x, y, z = getVehicleComponentPosition( veh, "misc_c" )
		vx, vy, vz = getPositionFromElementOffset( veh, x, y, z )
		if vx ~= nil then
		local velX = (vx - cx) /range
		local velY = (vy - cy) /range
		local velZ = (vz - cz) /range
		
		local vx1, vy1 = cx + (velX * 50 * 0.1), cy + (velY * 50 * 0.1)
		local vx2, vy2 = cx + (velX * 50 * 0.2), cy + (velY * 50 * 0.2)
		local vx3, vy3 = cx + (velX * 50 * 0.3), cy + (velY * 50 * 0.3)
		local vx4, vy4 = cx + (velX * 50 * 0.5), cy + (velY * 50 * 0.5)
		local vx5, vy5 = cx + (velX * 50 * 0.6), cy + (velY * 50 * 0.6)
		local vx6, vy6 = cx + (velX * 50 * 0.7), cy + (velY * 50 * 0.7)
		local vx7, vy7 = cx + (velX * 50 * 0.8), cy + (velY * 50 * 0.8)

		local m1 = cz + (velZ * 50 * 0.1) - ((getGravity()*2400*0.01)/2)
		local m2 = cz + (velZ * 50 * 0.2) - ((getGravity()*2400*0.04)/2)
		local m3 = cz + (velZ * 50 * 0.3) - ((getGravity()*2400*0.09)/2)
		local m4 = cz + (velZ * 50 * 0.5) - ((getGravity()*2400*0.25)/2)
		local m5 = cz + (velZ * 50 * 0.6) - ((getGravity()*2400*0.36)/2)
		local m6 = cz + (velZ * 50 * 0.7) - ((getGravity()*2400*0.49)/2)
		local m7 = cz + (velZ * 50 * 0.8) - ((getGravity()*2400*0.64)/2)
		
		local hit, mx, my, mz, elementHit = processLineOfSight (cx, cy, cz, vx1, vy1, m1, true, true, true, true, true, false, false, false, veh)
		if hit == false then
			hit, mx, my, mz, elementHit = processLineOfSight (vx1, vy1, m1, vx2, vy2, m2, true, true, true, true, true, false, false, false, veh)
			if hit == false then
				hit, mx, my, mz, elementHit = processLineOfSight (vx2, vy2, m2, vx3, vy3, m3, true, true, true, true, true, false, false, false, veh)
				if hit == false then
					hit, mx, my, mz, elementHit = processLineOfSight (vx3, vy3, m3, vx4, vy4, m4, true, true, true, true, true, false, false, false, veh)
					if hit == false then
						hit, mx, my, mz, elementHit = processLineOfSight (vx4, vy4, m4, vx5, vy5, m5, true, true, true, true, true, false, false, false, veh)
						if hit == false then
							hit, mx, my, mz, elementHit = processLineOfSight (vx5, vy5, m5, vx6, vy6, m6, true, true, true, true, true, false, false, false, veh)
							if hit == false then
								hit, mx, my, mz, elementHit = processLineOfSight (vx6, vy6, m6, vx7, vy7, m7, true, true, true, true, true, false, false, false, veh)
								if hit == false then
									mx, my, mz = vx7, vy7, m7
								end
							end
						end
					end
				end
			end
		end
		local dist = getDistanceBetweenPoints3D ( vx, vy, vz, mx, my, mz )
		if dist < 50 then
			r = 5.1 * dist
			g = 255
		elseif dist >= 50 then
			r = 255
			g = 255 - ((dist-50) * 5.1)
		end
		hmx, hmy, hmz = mx, my, mz
		setElementPosition (corona, mx, my, mz)
		setMarkerColor ( corona, r, g, 0, 150 )
		if not drawHandler then
			drawHandler = addEventHandler("onClientRender", root, reloadFinished)
		end
	end
	end
end
end

PLS HELP

Share this post


Link to post

Ugh, can you explain better? I don't get your question.

Share this post


Link to post
9 hours ago, HassoN said:

Ugh, can you explain better? I don't get your question.

 

this script rhino also throws bombs how do you convert it to the type of bullets.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.