0 Üye ve 1 Ziyaretçi konuyu incelemekte.
local aInfos ={ -- x, y, z, text, [ color (формат rgba), distance, scale, font ] -- [ ] - необязательно { vecPos = { 2102.4501953125, -1803.880859375, 13.5546875 }, sText = "Şırdancı Ol", iColor = tocolor( 255, 255, 255, 255 ), fDistance = 95, fScale = 1.5, sFont = "default" }; };function Render() for _, Data in pairs( aInfos ) do local fPosX, fPosY, fPosZ = getElementPosition( localPlayer ); local fDataX, fDataY, fDataZ = unpack( Data.vecPos ); local fDistanceBetweenPoints = getDistanceBetweenPoints3D ( fPosX, fPosY, fPosZ,fDataX, fDataY, fDataZ ); local fInputDistance = Data.fDistance or 45; if fDistanceBetweenPoints < fInputDistance then local fCameraX, fCameraY, fCameraZ = getCameraMatrix(); local fWorldPosX, fWorldPosY = getScreenFromWorldPosition( fDataX, fDataY, fDataZ + 1, fInputDistance ); local bHit = processLineOfSight( fCameraX, fCameraY, fCameraZ, fDataX, fDataY, fDataZ, true, false, false, true, false, false, false, false ); if not bHit then if fWorldPosX and fWorldPosY then dxDrawText( Data.sText, fWorldPosX, fWorldPosY, fWorldPosX, fWorldPosY, Data.iColor, Data.fScale, Data.sFont ); end end end endendaddEventHandler( "onClientRender", root, Render );
local iMoney = 400; -- Деньги function DeleteBox( pElement ) local pObject = getElementData( pElement, "Job.Porter.Box" ); if pObject and isElement( pObject ) then destroyElement( pObject ); setElementData( pElement, "Job.Porter.Box", nil ); toggleControl( pElement, "jump", true ); toggleControl( pElement, "fire", true ); endendaddEventHandler( "onPlayerQuit", root, function() DeleteBox( source ); end);addEventHandler( "onResourceStart", resourceRoot, function() --loadMapFile( "sfj.map" ); local pVehicleJob = createVehicle( 456, 2129.744140625, -1789.50390625, 13.557584762573, 0, 0, 270 ); setElementFrozen( pVehicleJob, true ); setVehicleDamageProof( pVehicleJob, true ); local pPickupStartJob = createPickup( 2102.4501953125, -1803.880859375, 13.5546875, 3, 1275, 1, 1 ); addEventHandler( "onPickupHit", pPickupStartJob, function( pPlayer ) local Data = fromJSON( getAccountData( getPlayerAccount( pPlayer ), "Job.Porter" ) ); if not Data or Data.bState == false then setAccountData( getPlayerAccount( pPlayer ), "Job.Porter", toJSON( { skin = getElementModel( pPlayer ), bState = true } ) ); setElementModel( pPlayer, 155 ); outputChatBox( "*İş'i Kabul ettiniz..", pPlayer, 255, 255, 0 ); elseif Data and Data.bState == true then if getElementData( pPlayer, "Job.Porter.Box" ) then outputChatBox( "*İşe başladınız, arac'a malları yükledikten sonra devam edebilirsiniz.", pPlayer, 255, 255, 0 ); return; end local iSkinID = Data.skin; setElementModel( pPlayer, iSkinID ); setAccountData( getPlayerAccount( pPlayer ), "Job.Porter", toJSON( { skin = nil, bState = false } ) ); outputChatBox( "*İşi iptal ettiniz..", pPlayer, 255, 255, 0 ); end end ); --начинает действие local pMarkerGetBox = createMarker( 2098.21289, -1801.41394, 12.3828125, "cylinder", 1.5, 270, 100, 100 ); local fX, fY, fZ = getElementPosition( pMarkerGetBox ); local pColShapeGetBox = createColSphere( fX, fY, fZ, 2 ); addEventHandler( "onColShapeHit", pColShapeGetBox, function( pElement ) local pObject = getElementData( pElement, "Job.Porter.Box" ); if getElementType( pElement ) == "player" and ( not pObject or not isElement( pObject ) ) then local Data = fromJSON( getAccountData( getPlayerAccount( pElement ), "Job.Porter" ) ); if Data and Data.bState == true then --2969 setPedAnimation( pElement, "CARRY", "liftup", 1.0, false ); setTimer( function( pElement, pColShape ) setPedAnimation( pElement, nil ); setPedAnimation( pElement, "CARRY", "crry_prtial", 4.1, true, true, true ); local fX, fY, fZ = getElementPosition( pColShape ); local pObject = createObject( 1582, fX, fY, fZ ); exports.bone_attach:attachElementToBone( pObject, pElement, 4, 0, 0.4, - 0.6, -90, 0, 0 ); setElementData( pElement, "Job.Porter.Box", pObject ); toggleControl( pElement, "jump", false ); toggleControl( pElement, "fire", false ); end, 1000, 1, pElement, source ); end end end ); local pMarkerDropBox = createMarker( 2123.2734375, -1788.9189453125, 12.553246498108, "cylinder", 1.7, 255, 255, 255 ); -- local pMarkerDropBox = createPickup( 2105.59765625, -1786.2724609375, 13.560846328735, 1210) local fX, fY, fZ = getElementPosition( pMarkerDropBox ); local pColShapeDropBox = createColSphere( fX, fY, fZ, 2 ); addEventHandler( "onColShapeHit", pColShapeDropBox, function( pElement ) if getElementType( pElement ) == "player" and getElementData( pElement, "Job.Porter.Box" ) then setPedAnimation( pElement, "CARRY", "putdwn", 1.0, false, false, false, true ); setTimer( function( pElement ) DeleteBox( pElement ); exports.global:giveMoney(pElement, iMoney); setPedAnimation( pElement, "CARRY", "liftup", 0.0, false, false, false, false ); end, 1200, 1, pElement ); end end ); addEventHandler( "onPlayerWasted", root, function() DeleteBox( source ); end ); end);
exports.global:giveMoney()
givePlayerMoney(pElement,iMoney)