| 
				 | 
				
| Line 1: | 
Line 1: | 
 | {{Resource page}}
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | This resource lets You create some coronas. Not just your typical gtasa coronas 
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | that often times fail to appear. Since in this case corona Elements are created using
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | dxDrawMaterialLine3d MTA function. I have changed the behaviour of the material 
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | to act as cylindrical billboards do.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 |    |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi  | 
 | == Overview ==
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 |    |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | It is easy to use, gives a few options to manage coronas. 
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 |    |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | The resource itself adds exported clientside functions:
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 |    |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ==Exported functions==
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ====createCorona====
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | <section name="Client" class="client" show="true">
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | This function creates a shadered materialLine3d Corona.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | <syntaxhighlight lang="lua">coronaElement exports.custom_coronas:createCorona(float posX,posY,posZ,size,int colorR,colorG,colorB,colorA,[bool isSoftParticle = false])</syntaxhighlight> 
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ===Required Arguments=== 
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | *'''float posX, posY, posZ:''' Position in world space.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi  | 
 | *'''float size:''' Size of the corona.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | *'''int colorR,colorG,colorB,colorA:''' RGBA color (0 - 255).
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ===Optional Arguments===
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | *'''bool isSoftParticle:''' The aim with soft particles is to remove the ugly artifact that appears when the particle quad intersects the scene. The option requires DepthBuffer access.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ===Returns===
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | The function returns coronaElement if set successfully, false otherwise.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | </section>
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 |    |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ====createMaterialCorona====
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | <section name="Client" class="client" show="true">
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | This function creates a shadered materialLine3d Corona with a custom material.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | <syntaxhighlight lang="lua">coronaElement exports.custom_coronas:createMaterialCorona(element material,float posX,posY,posZ,size,int colorR,colorG,colorB,colorA,[bool isSoftParticle = false])</syntaxhighlight> 
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ===Required Arguments===
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi  | 
 | *'''element material:''' Material to replace the standard corona texture with.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | *'''float posX, posY, posZ:''' Position in world space.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | *'''float size:''' Size of the corona.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | *'''int colorR,colorG,colorB,colorA:''' RGBA color (0 - 255).
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ===Optional Arguments===
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | *'''bool isSoftParticle:''' The aim with soft particles is to remove the ugly artifact that appears when the particle quad intersects the scene. The option requires DepthBuffer access.
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi   | 
 | ===Returns===
  |  | Extrem liże hazowi dupsko a Barcioo liże cipsko Trinowi  | 
 | The function returns coronaElement if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====destroyCorona====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | This function destroys a shadered materialLine3d Corona element.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:destroyCorona(element coronaElement)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''element coronaElement:''' A previously declared corona element.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====setCoronaMaterial====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | This function sets custom material for the corona.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:setCoronaMaterial(element coronaElement,element material)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''element coronaElement:''' A previously declared corona element.
  |  | 
 | *'''element material:''' Material to replace the standard corona texture with.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====setCoronaSize====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | This function sets size of the corona.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:setCoronaSize(element coronaElement,float size)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''element coronaElement:''' A previously declared corona element.
  |  | 
 | *'''float size:''' Size of the corona.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====setCoronaSizeXY====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | This function sets size of the corona (width and height).
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:setCoronaSizeXY(element coronaElement,float width,height)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''element coronaElement:''' A previously declared corona element.
  |  | 
 | *'''float width, height:''' Size of the corona.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====setCoronaDepthBias====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | On createCorona the depthBias is set properly (0-1). You can however set other value depending on your needs. To see the results you'll need to set enableDepthBiasScale to true.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:setCoronaDepthBias(element coronaElement,float depthBiasValue)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''element coronaElement:''' A previously declared corona element.
  |  | 
 | *'''float depthBiasValue:''' depthBias value.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====setCoronaPosition====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | This function sets corona position.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:setCoronaPosition(element coronaElement,float posX,posY,posZ)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''element coronaElement:''' A previously declared corona element.
  |  | 
 | *'''float posX, posY, posZ:''' Position in world space.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====setCoronaColor====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | This function sets light color values.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:setCoronaColor(element coronaElement,float colorR,colorG,colorB,colorA)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''element coronaElement:''' A previously declared corona element.
  |  | 
 | *'''float colorR,colorG,colorB,colorA:''' RGBA color (0 - 255).
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====setCoronasDistFade====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | Set the Max distance of the corona to sync and the distance on which the it starts to fade out.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:setCoronasDistFade(int MaxEffectFade,int MinEffectFade)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''int MaxEffectFade:''' Set the Max distance of the corona to sync.(Must be greater than MinEffectFade).
  |  | 
 | *'''int MinEffectFade:''' Set the distance on which the corona starts to fade out.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ====enableDepthBiasScale====
  |  | 
 | <section name="Client" class="client" show="true">
  |  | 
 | Standard depthBias for GTASA coronas is about 1 unit, despite the corona scale. This function elables depthBias scaling.
  |  | 
 | <syntaxhighlight lang="lua">bool exports.custom_coronas:enableDepthBiasScale(bool isDepthScaleEnabled)</syntaxhighlight> 
  |  | 
 | ===Required Arguments=== 
  |  | 
 | *'''bool isDepthScaleEnabled:''' Enable/disable depthBias scaling.
  |  | 
 | ===Returns===
  |  | 
 | The function returns true if set successfully, false otherwise.
  |  | 
 | </section>
  |  | 
 |    |  | 
 | ==Examples== 
  |  | 
 | <syntaxhighlight lang="lua">function addStuff()
  |  | 
 | 	for i=1,30 do
  |  | 
 | 		for j=1,30 do
  |  | 
 | 			exports.custom_coronas:createCorona(i * 7,j * 7,10,4,math.random()*255,math.random()*255,math.random()*255,1*255,false) 
  |  | 
 | 		end	
  |  | 
 | 	end
  |  | 
 | end
  |  | 
 |    |  | 
 | addEventHandler("onClientResourceStart", getResourceRootElement( getThisResource()), addStuff)</syntaxhighlight>
  |  | 
 | This creates a 400 coronas near position (0,0,0)
  |  | 
 |    |  | 
 | <syntaxhighlight lang="lua">local vehicle1 = nil
  |  | 
 | addEventHandler("onClientVehicleEnter", getRootElement(),
  |  | 
 |     function(thePlayer, seat)
  |  | 
 |         if thePlayer == getLocalPlayer() then
  |  | 
 |             vehicle1 = source
  |  | 
 |         end
  |  | 
 |     end
  |  | 
 | )
  |  | 
 |    |  | 
 | local carLight = exports.custom_coronas:createCorona(0,0,0,4,math.random()*255,math.random()*255,math.random()*255,1*255)
  |  | 
 | addEventHandler("onClientPreRender", root, function()
  |  | 
 | 	if vehicle1 then 
  |  | 
 | 		xxx1,yyy1,zzz1 = getElementPosition(vehicle1)
  |  | 
 | 		exports.custom_coronas:setCoronaPosition(carLight,xxx1,yyy1,zzz1)
  |  | 
 | 	end
  |  | 
 | end
  |  | 
 | ) </syntaxhighlight>
  |  | 
 | This creates a corona and attaches it to a vehicle that the player enters.
  |  | 
 |    |  | 
 | Of course when you want to use these functions in your resources you have to include
  |  | 
 | the custom_coronas resource in meta.
  |  | 
 |    |  | 
 | ==See Also==
  |  | 
 | [http://www.youtube.com/watch?v=5lruyY1fviQ A youtube video]
  |  | 
 |    |  | 
 | [http://community.multitheftauto.com/index.php?p=resources&s=details&id=9558 Custom Coronas resource on MTA Community]
  |  | 
 |    |  | 
 | [http://www.html5rocks.com/en/tutorials/webgl/webgl_orthographic_3d WebGL Orthographic 3D]
  |  |