oseas12345 0 Posted September 25, 2010 Share Posted September 25, 2010 (edited) Hi,Im newbie here so im gonna ask that is really easy for all of you.(and not for me) How can i change the particle of this (this is superman flying cleo) I just get it in everywhere and it work's fine but i want to change it's particle to a laser just like in the cleo "mop" the own that is color blue and to use it is to left click. can you teach me how to do that thx and sorry for my bad english Edited September 26, 2010 by oseas12345 Link to post Share on other sites
ZAZ 663 Posted September 26, 2010 Author Share Posted September 26, 2010 (edited) Hi,Im newbie here so im gonna ask that is really easy for all of you.(and not for me) How can i change the particle of this (this is superman flying cleo) This is a tutorial and not the superCJ discussion topic ------------------------------------------------------------------------------------------------------------------------------------------- Particle Effects related themes: Special opcodes to show particles LIGHT and shadow Basicly it's very easy to show a particle effect. You must just know that it requires always a supportive opcode to make the particle visible Try at first the simple script below press backspace to show the explosion_large effect opcode 04C4: gets the coords of 10.5 units infront of player opcode 064B: apply the particle effect opcode 064F: makes it visible {$CLEO .cs}:ParticleEffect03A4: name_thread 'PRTEFCT':PRTEFCT_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PRTEFCT_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @PRTEFCT_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 10.5 0.3064B: [email protected] = create_particle "explosion_large" at [email protected] [email protected] [email protected] type 4064F: make_temp_particle_visible_and_remove_references [email protected] 2500002: jump @PRTEFCT_01 The string entry of the second parameter of opcode 064B: is the name of the particle effect These names are defined in GTASA\models\effects.fxp Read more about effects.fxp at particle effects tutorial For easy use you will find the particle names in Sanny Builder Help: SCM Documentation: GTA SA: Particle effects -------------------------------------------------------------------------------------------------------- Now the details: There are a lot different opcodes related to show particles And there are 2 kinds of particles: temporary particles and permanent particles The PLAYMODE: -definition of each effect.fxs in effects.fxp declares if the particles live is temporary or permanent ------------------ PLAYMODE: 0 ------------------ Example: look for the fxs-data of blood_heli in effects.fxp it beginns with this head: FX_SYSTEM_DATA:109FILENAME: X:\SA\FxTools\Data\effects\gta_pc\systems/script/blood_heli.fxsNAME: blood_heliLENGTH: 3.000LOOPINTERVALMIN: 0.000LENGTH: 0.000PLAYMODE: 0 Playmode 0 is shown for a moment, temporary, can run in a loop for some cases use it in connection with this opcode: 064F: make_temp_particle_visible_and_remove_references [email protected] Example script: {$CLEO .cs}:ParticleEffect_Playmode_0//Playmode_0 is shown for a moment, temporary, can run in a loop for some cases03A4: name_thread 'PRTEFCT':PRTEFCT_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PRTEFCT_01if0AB0: key_pressed 1//-----------------------press left mouse button004D: jump_if_false @PRTEFCT_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 3.5 0.3064B: [email protected] = create_particle "blood_heli" at [email protected] [email protected] [email protected] type 4064F: make_temp_particle_visible_and_remove_references [email protected] 12500002: jump @PRTEFCT_01 ------------------------------------- PLAYMODE: 1 or PLAYMODE: 2 ------------------------------------- Example: look for the fxs-data of fire in effects.fxp it beginns with this head: FX_SYSTEM_DATA:109FILENAME: X:\SA\FxTools\Data\effects\gta_pc\systems/code/fire.fxsNAME: fireLENGTH: 1.000LOOPINTERVALMIN: 0.000LENGTH: 0.000PLAYMODE: 2 Playmode 1 or 2 are durable till they will be removed (delete_particle) can cause bugs and trails by speed if attached to vehicle show it in connection with this opcode: 064C: make_particle [email protected] visible and remove it at any time with this opcode: 0650: delete_particle [email protected] Example script: {$CLEO .cs}:Partcl_Playmode_1_or_203A4: name_thread 'PRT'//Playmode 1 or 2 are durable till the will be removed (delete_particle)//can cause bugs and trail by speed if attached to vehicle:Partcl_010001: wait 0 ms00D6: if 00256: player $PLAYER_CHAR defined004D: jump_if_false @Partcl_01if0AB0: key_pressed 2//-----------------------press right mouse button 004D: jump_if_false @Partcl_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 3.5 0.3064B: [email protected] = create_particle "fire" at [email protected] [email protected] [email protected] type 4 064C: make_particle [email protected] visible 0001: wait 1000 ms:Partcl_030001: wait 0 ms00D6: if 00256: player $PLAYER_CHAR defined004D: jump_if_false @Partcl_03if0AB0: key_pressed 2//-----------------------press right mouse button004D: jump_if_false @Partcl_030650: delete_particle [email protected] 0001: wait 1000 ms0002: jump @Partcl_01 ---------------------- type, mode, flag ---------------------- the opcodes to apply particles have as last parameter an integer value for type, mode or flag this parameter seems to have none effect, it doesn't matter if you set the type to 1, 2, 3, 4 or 5 ----------------------------------------------- Several opcodes to apply particle effects ----------------------------------------------- There exist opcodes to apply particles at absolute coords as well as opcodes to attach particles to actor, vehicle or object A part of the opcodes to attach particle to actor, vehicle or object have the extension to insert coords for the orientation But not all particles will have a orientation. The most particles are shown as a 2d animation on screen For a few particles is it possible to define the orientation like "spraycan", "gunflash", "tank_fire" and some others The coord entries of the attach_particle are always relative to actor-, vehicle- or object- center simple opcode to show particle at absolute coords 064B: [email protected] = create_particle "explosion_large" at [email protected] [email protected] [email protected] type 4 opcodes to attach particle to actor, vehicle or object 0669: [email protected] = attach_particle "petrolcan" to_actor $PLAYER_ACTOR offset 0.05 0.0 -0.05 2066B: [email protected] = attach_particle "explosion_tiny" to_car [email protected] with_offset 0.0 -2.5 1.5 flag 1066D: [email protected] = attach_particle "SMOKE_FLARE" to_object [email protected] with_offset 0.0 0.0 0.1 flag 1 opcodes to attach particle to actor, vehicle or object with orientation 066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset 0.05 0.1 0.5 rotation 5.05 0.1 1.05 flag 1066C: [email protected] = attach_particle "gunflash" to_car [email protected] with_offset 0.0 -2.5 1.5 rotation -5.0 -2.5 1.5 flag 1066E: create_particle "tank_fire" attached_to_object [email protected] with_offset 0.0 0.0 0.5 rotation 5.0 0.0 0.5 flag 1 handle_as [email protected] supportive opcode to change the attachment of opcode 0669: as well as opcode 066A: from actor center to head 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR mode 5 supportive opcode to make the particle visible 064C: make_particle [email protected] visible 064F: make_temp_particle_visible_and_remove_references [email protected] opcodes to remove particles 0976: destroy_particle [email protected]: stop_particle [email protected]: destroy_particle [email protected] ------------------------------------------ script examples with attach_particle ------------------------------------------ 1. attach_particle "petrolcan" to_actor "petrolcan" is a PLAYMODE: 1 -particle (permanent) without orientation press Backspace to show the particle, wait a second then press again Backspace to remove the particle {$CLEO .cs}:ParticleEffect_at_Actor03A4: name_thread 'ACTPTEF':ACTPTEF_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @ACTPTEF_01if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @ACTPTEF_010669: [email protected] = attach_particle "petrolcan" to_actor $PLAYER_ACTOR offset 0.05 0.0 -0.05 2 064C: make_particle [email protected] visible 0001: wait 1000 ms:ACTPTEF_030001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @ACTPTEF_03if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @ACTPTEF_030976: destroy_particle [email protected] 0001: wait 1000 ms0002: jump @ACTPTEF_01 2. attach_particle "EXHALE" to_actor "EXHALE" is a PLAYMODE: 0 -particle (temporary) with long duration and without orientation The supportive opcode 0883: changes the attachment of opcode 0669: from actor center to head press Backspace to show the particle {$CLEO .cs}:ParticleEffect_at_Actor03A4: name_thread 'ACTPTEF':ACTPTEF_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @ACTPTEF_01if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @ACTPTEF_010669: [email protected] = attach_particle "EXHALE" to_actor $PLAYER_ACTOR offset 0.05 0.1 -0.05 20883: attach_particle [email protected] to_actor $PLAYER_ACTOR mode 5 064F: make_temp_particle_visible_and_remove_references [email protected]: wait 1000 ms0002: jump @ACTPTEF_01 3. attach_particle "spraycan" to_actor "spraycan" is a PLAYMODE: 2 -particle (permanent) with orientation press Backspace to show the particle, wait a second then press again Backspace to remove the particle {$CLEO .cs}:ParticleEffect_at_Actor03A4: name_thread 'ACTPTEF':ACTPTEF_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @ACTPTEF_01if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @ACTPTEF_01066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset 0.05 0.1 0.5 rotation 5.05 0.1 1.05 flag 1 064C: make_particle [email protected] visible 0001: wait 1000 ms:ACTPTEF_030001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @ACTPTEF_03if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @ACTPTEF_030976: destroy_particle [email protected] 0001: wait 1000 ms0002: jump @ACTPTEF_01 4. attach_particle "explosion_tiny" to_car "explosion_tiny" is a PLAYMODE: 0 -particle (temporary) without orientation enter a vehicle then press Backspace to show the particle {$CLEO .cs}:ParticleEffect_at_vehicle03A4: name_thread 'VEHPTEF' :VEHPTEF_20001: wait 0 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @VEHPTEF_2 if00DF: actor $PLAYER_ACTOR driving 004D: jump_if_false @VEHPTEF_2 03C0: [email protected] = actor $PLAYER_ACTOR car:VEHPTEF_100001: wait 250 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @VEHPTEF_20 if and 8119: not car [email protected] wrecked00DF: actor $PLAYER_ACTOR driving 004D: jump_if_false @VEHPTEF_20066B: [email protected] = attach_particle "explosion_tiny" to_car [email protected] with_offset 0.0 -2.5 1.5 flag 1064F: make_temp_particle_visible_and_remove_references [email protected] jump @VEHPTEF_10 :VEHPTEF_2001C3: remove_references_to_car [email protected] // Like turning a car into any random car 0002: jump @VEHPTEF_2 5. attach_particle "gunflash" to_car "gunflash" is a PLAYMODE: 0 -particle (temporary) with orientation enter a vehicle then press Backspace to show the particle {$CLEO .cs}:ParticleEffect_at_vehicle03A4: name_thread 'VEHPTEF' :VEHPTEF_20001: wait 0 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @VEHPTEF_2 if00DF: actor $PLAYER_ACTOR driving 004D: jump_if_false @VEHPTEF_2 03C0: [email protected] = actor $PLAYER_ACTOR car:VEHPTEF_100001: wait 0 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @VEHPTEF_20 if and 8119: not car [email protected] wrecked00DF: actor $PLAYER_ACTOR driving 004D: jump_if_false @VEHPTEF_20 066C: [email protected] = attach_particle "gunflash" to_car [email protected] with_offset 0.0 -2.5 1.5 rotation -5.0 -2.5 1.5 flag 1064F: make_temp_particle_visible_and_remove_references [email protected] jump @VEHPTEF_10 :VEHPTEF_2001C3: remove_references_to_car [email protected] // Like turning a car into any random car 0002: jump @VEHPTEF_2 6. attach_particle "SMOKE_FLARE" to_object "SMOKE_FLARE" is a PLAYMODE: 2 -particle (permanent) without orientation press Backspace to spawn an object and show the attached particle, wait a second then press again Backspace to remove the particle and the object {$CLEO .cs}:ParticleEffect_at_Object03A4: name_thread 'OBJPTEF'//1598, beachball, beachball, 50, 128:OBJPTEF_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @OBJPTEF_01if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @OBJPTEF_010247: request_model 1598:OBJPTEF_020001: wait 0 msif0248: model 1598 available004D: jump_if_false @OBJPTEF_0204C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 2.5 0.00107: [email protected] = create_object 1598 at [email protected] [email protected] [email protected]: [email protected] = attach_particle "SMOKE_FLARE" to_object [email protected] with_offset 0.0 0.0 0.5 flag 1064C: make_particle [email protected] visible0249: release_model 15980001: wait 1000 ms:OBJPTEF_030001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @OBJPTEF_03if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @OBJPTEF_030976: destroy_particle [email protected] 0108: destroy_object [email protected] 0001: wait 1000 ms0002: jump @OBJPTEF_01 7. create_particle "tank_fire" attached_to_object "tank_fire" is a PLAYMODE: 0 -particle (temporary) with orientation hold Backspace to spawn an object and show the attached particle, particle and object disappear if backspace is not pressed {$CLEO .cs}:ParticleEffect_at_Object03A4: name_thread 'OBJPTEF'//1598, beachball, beachball, 50, 128:OBJPTEF_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @OBJPTEF_01if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @OBJPTEF_010247: request_model 1598:OBJPTEF_020001: wait 0 msif0248: model 1598 available004D: jump_if_false @OBJPTEF_0204C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 2.5 0.00107: [email protected] = create_object 1598 at [email protected] [email protected] [email protected]: release_model 1598:OBJPTEF_030001: wait 250 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @OBJPTEF_04if0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @OBJPTEF_04066E: create_particle "tank_fire" attached_to_object [email protected] with_offset 0.0 0.0 0.5 rotation 5.0 0.0 0.5 flag 1 handle_as [email protected]: make_temp_particle_visible_and_remove_references [email protected] @OBJPTEF_03:OBJPTEF_04 0108: destroy_object [email protected] 0001: wait 1000 ms0002: jump @OBJPTEF_01 Extension to 2. attach_particle "" to_actor The supportive opcode 0883: changes the attachment of opcode 0669: from actor center to a bone ceedj figured out the bone values and made a list 066A: [email protected] = attach_particle "flamethrower" to_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 rotation 0.0 13.0 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR mode <?>Attach Particle To Actor Flag:0 - Root 11 - Root 22 - Spine 13 - Spine 24 - Neck5 - Head6 - Head 27 - Head 38 - Head 4 (2,3, 4 - eyes or brow maybe?)21 - Chest Area22 - Right Shoulder23 - Right Elbow24 - Right Wrist25 - Right Hand26 - Right Hand/Finger?31 - Chest Area32 - Left Shoulder33 - Left Elbow34 - Left Wrist35 - Left Hand36 - Left Hand/Finger?41 - Left Hip42 - Left Knee43 - Left Heel44 - Left Foot51 - Right Hip52 - Right Knee53 - Right Heel54 - Right Foot opcode 066A: supports rotation parameter which allows to give the particle a direction This requires an effect which moves in a direction like the "flamethrower" Attached to bones show the particles moving in different direction because the bones have different oriention of it's x,y,z-axis in relation to the actor center Watch to the results by using the testscript below The flamethrower moves allways to offset 13.0 of Y direction of the bone The script starts with 0 - Root 1 and add 1 after key_press for the bone value till 60 {$CLEO .cs}:Flamethrower_at_Actor_bone03A4: name_thread 'FLAMEPB'[email protected] = 0:FLAMEPB_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @FLAMEPB_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @FLAMEPB_01066A: [email protected] = attach_particle "flamethrower" to_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 rotation 0.0 13.0 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR mode [email protected]: make_particle [email protected] visible0001: wait 1000 ms:FLAMEPB_030001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @FLAMEPB_0303F0: enable_text_draw 1045A: text_draw_1number 250.0 80.0 'NUMBER' [email protected] // valueif0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @FLAMEPB_030976: destroy_particle [email protected] 0001: wait 500 [email protected] += [email protected] > 60004D: jump_if_false @[email protected] = 00002: jump @FLAMEPB_01 related themes: Special opcodes to show particles LIGHT and shadow Edited June 2, 2011 by ZAZ Link to post Share on other sites
oseas12345 0 Posted September 26, 2010 Share Posted September 26, 2010 thank u very much for this i really appreciate it!!! Link to post Share on other sites
ZAZ 663 Posted September 27, 2010 Author Share Posted September 27, 2010 (edited) ---------------------------------------- Special opcodes to show particles ---------------------------------------- There exist some special opcodes to show predefined particles without parameter for particle name They show the particle temporary for a very short time It needs to run these opcodes in a loop otherwise you can't see it 1. 08EB: create_sparks_at [email protected] [email protected] [email protected] velocity_direction 0.0 5.0 20.0 density 100 Sparks are only as sub-fxs-data available in effects.fxp I assume that the sparks of opcode 08EB: are programmed in the exe without using any texture opcode 08EB: have 7 parameter parameter 1,2,3 = x,y,z - float, absolute coords for spawning parameter 4,5,6 = x,y,z - float, coords for orientation are relative to the sparks spawn position parameter 7 = density - integer bigger coords for orientation let's the sparks enlarge Example script below shows the sparks with maximum density press backspace to show the sparks infront of player {$CLEO .cs}:Particle_Sparks03A4: name_thread 'PRTSPRK':PRTSPRK_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PRTSPRK_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @PRTSPRK_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 3.5 0.308EB: create_sparks_at [email protected] [email protected] [email protected] velocity_direction 0.0 5.0 20.0 density 100jump @PRTSPRK_01 2. 058A: create_gun_flash_from [email protected] [email protected] [email protected] to [email protected] [email protected] [email protected] opcode 058A: shows the particle "gunflash" but in this case it requires absulte coords for spawning and for orientation opcode 058A: have 6 parameter parameter 1,2,3 = x,y,z - float, absolute coords for spawning parameter 4,5,6 = x,y,z - float, absolute coords for orientation Example script below shows the gunflash with same orientation like player orientation press backspace to show the gunflash infront of player {$CLEO .cs}:Particle_GunFlash03A4: name_thread 'PRTGFLS':PRTGFLS_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PRTGFLS_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @PRTGFLS_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 1.5 0.304C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 10.5 0.3058A: create_gun_flash_from [email protected] [email protected] [email protected] to [email protected] [email protected] [email protected] jump @PRTGFLS_01 3. 09B8: create_blood_gush_at [email protected] [email protected] [email protected] with_offset 0.0 3.0 0.0 density 80 on_actor $PLAYER_ACTOR opcode 09B8: shows blood particle based on the prt_blood.fxs but the PLAYMODE: 2 isn't relevant It is also shown in red color in contrast to the prt_blood in normal particle opcodes, which is colorless opcode 09B8: have 8 parameter parameter 1,2,3 = x,y,z - float, absolute coords for spawning parameter 4,5,6 = x,y,z - float, coords for orientation are relative to the blood spawn position but the orientation itself of the movement is in absolute direction of the unit circle parameter 7 = density parameter 8 = actor handle to assigne the particle to an actor press backspace to show the blood_gush infront of player {$CLEO .cs}:Particle_Blood_Gush03A4: name_thread 'PTBLOOD':PTBLOOD_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PTBLOOD_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @PTBLOOD_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.2 0.0 0.509B8: create_blood_gush_at [email protected] [email protected] [email protected] with_offset 0.0 3.0 3.0 density 80 on_actor $PLAYER_ACTOR jump @PTBLOOD_01 4. 04D5: create_corona_at [email protected] [email protected] [email protected] radius 1.5 type 2 flare 1 RGB 247 206 12 opcode 04D5: shows textures of GTASA\models\particle.txd as soft light source opcode 04D5: have 9 parameter parameter 1,2,3 = x,y,z - float, absolute coords for spawning parameter 4 = size, float parameter 5 = type, integer, change textur parameter 6 = shows flare, bol 0/1 parameter 7,8,9 = color: integer values for Red-Green-Blue press backspace to show 4 different coronas infront of player {$CLEO .cs}:Corona_103A4: name_thread 'CORA':Corona_30001: wait 0 ms if0256: player $PLAYER_CHAR defined 004D: jump_if_false @Corona_3 00D6: if 0AB0: key_pressed 8//-----------------------press Backspace 004D: jump_if_false @Corona_304C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset -5.0 7.0 2.204D5: create_corona_at [email protected] [email protected] [email protected] radius 1.5 type 1 flare 1 RGB 150 0 25504C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset -2.0 7.0 3.204D5: create_corona_at [email protected] [email protected] [email protected] radius 1.5 type 2 flare 1 RGB 247 206 1204C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 3.0 7.0 5.204D5: create_corona_at [email protected] [email protected] [email protected] radius 1.5 type 3 flare 0 RGB 255 7 704C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 6.0 7.0 3.204D5: create_corona_at [email protected] [email protected] [email protected] radius 1.5 type 4 flare 0 RGB 3 3 2550002: jump @Corona_3 5. 016F: create_particle 1 rotation_factor 0.0 size 180.0 intensity 250 flags 0 0 0 at [email protected] [email protected] [email protected] opcode 016F: makes shadow on the ground opcode 016F: have 10 parameter parameter 1 = intensity category, integer, 1 = dark shadow / 2 = weak shadow parameter 2 = rotation_factor (unknown), float parameter 3 = size, float parameter 4 = intensity, float parameter 5,6,7 = flags (not tested) parameter 8,9,10 = x,y,z - float, absolute coords for spawning press backspace to make shadow on the ground {$CLEO .cs}:Particle_Shadow03A4: name_thread 'PTSHAD':PTSHAD_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PTSHAD_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @PTSHAD_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 0.0 0.0016F: create_particle 1 rotation_factor 0.0 size 180.0 intensity 250 flags 0 0 0 at [email protected] [email protected] [email protected] jump @PTSHAD_01 6. 095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 1.0 7.0 RGBA 0.0 0.0 0.0 1.0 size 0.1 last_factor 0.02//black opcode 095C: shows smoke based on the prt_smoke_huge.fxs but the PLAYMODE: 2 isn't relevant opcode 095C: have 12 parameter (only floats): parameter 1,2,3 = x,y,z - absolute coord for spawning parameter 4,5,6 = x,y,z - coords for orientation are relative to the smoke spawn position parameter 7,8,9,10 = color: Red-Green-Blue-Alpha parameter 11 = value for the start size parameter 12 = value for the end size the smoke appears with the start size and ends with the end size Example script below shows the smoke in 8 different colors and in different size and with different movementspeed because bigger coords for orientation let's the smoke move faster press backspace to show the smoke opcode 04C4: gets the coords of 3.5 units infront of player opcode 095C: apply the smoke {$CLEO .cs}:Particle_Smoke03A4: name_thread 'PRTSMOK':PRTSMOKE_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PRTSMOKE_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @PRTSMOKE_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 3.5 [email protected] = 0:PRTSMOKE_02_blackwait 0if3000 > [email protected] @PRTSMOKE_03_blue095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 1.0 7.0 RGBA 0.0 0.0 0.0 1.0 size 0.1 last_factor 0.02//blackjump @PRTSMOKE_02_black:PRTSMOKE_03_bluewait 0if6000 > [email protected] @PRTSMOKE_04_green095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 0.0 50.0 RGBA 0.0 0.0 1.0 1.0 size 0.5 last_factor 0.02//bluejump @PRTSMOKE_03_blue:PRTSMOKE_04_greenwait 0if9000 > [email protected] @PRTSMOKE_05_red095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 0.0 10.0 RGBA 0.0 1.0 0.0 1.0 size 1.0 last_factor 0.02//greenjump @PRTSMOKE_04_green:PRTSMOKE_05_redwait 0if12000 > [email protected] @PRTSMOKE_06_yellow095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 0.0 1.0 RGBA 1.0 0.0 0.0 1.0 size 5.5 last_factor 0.02//redjump @PRTSMOKE_05_red:PRTSMOKE_06_yellowwait 0if15000 > [email protected] @PRTSMOKE_07_turquoise095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 0.0 20.0 RGBA 1.0 1.0 0.0 1.0 size 9.5 last_factor 0.02//yellowjump @PRTSMOKE_06_yellow:PRTSMOKE_07_turquoisewait 0if18000 > [email protected] @PRTSMOKE_08_pink095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 0.0 20.0 RGBA 0.0 1.0 1.0 1.0 size 0.5 last_factor 0.02//turquoisejump @PRTSMOKE_07_turquoise:PRTSMOKE_08_pinkwait 0if21000 > [email protected] @PRTSMOKE_09_white095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 0.0 20.0 RGBA 1.0 0.0 1.0 1.0 size 0.5 last_factor 0.02//pinkjump @PRTSMOKE_08_pink:PRTSMOKE_09_whitewait 0if24000 > [email protected] @PRTSMOKE_01095C: create_smoke_at [email protected] [email protected] [email protected] velocity 0.0 0.0 20.0 RGBA 1.0 1.0 1.0 1.0 size 0.5 last_factor 0.02//whitejump @PRTSMOKE_09_white related theme: LIGHT and shadow Edited October 21, 2010 by ZAZ Link to post Share on other sites
jtr007 1 Posted September 28, 2010 Share Posted September 28, 2010 Wow, thanks ZAZ for that partical tut, Nice tuts. Keep up the great work mate Link to post Share on other sites
hellya2011 15 Posted October 3, 2010 Share Posted October 3, 2010 hey zaz can you help me? i am trying to attach the effect "sparycan" to a weapon so when i press backspace it appears... what is the code for doing that? Plz Help zaz or someone Link to post Share on other sites
ZAZ 663 Posted October 3, 2010 Author Share Posted October 3, 2010 (edited) ______ --------/ LIGHT ---------, """"""""" We have some lights in gtasa which have 3 facts 1. it have a sourcelight 2. it have a corona, beam or textur performance 3. it illuminate the environment The lights which I know with these 3 facts are -Carheadlight: modding by setting headlight-dummies in car-3d model editor -policelight: same like above but only for emergency and police cars -fire: modding only by create fire, using particle fire don't illuminate the enviremant -explosion : modding only by create explosion , using particle explosion don't illuminate the enviremant -some streetlamps -traffic lights The 3.fact, illuminate the environment is the fascinating aspect try to make a screenshot of your car and you will see that you must consider the orientation (z-angle) of your car and of the camera view. Another vehicles light must illuminate your car, or trafficlight or some street lamps. It seems manipulated from traffic if you're standing in a backyard with a lamp Mapmodding: I know 2 methods Export Lights, Particles for SA, via MaxScript these lights, also possible for peds, didn't satisfy the 3.fact, illuminate the environment in my tests [3ds max]Model prelighting, with much colors This illuminate the model itself full but the enviroment only a little bit Effects of effects.fxp in scripts, read more in CLEO Script Tutorial>>Particle Effects these light didn't satisfy the 3.fact, illuminate the environment in my tests 09E5: create_flash_light have the effect of the 3.fact, illuminate the environment unless the ground but it havn't the 1. and 2. effect, no source and no beams take the script below to illuminate cars and peds by keypress 9 {$CLEO .cs}:Flash_Light_Illuminationthread 'FLHILLU' :FLHILLU_11wait 0 if 0AB0: key_pressed 57// key 9jf @FLHILLU_11 :FLHILLU_46wait 0 if Player.Defined($PLAYER_CHAR)jf @FLHILLU_46 if 0AB0: key_pressed 57// key 9jf @FLHILLU_141 04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 1.0 09E5: create_flash_light_at [email protected] [email protected] [email protected] RGB_mask 255 255 255 radius 200.0 jump @FLHILLU_46 :FLHILLU_141wait 0 if Player.Defined($PLAYER_CHAR)jf @FLHILLU_141 04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 1.0 09E5: create_flash_light_at [email protected] [email protected] [email protected] RGB_mask 255 255 255 radius 200.0 if 0AB0: key_pressed 57// key 9jf @FLHILLU_141 :FLHILLU_229wait 0 if 0AB0: key_pressed 57// key 9 jf @FLHILLU_11 jump @FLHILLU_229 Opcode create_searchlight illuminates the ground and shows white beams script below creates search light above Player by keypress 8 {$CLEO .cs}:WhiteSearchLightLampthread 'WSLAMP' :WhitSrchLght_11wait 0 if 0256: player $PLAYER_CHAR definedjf @WhitSrchLght_11 if 0AB0: key_pressed 56// 8 keyjf @WhitSrchLght_1104C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 70.0 04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -0.5 06B1: [email protected] = create_searchlight_at [email protected] [email protected] [email protected] radius 5.0 target [email protected] [email protected] [email protected] radius 71.0 06B6: set_searchlight [email protected] follow_actor $PLAYER_ACTOR speed 1.2 wait 1000:WhitSrchLght_46wait 0 if 0256: player $PLAYER_CHAR definedjf @WhitSrchLght_47 if 0AB0: key_pressed 56// 8 keyjf @WhitSrchLght_46 :WhitSrchLght_4706B2: destroy_searchlight [email protected] 1000jump @WhitSrchLght_11 ________ shadow ________ 016F: create_particle 1 makes shadow on the ground script below makes shadow at player by holding backspace key {$CLEO .cs}:Particle_Shadow03A4: name_thread 'PTSHAD':PTSHAD_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @PTSHAD_01if0AB0: key_pressed 8//-----------------------press Backspace004D: jump_if_false @PTSHAD_0104C4: create_coordinate [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR offset 0.0 0.0 0.0016F: create_particle 1 rotation_factor 0.0 size 180.0 intensity 250 flags 0 0 0 at [email protected] [email protected] [email protected] jump @PTSHAD_01 ---------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------- hey zaz can you help me? i am trying to attach the effect "sparycan" to a weapon so when i press backspace it appears... what is the code for doing that? Plz Help zaz or someone opcode 0883: assignes the particles attachment to_actor to a bone this let the particle appear at player_actors hand: 066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset -0.301 -0.2 0.17 rotation -5.5 -3.5 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR on_bone 26064C: make_particle [email protected] visible It needs different offsets for each weapon The script below attaches particle "spraycan" to player_actor hand by using pistols or smg and pressing RMB or fire- or aim- button But only for Silenced pistol and MP5 it looks good for the other weapons it needs other offsets also for using on bike or in car while driveby with mouseview {$CLEO .cs}:Spraycan_at_ActorHand03A4: name_thread 'SPRAYWP':SPRAYWP_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @SPRAYWP_01if or00E1: key_pressed 0 1700E1: key_pressed 0 60AB0: key_pressed 2// -- RMB 004D: jump_if_false @SPRAYWP_01if8965: not actor $PLAYER_ACTOR swimming004D: jump_if_false @SPRAYWP_01if or02D8: actor $PLAYER_ACTOR current_weapon == 22 02D8: actor $PLAYER_ACTOR current_weapon == 2302D8: actor $PLAYER_ACTOR current_weapon == 24 004D: jump_if_false @SPRAYWP_02066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset -0.1 -0.22 0.13 rotation -1.5 -3.5 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR mode 26064C: make_particle [email protected] visible0002: jump @SPRAYWP_13:SPRAYWP_02if 02D8: actor $PLAYER_ACTOR current_weapon == 29 004D: jump_if_false @SPRAYWP_030002: jump @SPRAYWP_10:SPRAYWP_03 if or02D8: actor $PLAYER_ACTOR current_weapon == 3202D8: actor $PLAYER_ACTOR current_weapon == 28 004D: jump_if_false @SPRAYWP_01if or00E1: key_pressed 0 170AB0: key_pressed 2// -- RMB 004D: jump_if_false @SPRAYWP_01if0449: actor $PLAYER_ACTOR in_a_car004D: jump_if_false @SPRAYWP_01:SPRAYWP_10066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset -0.301 -0.2 0.17 rotation -5.5 -3.5 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR on_bone 26064C: make_particle [email protected] visible:SPRAYWP_130001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @SPRAYWP_15if or00E1: key_pressed 0 1700E1: key_pressed 0 60AB0: key_pressed 2// -- RMB 004D: jump_if_false @SPRAYWP_15if8965: not actor $PLAYER_ACTOR swimming004D: jump_if_false @SPRAYWP_15if or02D8: actor $PLAYER_ACTOR current_weapon == 22 02D8: actor $PLAYER_ACTOR current_weapon == 2302D8: actor $PLAYER_ACTOR current_weapon == 2402D8: actor $PLAYER_ACTOR current_weapon == 28 02D8: actor $PLAYER_ACTOR current_weapon == 2902D8: actor $PLAYER_ACTOR current_weapon == 32 004D: jump_if_false @SPRAYWP_150002: jump @SPRAYWP_13:SPRAYWP_150976: destroy_particle [email protected] 0001: wait 1000 ms0002: jump @SPRAYWP_01 Edited October 21, 2010 by ZAZ Link to post Share on other sites
hellya2011 15 Posted October 3, 2010 Share Posted October 3, 2010 hey zaz can you help me? i am trying to attach the effect "sparycan" to a weapon so when i press backspace it appears... what is the code for doing that? Plz Help zaz or someone opcode 0883: assignes the particles attachment to_actor to a bone this let the particle appear at player_actors hand: 066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset -0.301 -0.2 0.17 rotation -5.5 -3.5 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR on_bone 26064C: make_particle [email protected] visible It needs different offsets for each weapon The script below attaches particle "spraycan" to player_actor hand by using pistols or smg and pressing RMB or fire- or aim- button But only for Silenced pistol and MP5 it looks good for the other weapons it needs other offsets also for using on bike or in car while driveby with mouseview {$CLEO .cs}:Spraycan_at_ActorHand03A4: name_thread 'SPRAYWP':SPRAYWP_010001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @SPRAYWP_01if or00E1: key_pressed 0 1700E1: key_pressed 0 60AB0: key_pressed 2// -- RMB 004D: jump_if_false @SPRAYWP_01if8965: not actor $PLAYER_ACTOR swimming004D: jump_if_false @SPRAYWP_01if or02D8: actor $PLAYER_ACTOR current_weapon == 22 02D8: actor $PLAYER_ACTOR current_weapon == 2302D8: actor $PLAYER_ACTOR current_weapon == 24 004D: jump_if_false @SPRAYWP_02066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset -0.1 -0.22 0.13 rotation -1.5 -3.5 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR mode 26064C: make_particle [email protected] visible0002: jump @SPRAYWP_13:SPRAYWP_02if 02D8: actor $PLAYER_ACTOR current_weapon == 29 004D: jump_if_false @SPRAYWP_030002: jump @SPRAYWP_10:SPRAYWP_03 if or02D8: actor $PLAYER_ACTOR current_weapon == 3202D8: actor $PLAYER_ACTOR current_weapon == 28 004D: jump_if_false @SPRAYWP_01if or00E1: key_pressed 0 170AB0: key_pressed 2// -- RMB 004D: jump_if_false @SPRAYWP_01if0449: actor $PLAYER_ACTOR in_a_car004D: jump_if_false @SPRAYWP_01:SPRAYWP_10066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset -0.301 -0.2 0.17 rotation -5.5 -3.5 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR on_bone 26064C: make_particle [email protected] visible:SPRAYWP_130001: wait 0 msif0256: player $PLAYER_CHAR defined004D: jump_if_false @SPRAYWP_15if or00E1: key_pressed 0 1700E1: key_pressed 0 60AB0: key_pressed 2// -- RMB 004D: jump_if_false @SPRAYWP_15if8965: not actor $PLAYER_ACTOR swimming004D: jump_if_false @SPRAYWP_15if or02D8: actor $PLAYER_ACTOR current_weapon == 22 02D8: actor $PLAYER_ACTOR current_weapon == 2302D8: actor $PLAYER_ACTOR current_weapon == 2402D8: actor $PLAYER_ACTOR current_weapon == 28 02D8: actor $PLAYER_ACTOR current_weapon == 2902D8: actor $PLAYER_ACTOR current_weapon == 32 004D: jump_if_false @SPRAYWP_150002: jump @SPRAYWP_13:SPRAYWP_150976: destroy_particle [email protected] 0001: wait 1000 ms0002: jump @SPRAYWP_01 thanks for the help ZAZ Link to post Share on other sites
oseas12345 0 Posted October 6, 2010 Share Posted October 6, 2010 hey ZAZ,I have a question, 1.how can i change the color of a particle? 2.how can i put the "prt_spark" to Cj?(ex.Back,head,arms etc.) thank u Link to post Share on other sites
ZAZ 663 Posted October 6, 2010 Author Share Posted October 6, 2010 (edited) hey ZAZ,I have a question, 1.how can i change the color of a particle? 2.how can i put the "prt_spark" to Cj?(ex.Back,head,arms etc.) thank u 1. in models\effects.fxp did you read the particle effects tutorial ? it shows where to find the color data This is the color data of the colored PmC effects: neonblue neonred neonyellow FX_INFO_COLOUR_DATA:TIMEMODEPRT: 1 RED: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 7.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 7.000 GREEN: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 7.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 7.000 BLUE: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 255.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 255.000 ALPHA: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 255.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 0.000 FX_INFO_COLOUR_DATA:TIMEMODEPRT: 1 RED: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 255.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 255.000 GREEN: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 7.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 7.000 BLUE: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 7.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 7.000 ALPHA: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 255.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 0.000 FX_INFO_COLOUR_DATA:TIMEMODEPRT: 1 RED: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 255.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 255.000 GREEN: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 210.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 210.000 BLUE: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 7.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 7.000 ALPHA: FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: 255.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 0.000 the effect shows the texture-alphachannel in the defined colors if it's set to 255.00 It shows the image of the textur if your decrease the alpha value texture-alphachannel image of the textur ALPHA:FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: VAL: 255.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 0.000 ALPHA:FX_INTERP_DATA: LOOPED: 0 NUM_KEYS: 2 FX_KEYFLOAT_DATA: TIME: 0.000 VAL: VAL: 132.000 FX_KEYFLOAT_DATA: TIME: 1.000 VAL: 20.000 ---------------------------------------------------------------- 2. take the spraycanscript from above and change just the particlenames replace 2x "spraycan" with "prt_spark" both are PLAYMODE: 2 - particles modify the position is your work It needs different offsets for each weapon opcode 0883: assignes the particles attachment to_actor to a bone this let the particle appear at player_actors hand: 066A: [email protected] = attach_particle "spraycan" to_actor $PLAYER_ACTOR with_offset -0.301 -0.2 0.17 rotation -5.5 -3.5 0.0 flag 1 0883: attach_particle [email protected] to_actor $PLAYER_ACTOR on_bone 26064C: make_particle [email protected] visible attach_particle .. on_bone 26 = is at hand or lower arm attach_particle .. on_bone 5 = head, i think find out yourself Edited October 6, 2010 by ZAZ Link to post Share on other sites
ergic 1 Posted October 7, 2010 Share Posted October 7, 2010 hi can someone help me in gta san andreas how can i make a car spawn in an area or how can i select a area to make a car spawn and make it drive by a pls help me Link to post Share on other sites
oseas12345 0 Posted October 7, 2010 Share Posted October 7, 2010 thank you for this now i can complete my cleo thank you very much!!! Link to post Share on other sites
ZAZ 663 Posted October 7, 2010 Author Share Posted October 7, 2010 thank you for this now i can complete my cleothank you very much!!! nice, looking forward to me hi can someone help me in gta san andreas how can i make a car spawn in an area or how can i select a area to make a car spawn and make it drive by a pls help me read the complete first lesson of this tutorial and try the example scripts then read Car Drive Tutorial Link to post Share on other sites
ergic 1 Posted October 8, 2010 Share Posted October 8, 2010 hi can someone help me in gta san andreas how can i make a car spawn in an area or how can i select a area to make a car spawn and make it drive by a pls help me read the complete first lesson of this tutorial and try the example scripts then read Car Drive Tutorial yeah i already read this but how can i change the spawn location and remove the marker how can i make it that when i go at an area the car instanly spawns and being drive by a ped pls make a code for me T.T i want it to spawn the car in some small towns Link to post Share on other sites
ZAZ 663 Posted October 9, 2010 Author Share Posted October 9, 2010 hi can someone help me in gta san andreas how can i make a car spawn in an area or how can i select a area to make a car spawn and make it drive by a pls help me read the complete first lesson of this tutorial and try the example scripts then read Car Drive Tutorial yeah i already read this but how can i change the spawn location and remove the marker how can i make it that when i go at an area the car instanly spawns and being drive by a ped pls make a code for me T.T i want it to spawn the car in some small towns You're question sounds like a request and not to get help for writing a script. You can download an actor-driveby script at my Webpage Learning mission coding means, use the brain. And if you're a N00b, you need first praxis by writing small simple scripts to see what your script do ingame. For example, show a text by keypress or spawn a car like in the script "3dModels" of first lesson. There you will find the conditional check if player_actor is in a defined location: if00FF: actor $PLAYER_ACTOR 1 (in-sphere)near_point_on_foot 2491.5 -1667.5 13.35 radius 1.0 1.0 1.0004D: jump_if_false @3dModels_2 It shows a sphere (red marker) because the second parameter is set to 1 : actor $PLAYER_ACTOR 1 (in-sphere)near_point_on_foot It don't show a sphere if you set this param to zero: actor $PLAYER_ACTOR 0 (in-sphere)near_point_on_foot The last 3 params specify the size of the check-location There are a lot similar opcodes to check a location, use sannybuilders opcode search And there are other methods to specify a location or area for the spawning. Well, I allready posted 2 example Drivbyscripts, two weeks ago in the mission coding forum: click here DRIVEBY 2 scripts, first one to let player drive a car and do driveby at same time the other one creates a car and two gangster, doing driveby against player press backspace while in car to start driveby {$CLEO .cs}:DRIVEBYsingle_01thread 'DVBY' :DRIVBYsingle_3wait 0 if Player.Defined($PLAYER_CHAR)jf @DRIVBYsingle_3 if and84A7: not actor $PLAYER_ACTOR driving_boat 84C8: not actor $PLAYER_ACTOR driving_flying_vehicle Actor.Driving($PLAYER_ACTOR)0AB0: key_pressed 8//--- Backspace jf @DRIVBYsingle_3 jump @DRIVBYsingle_7 :DRIVBYsingle_7 Player.CanMove($PLAYER_CHAR) = False03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 03C0: [email protected] = actor $PLAYER_ACTOR car Car.SetMaxSpeed([email protected], 0.0)Car.SetImmunities([email protected], 0, 0, 0, 0, 0)0A30: repair_car [email protected] Car.Health([email protected]) = 5000Car.DoorStatus([email protected]) = 0053F: set_car [email protected] tires_vulnerability 0 [email protected] = 0 wait 500 Car.LockInCurrentPosition([email protected]) = TrueModel.Load(#TEC9):DRIVBYsingle_13wait 0 if Model.Available(#TEC9)jf @DRIVBYsingle_13 0633: AS_actor $PLAYER_ACTOR exit_car wait 2000 01B2: give_actor $PLAYER_ACTOR weapon 32 ammo 99999 // Load the weapon model before using this wait 250 05CB: AS_actor $PLAYER_ACTOR enter_car [email protected] as_driver 0 ms Model.Destroy(#TEC9)03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 wait 250 Player.CanMove($PLAYER_CHAR) = True:DRIVBYsingle_20wait 50 if Player.Defined($PLAYER_CHAR)jf @DRIVBYsingle_50 if and not Car.Wrecked([email protected])82BF: not car [email protected] sunk jf @DRIVBYsingle_50 if Actor.Driving($PLAYER_ACTOR)jf @DRIVBYsingle_50 if 1@ == 0 jf @DRIVBYsingle_30 wait 0 0A30: repair_car [email protected] Car.Health([email protected]) = 5000Car.LockInCurrentPosition([email protected]) = FalseCar.DoorStatus([email protected]) = 4wait 1000 0713: actor $PLAYER_ACTOR driveby_actor -1 car -1 point 0.0 0.0 0.0 radius 300.0 8 0 firing_rate 100 [email protected] = 1 wait 1000 jump @DRIVBYsingle_20 :DRIVBYsingle_30if or00E1: player 0 pressed_key 15 0AB0: key_pressed 53 jf @DRIVBYsingle_20 Car.SetMaxSpeed([email protected], 0.0)Car.DoorStatus([email protected]) = 00633: AS_actor $PLAYER_ACTOR exit_car wait 1000 jump @DRIVBYsingle_50 :DRIVBYsingle_500501: set_player $PLAYER_CHAR driveby_mode 1 [email protected] = 0 Car.LockInCurrentPosition([email protected]) = FalseCar.RemoveReferences([email protected])jump @DRIVBYsingle_3 go to street and wait a moment till car with actors arrive {$CLEO .cs}:DriveBY_actorthread 'DVBYACT' :DVBYACT_11wait 0 if Player.Defined($PLAYER_CHAR)jf @DVBYACT_11 if 84A9: not actor $PLAYER_ACTOR driving_heli 84C8: not actor $PLAYER_ACTOR driving_flying_vehicle 84A7: not actor $PLAYER_ACTOR driving_boat 89AE: not actor $PLAYER_ACTOR driving_train jf @DVBYACT_11 077E: get_active_interior_to [email protected] if and $ONMISSION == 0 [email protected] == 0 jf @DVBYACT_11 04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset -100.0 50.0 0.0 04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 100.0 200.0 0.0 053E: [email protected] = get_random_car_with_model -1 in_rectangle_cornerA [email protected] [email protected] cornerB [email protected] [email protected] if not [email protected] == -1 jf @DVBYACT_11 0407: store_coords_to [email protected] [email protected] [email protected] from_car [email protected] with_offset 0.0 0.0 0.0 [email protected] = Car.Angle([email protected])Model.Load(#VWMYCR)Model.Load(#BMYDRUG)Model.Load(#SAVANNA)Model.Load(#MP5LNG):DVBYACT_243wait 0 if and Model.Available(#VWMYCR) Model.Available(#BMYDRUG) Model.Available(#SAVANNA) Model.Available(#MP5LNG)jf @DVBYACT_243 [email protected] = Car.Create(#SAVANNA, [email protected], [email protected], [email protected])Car.Angle([email protected]) = [email protected]([email protected]) = 1000053F: set_car [email protected] tires_vulnerability 0 Car.Destroy([email protected])0129: [email protected] = create_actor_pedtype 7 model #VWMYCR in_car [email protected] driverseat 01C8: [email protected] = create_actor_pedtype 7 model #BMYDRUG in_car [email protected] passenger_seat 0 Actor.Health([email protected]) = 1000Actor.Health([email protected]) = 10000446: set_actor [email protected] immune_to_headshots 0 0446: set_actor [email protected] immune_to_headshots 0 [email protected] = Marker.CreateAboveActor([email protected])00AE: set_car [email protected] traffic_behaviour_to 2 Car.SetToPsychoDriver([email protected])Car.SetImmunities([email protected], 1, 1, 1, 1, 1)Model.Destroy(#VWMYCR)Model.Destroy(#BMYDRUG)Model.Destroy(#SAVANNA)01B2: give_actor [email protected] weapon 29 ammo 99999 // Load the weapon model before using this Actor.WeaponAccuracy([email protected]) = 1000713: actor [email protected] driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 5000.0 4 1 firing_rate 40 Car.SetDriverBehaviour([email protected], KillThePlayer)Car.SetMaxSpeed([email protected], 15.0)[email protected] = 0 [email protected] = 0 [email protected] = 0 :DVBYACT_521wait 0 if Player.Defined($PLAYER_CHAR)jf @DVBYACT_1539 077E: get_active_interior_to [email protected] if and [email protected] == 0 $ONMISSION == 0 not Car.Wrecked([email protected])81F4: not car [email protected] flipped jf @DVBYACT_1539 if or [email protected] == 0 [email protected] == 1 [email protected] == 2 jf @DVBYACT_1053 jump @DVBYACT_703 if 03CE: car [email protected] stuck jf @DVBYACT_703 if or [email protected] == 0 [email protected] == 1 jf @DVBYACT_703 06C7: AS_actor [email protected] driver_of_car [email protected] perform_action 14 timelimit 500 wait 500 Car.SetDriverBehaviour([email protected], KillThePlayer)Car.SetMaxSpeed([email protected], 50.0)[email protected] = 2 :DVBYACT_703if [email protected] == 0 jf @DVBYACT_782 if or 10000 > [email protected] 0202: actor $PLAYER_ACTOR near_car [email protected] radius 70.0 70.0 flag 0 jf @DVBYACT_1539 Car.SetImmunities([email protected], 0, 0, 0, 0, 0)[email protected] = 1 :DVBYACT_782if 0202: actor $PLAYER_ACTOR near_car [email protected] radius 15.0 15.0 flag 0 jf @DVBYACT_878 if or [email protected] == 0 [email protected] == 1 jf @DVBYACT_1053 if not Actor.Driving($PLAYER_ACTOR)jf @DVBYACT_1053 Car.SetMaxSpeed([email protected], 0.0)[email protected] = 2 jump @DVBYACT_1053 :DVBYACT_878if 0202: actor $PLAYER_ACTOR near_car [email protected] radius 17.0 17.0 flag 0 jf @DVBYACT_965 if or [email protected] == 0 [email protected] == 2 jf @DVBYACT_1053 Car.SetDriverBehaviour([email protected], KillThePlayer)Car.SetMaxSpeed([email protected], 50.0)[email protected] = 1 jump @DVBYACT_1053 :DVBYACT_965if or [email protected] == 1 [email protected] == 2 jf @DVBYACT_1053 if or 10000 > [email protected] 0202: actor $PLAYER_ACTOR near_car [email protected] radius 50.0 50.0 flag 0 jf @DVBYACT_1539 Car.SetDriverBehaviour([email protected], KillThePlayer)Car.SetMaxSpeed([email protected], 50.0)[email protected] = 0 :DVBYACT_1053if and not Actor.Dead([email protected]) not Actor.Dead([email protected])jf @DVBYACT_1140 if or [email protected] == 0 [email protected] == 1 [email protected] == 2 jf @DVBYACT_1140 if and Actor.InCar([email protected], [email protected]) Actor.InCar([email protected], [email protected])jf @DVBYACT_1140 jump @DVBYACT_521 :DVBYACT_1140if not Actor.Dead([email protected])jf @DVBYACT_1335 wait 250 if Actor.InCar([email protected], [email protected])jf @DVBYACT_1200 Car.SetMaxSpeed([email protected], 0.0)0633: AS_actor [email protected] exit_car wait 1000 :DVBYACT_1200if or [email protected] == 0 [email protected] == 1 [email protected] == 2 [email protected] == 4 jf @DVBYACT_1335 if or [email protected] == 0 [email protected] == 2 jf @DVBYACT_1335 if not Actor.Dead([email protected])jf @DVBYACT_1335 01B2: give_actor [email protected] weapon 29 ammo 99999 // Load the weapon model before using this Actor.WeaponAccuracy([email protected]) = 5005E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR 0446: set_actor [email protected] immune_to_headshots 1 [email protected] = 3 [email protected] += 1 jump @DVBYACT_521 :DVBYACT_1335if not Actor.Dead([email protected])jf @DVBYACT_1511 wait 250 if Actor.InCar([email protected], [email protected])jf @DVBYACT_1395 Car.SetMaxSpeed([email protected], 0.0)0633: AS_actor [email protected] exit_car wait 1000 :DVBYACT_1395if or [email protected] == 0 [email protected] == 1 [email protected] == 2 [email protected] == 3 jf @DVBYACT_1511 if or [email protected] == 0 [email protected] == 1 jf @DVBYACT_1511 if not Actor.Dead([email protected])jf @DVBYACT_1511 05E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR 0446: set_actor [email protected] immune_to_headshots 1 [email protected] = 4 [email protected] += 1 jump @DVBYACT_521 :DVBYACT_1511if or not Actor.Dead([email protected]) not Actor.Dead([email protected])jf @DVBYACT_1539 jump @DVBYACT_521 :DVBYACT_1539Model.Destroy(#MP5LNG)Marker.Disable([email protected])Actor.RemoveReferences([email protected])Actor.RemoveReferences([email protected])Car.SetImmunities([email protected], 0, 0, 0, 0, 0)Car.RemoveReferences([email protected])jump @DVBYACT_11 Link to post Share on other sites
ergic 1 Posted October 11, 2010 Share Posted October 11, 2010 thanlk you this realy helped me a lot ^^ sorry if im realy annoying Link to post Share on other sites
kal-el5676 1 Posted October 13, 2010 Share Posted October 13, 2010 Ok, super weird/dumb question. Why don't my helicopter spawns ever work? Example: 014B: $RAINDANCE = init_parked_car_generator #RAINDANC color -1 -1 -1 alarm 0 door_lock 0 0 10000 at 994.148 -1669.127 9.4978 angle 10.6334 014C: set_parked_car_generator $RAINDANCE cars_to_generate_to 101 It compiles but they never show up. EVER. Link to post Share on other sites
Silent 15,836 Posted October 13, 2010 Share Posted October 13, 2010 014B: $PARKED_RHINO = init_parked_car_generator #RHINO color -1 -1 force_spawn 1 alarm 0 door_lock 0 unknown_ipl_11 0 10000 at 2435.302 -1671.848 12.8007 angle 90.0 change force_spawn from -1 to 1. You should update sascm.ini and opcodes.txt from Opcode DB Link to post Share on other sites
kal-el5676 1 Posted October 13, 2010 Share Posted October 13, 2010 (edited) Thanks. Still doesn't work though. EDIT: It does work, but i need to start a new game? Edited October 13, 2010 by kal-el5676 Link to post Share on other sites
Silent 15,836 Posted October 13, 2010 Share Posted October 13, 2010 If this is done in CLEO, then not. If you've pasted that line into main.scm, sadly you have to start a new game. Link to post Share on other sites
kal-el5676 1 Posted October 13, 2010 Share Posted October 13, 2010 Yeah, it's cleo. But they never spawn on my saved game and always do in a new game. Link to post Share on other sites
ZAZ 663 Posted October 22, 2010 Author Share Posted October 22, 2010 Ok, super weird/dumb question. Why don't my helicopter spawns ever work? Example: 014B: $RAINDANCE = init_parked_car_generator #RAINDANC color -1 -1 -1 alarm 0 door_lock 0 0 10000 at 994.148 -1669.127 9.4978 angle 10.6334 014C: set_parked_car_generator $RAINDANCE cars_to_generate_to 101 It compiles but they never show up. EVER. You should use local variables in cleo scripts: [email protected] = init_parked_car_generator Your savegame seems to be corrupted. Start a unmodded gtasa installation and make a savegame. Then put the cleo files and scripts inthere and load that savegame use 0A95: enable_thread_saving Where should the RAINDANC be ? the y,x,z coords are in a building in LS - Verona Beach increase the z- height to 30.0 to generate the heli on the roof script below installs an pareked car generator to spawn RAINDANC on roof in LS and teleports the player as soon as he is outside near the heli you must first leave this area, far enough, and then come back {$CLEO .cs}:PARKCAR_203A4: name_thread 'PARKCAR'0001: wait 3000 ms0A95: enable_thread_saving014B: [email protected] = init_parked_car_generator #RAINDANC color -1 -1 -1 alarm 0 door_lock 0 0 10000 at 994.148 -1669.127 30.4978 angle 10.6334014C: set_parked_car_generator [email protected] cars_to_generate_to 101:PARKCAR_4wait 1000077E: get_active_interior_to [email protected] 0039: [email protected] == 0 jf @PARKCAR_4wait 400000A1: put_actor $PLAYER_ACTOR at 990.148 -1665.127 30.49780A93: end_custom_thread Link to post Share on other sites
rapsis2x2 1 Posted October 22, 2010 Share Posted October 22, 2010 I must read ALL that? Man, scripting is some serious sh*t. Link to post Share on other sites
rooood 0 Posted October 23, 2010 Share Posted October 23, 2010 (edited) ZAZ (or anyone who knows how to solve my problem), I need some help on a car dealer script. I'm doing a test drive funcionality and to end it the player must bring hte car back to the dealer. So far so good, but I want the player to exit the car and enter the dealer (Wang Cars on San Fierro) running. I'm using scm paths (I used them without problems to drive a car), but I can't use it to make the player walk or run following the path (he always go straight to the last point on the path, OR tries to walk on a native SA path, idk). So, how I'm supposed to use the opcode 05D8 to do this? I'm using it as 05D8: AS_assign_scmpath to_actor $PLAYER_ACTOR flags 7 3, but the player is running towards the glass wall. Btw, code for the path points: 05D6: clear_scmpath05D7: add_point_to_scmpath -1966.6013 294.0324 35.468705D7: add_point_to_scmpath -1962.5699 293.9888 35.468705D7: add_point_to_scmpath -1955.0 303.0 35.468705D8: AS_assign_scmpath to_actor $PLAYER_ACTOR flags 7 3 EDIT: Tested with only the first point and it worked (it was just a straight line though). tested with the 2 first points and something bizarre happenned: Actor ran to first point but instead of keeping running forward to the next point (which is basically ahead of the 1st one) he turn back and stopped at a random point way off the specified coordinates. And when I put all 3 points he just goes straight to the last point. When i tested with 1 and 2 points, I updated last parameter to 1 and 2, respectively. Edited October 23, 2010 by rooood Link to post Share on other sites
ZAZ 663 Posted October 25, 2010 Author Share Posted October 25, 2010 I must read ALL that? Man, scripting is some serious sh*t. No, you must read the first lesson (first post) then make your first attemts then read the next posts and test the example scripts then write your own small scripts and test it just to get praxis you need praxis in writing and testing scripts ZAZ (or anyone who knows how to solve my problem), I need some help on a car dealer script.I'm doing a test drive funcionality and to end it the player must bring hte car back to the dealer. So far so good, but I want the player to exit the car and enter the dealer (Wang Cars on San Fierro) running. I'm using scm paths (I used them without problems to drive a car), but I can't use it to make the player walk or run following the path (he always go straight to the last point on the path, OR tries to walk on a native SA path, idk). So, how I'm supposed to use the opcode 05D8 to do this? I'm using it as 05D8: AS_assign_scmpath to_actor $PLAYER_ACTOR flags 7 3, but the player is running towards the glass wall. Btw, code for the path points: 05D6: clear_scmpath05D7: add_point_to_scmpath -1966.6013 294.0324 35.468705D7: add_point_to_scmpath -1962.5699 293.9888 35.468705D7: add_point_to_scmpath -1955.0 303.0 35.468705D8: AS_assign_scmpath to_actor $PLAYER_ACTOR flags 7 3 EDIT: Tested with only the first point and it worked (it was just a straight line though). tested with the 2 first points and something bizarre happenned: Actor ran to first point but instead of keeping running forward to the next point (which is basically ahead of the 1st one) he turn back and stopped at a random point way off the specified coordinates. And when I put all 3 points he just goes straight to the last point. When i tested with 1 and 2 points, I updated last parameter to 1 and 2, respectively. my grafichardware is defect, can't test anything ingame play around with the flag values 05D6: clear_scmpath05D7: add_point_to_scmpath [email protected] [email protected] [email protected]: add_point_to_scmpath [email protected] [email protected] [email protected]: AS_assign_scmpath to_actor [email protected]([email protected],12i) flags 4 2 Link to post Share on other sites
EdUaRdO - Brazil 12 Posted November 14, 2010 Share Posted November 14, 2010 Awesome work ZAZ....this is very helpfull for all Link to post Share on other sites
ZAZ 663 Posted November 19, 2010 Author Share Posted November 19, 2010 Awesome work ZAZ....this is very helpfull for all thanks EdUaRdO, nice website Link to post Share on other sites
EdUaRdO - Brazil 12 Posted November 19, 2010 Share Posted November 19, 2010 (edited) Edited December 1, 2010 by EdUaRdO - Brazil Link to post Share on other sites
EdUaRdO - Brazil 12 Posted December 1, 2010 Share Posted December 1, 2010 Awesome work ZAZ....this is very helpfull for all thanks EdUaRdO, nice website Hey ZAZ, you know how to block scripts cleo or prevent it from being decompiled? Why has not some that decompiles Sanny .. was wondering if there's any way to do this .. Tnks Link to post Share on other sites
ZAZ 663 Posted December 1, 2010 Author Share Posted December 1, 2010 (edited) Awesome work ZAZ....this is very helpfull for all thanks EdUaRdO, nice website Hey ZAZ, you know how to block scripts cleo or prevent it from being decompiled? Why has not some that decompiles Sanny .. was wondering if there's any way to do this .. Tnks add three unused codelines at the scriptend and then try to find it with hexeditor in the compiled cleo script you should look for dots before the global variable list start and change one dot with three letters Edited December 1, 2010 by ZAZ Link to post Share on other sites