xana Posted October 19, 2010 Share Posted October 19, 2010 Can we replace the aim cross, by a laser ? Like Resident evil 4 & 5 game ? Not just a red, green, or any colour point, a real laser ^^ Something like this : Without aim cross, of course Thanks ! Link to comment Share on other sites More sharing options...
BnB Posted October 19, 2010 Share Posted October 19, 2010 Yeah, If you make a script for the laser and make aim texture transparent! Link to comment Share on other sites More sharing options...
yair1221 Posted October 19, 2010 Share Posted October 19, 2010 the laser can be done with the model i downloaded an M4 with a laser once.... i think it was on gtainside as well as another 100000000 models...wish you good luck finding it Link to comment Share on other sites More sharing options...
xana Posted October 19, 2010 Author Share Posted October 19, 2010 I had it, long time ago... But it's not really what I want, because the laser don't " touch " the target, it pass trought Link to comment Share on other sites More sharing options...
coin-god Posted October 19, 2010 Share Posted October 19, 2010 Weeser was working on a laser mod RE4 style. You did not see the laser trail, but the dot did collide with objects, and was interesting. Not sure if he finished it. Here is an old video: http://www.xfire.com/video/1be6c8/ The aiming is kinda off, but Wesser fixed it. Link to comment Share on other sites More sharing options...
yair1221 Posted October 19, 2010 Share Posted October 19, 2010 guess you can also create it as a particle you can start from the base of the searchlight... Link to comment Share on other sites More sharing options...
xana Posted October 20, 2010 Author Share Posted October 20, 2010 I will see with wesser It's just what I want ^^ Link to comment Share on other sites More sharing options...
Wesser Posted November 3, 2010 Share Posted November 3, 2010 After playing a bit with IDA, I figured out a quick way to avoid some iterations by using game routines. Here is the code: { FUNCTIONS INCLUDED:- getAimPoint Type: GET Description: Get the point where player is looking/aiming at.- getLaserPoint Type: GET Description: Get laser point between 2 points.- getIntPoint Type: GET Description: Get the intersection between 2 points.- getActorBonePos Type: GET Description: Get the XYZ coords of a ped's bone.- getLocalVarOffset Type: GET Description: Get local var offset from thread pointer.}{$CLEO}0000: NOP0A8C: write_memory 0xC1704C size 1 value 105 virtual_protect 0 // 60fps// Disable crosshair0A8C: write_memory 0x58FBBF size 4 value 0x90909090 virtual_protect 1 0A8C: write_memory 0x58FBC3 size 1 value 0x90 virtual_protect 1 while true wait 0 0470: [email protected] = actor $PLAYER_ACTOR current_weapon [email protected] *= 0x70 [email protected] += 0xC8AAB8 [email protected] += 0x8 0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 // weapon range 00A0: store_actor $PLAYER_ACTOR position_to [email protected] [email protected] [email protected] 0AB1: call_scm_func @getAimPoint 4 range [email protected] from [email protected] [email protected] [email protected] camera_to [email protected] [email protected] [email protected] point_to [email protected] [email protected] [email protected] 0AB1: call_scm_func @getLaserPoint 6 from [email protected] [email protected] [email protected] to [email protected] [email protected] [email protected] store_to [email protected] [email protected] [email protected] 04D5: create_corona_at [email protected] [email protected] [email protected] radius 0.05 type 0 flare 0 RGB 255 0 0 end:getAimPoint{ Parameters: Passed: [email protected] - aiming range [email protected] - start point X [email protected] - start point Y [email protected] - start point Z Result: [email protected] - camera point X [email protected] - camera point Y [email protected] - camera point Z [email protected] - aim point X [email protected] - aim point Y [email protected] - aim point Z Example: 0AB1: call_scm_func @getAimPoint 4 range 20.0 from 0.0 0.0 0.0 camera_to [email protected] [email protected] [email protected] point_to [email protected] [email protected] [email protected] }0A9F: [email protected] = current_thread_pointer0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 4 store_to [email protected] 0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 7 store_to [email protected] 0AA6: call_method 0x514970 struct 0xB6F028 num_params 6 pop 0 pPoint [email protected] pCamera [email protected] fZ [email protected] fY [email protected] fX [email protected] fRange [email protected] 0AB2: ret 6 [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] :getLaserPoint{ Parameters: Passed: [email protected] - start point X [email protected] - start point Y [email protected] - start point Z [email protected] - end point X [email protected] - end point Y [email protected] - end point Z Result: [email protected] - middle point X [email protected] - middle point Y [email protected] - middle point Z Example: 0AB1: call_scm_func @getLaserPoint 6 from 0.0 0.0 0.0 to 1.0 0.0 0.0 store_to [email protected] [email protected] [email protected] }0A96: [email protected] = actor $PLAYER_ACTOR struct0AB1: call_scm_func @getIntPoint 12 from [email protected] [email protected] [email protected] to [email protected] [email protected] [email protected] solid 1 car 1 actor 1 object 1 particle 0 ignore_entity [email protected] store_to [email protected] [email protected] [email protected] distance_to [email protected] 0AB1: call_scm_func @getActorBonePos 2 actor $PLAYER_ACTOR bone 25 store_to [email protected] [email protected] [email protected] if 06BD: no_obstacles_between [email protected] [email protected] [email protected] and [email protected] [email protected] [email protected] solid 1 car 1 actor 1 object 1 particle 0 then 0087: [email protected] = [email protected] 0087: [email protected] = [email protected] 0087: [email protected] = [email protected] end0AB2: ret 3 [email protected] [email protected] [email protected] :getIntPoint{ Parameters: Passed: [email protected] - start point X [email protected] - start point Y [email protected] - start point Z [email protected] - end point X [email protected] - end point Y [email protected] - end point Z [email protected] - is solid [email protected] - is car [email protected] - is actor [email protected] - is object [email protected] - is particle [email protected] - entity to ignore (offset) Result: [email protected] - middle point X [email protected] - middle point Y [email protected] - middle point Z [email protected] - distance Example: 0AB1: call_scm_func @getIntPoint 12 from 0.0 0.0 0.0 to 1.0 0.0 0.0 solid 1 car 0 actor 0 object 0 particle 0 ignore_entity 0x0 store_to [email protected] [email protected] [email protected] distance_to [email protected] }if [email protected] <> 0x0 then 0A8C: write_memory 0xB7CD68 size 4 value [email protected] virtual_protect 0 end0A9F: [email protected] = current_thread_pointer0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 0 store_to [email protected] // from => [email protected]@0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 3 store_to [email protected] // to => [email protected]@0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 12 store_to [email protected] // out => [email protected]@0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 15 store_to [email protected] // out => [email protected]: call_function 0x56BA00 num_params 12 pop 12 bIgnoreShootThroughStuff 0 bIgnoreSomeObjectsForCamera 0 bIgnoreSeeThroughStuff 0 bDummies [email protected] bObject [email protected] bActor [email protected] bCar [email protected] bBuilding [email protected] fDistance [email protected] pPoint [email protected] pTarget [email protected] pOrigin [email protected] bReturn [email protected] if [email protected] <> 0x0 then 0A8C: write_memory 0xB7CD68 size 4 value 0 virtual_protect 0 end0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 21 store_to [email protected] // out => [email protected]@if [email protected] <> 0 then if and [email protected] <> 0.0 [email protected] <> 0.0 [email protected] <> 0.0 then 050A: [email protected] = distance_between_XYZ [email protected] [email protected] [email protected] and_XYZ [email protected] [email protected] [email protected] endelse [email protected] = 0.0 end0AB2: ret 4 [email protected] [email protected] [email protected] [email protected] :getActorBonePos{ Parameters: Passed: [email protected] - actor [email protected] - bone number Result: [email protected] - bone point X [email protected] - bone point Y [email protected] - bone point Z Example: 0AB1: call_scm_func @getActorBonePos 2 actor [email protected] bone 0 store_to [email protected] [email protected] [email protected] Values: http://www.google.com/codesearch/p?hl=it#KdIewVX4zdg/trunk/MTA10/sdk/game/CPed.h&q=eBone%20package:http://mtasa-blue%5C.googlecode%5C.com&sa=N&cd=1&ct=rc&l=43}0A96: [email protected] = actor [email protected] struct0A9F: [email protected] = current_thread_pointer0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 2 store_to [email protected] 0AA6: call_method 0x5E4280 struct [email protected] num_params 3 pop 0 bUnk 1 nBone [email protected] pPoint [email protected] 0AB2: ret 3 [email protected] [email protected] [email protected] :getLocalVarOffset{ Parameters: Passed: [email protected] - thread pointer [email protected] - var number Result: [email protected] - var value Example: 0AB1: call_scm_func @getLocalVarOffset 2 thread [email protected] var 0 store_to [email protected] }if [email protected] <> 0 then [email protected] *= 0x4 0A8E: [email protected] = [email protected] + 0xDC // mission flag if [email protected] == 1 then [email protected] += 0xA48960 // mission locals else 005A: [email protected] += [email protected] [email protected] += 0x3C endelse [email protected] = 0 end0AB2: ret 1 [email protected] I guess it works as your preferences. 012 345 678 9A BCD EFG HIJK LMN OPQR STUV WX YZ Link to comment Share on other sites More sharing options...
coin-god Posted November 3, 2010 Share Posted November 3, 2010 Wesser, you are awesome. Link to comment Share on other sites More sharing options...
TheSiggi Posted November 3, 2010 Share Posted November 3, 2010 Let me see.... ... .... .... ... < thats my exact reaction :lol Agreeing with goin-god Link to comment Share on other sites More sharing options...
coin-god Posted November 3, 2010 Share Posted November 3, 2010 Actually my reaction was like He wrote a Cleo using real programming structure. Someone new to Programming could think thats written in C# And just the other day I was wondering how to work like this in coding, using Functions or Procedures and Calling them. Its a beautiful script. Link to comment Share on other sites More sharing options...
TheSiggi Posted November 3, 2010 Share Posted November 3, 2010 Well the script itself is indeed a beauty and like his walkstyle changer and the snippet for writting coords into a file I realy appreciate the structure and also the way the functions are used. In game the script looks just realy cool (beside the dot is there always) and owning peope with a aser sight almost doubles the fun Someone new to Programming could think thats written in C# ehh? Its a beautiful script. Indeed btw, Wesser: hows your progress on your SDK? Link to comment Share on other sites More sharing options...
Wesser Posted November 17, 2010 Share Posted November 17, 2010 coin-god, you've propably exceded a bit. At present, none of the known programming languages has this pre-defined structure. You'd rather say it's similar but nobody will be confused after learning it. The_Siggi, I'm still working to put my website online so I've just stopped working on those SDK. 012 345 678 9A BCD EFG HIJK LMN OPQR STUV WX YZ Link to comment Share on other sites More sharing options...
ZAZ Posted November 17, 2010 Share Posted November 17, 2010 Excellent script, Wesser. I wanna use your methods for future scripts, if you confirm (please reply), for scripts of Project Fantsia to get the aiming target point and throw objects as well as the script in the current version and add a Lasersight effect CLEO MODS CLEO Script Tutorial Link to comment Share on other sites More sharing options...
Wesser Posted November 17, 2010 Share Posted November 17, 2010 Sure, I love those new effects since I can't realize the way they could be done. 012 345 678 9A BCD EFG HIJK LMN OPQR STUV WX YZ Link to comment Share on other sites More sharing options...
Deji Posted November 17, 2010 Share Posted November 17, 2010 Nice find on that bone position function. Much easier than calling all those other functions manually. I'm wondering if you know of any similar methods for vehicles? Knowing the exact position of vehicle components seems very useful. I've been doing some research into components recently (amongst other things). Anyway.. this page is annoyingly wide, so I'll come back to check out the script later Link to comment Share on other sites More sharing options...
ZAZ Posted November 17, 2010 Share Posted November 17, 2010 (edited) Sure, I love those new effects since I can't realize the way they could be done. thanks the effects.fxp is data to define effects and allocate settings, mostly to show alpha textures of effectPC.txd and move them, rotate, grow or decrease them, can have time steps the result must be executed from exe or maybe allocated to a directx enviroment? i can only modify a little bit, change size and colors, making textures is difficult because you mostly see the border of the picture Function-X- is an expert, i'm wondering how he can do it Edited November 17, 2010 by ZAZ CLEO MODS CLEO Script Tutorial Link to comment Share on other sites More sharing options...
lolleroz Posted November 17, 2010 Share Posted November 17, 2010 Just a heads up, I didn't read the topic clearly so dunno if you guys got it working or not, but Ryosuke's weapons' accesory mods includes lasers, aim sights, and alot more: http://hotmist.ddo.jp/cleomod/custom/index.html look for 'Weapon Accesory' Link to comment Share on other sites More sharing options...
xhero2503 Posted March 12, 2011 Share Posted March 12, 2011 O.o how you get that code work lol i want it too :[ Link to comment Share on other sites More sharing options...
EUX adamant4 Posted March 12, 2011 Share Posted March 12, 2011 I have made a script based off Wesser's that does add a beam (just for educational purposes). Unfortunately the only thing that works properly is using searchlights, as Adler mentioned above It works pretty well, and has taught me how to make my own functions lol- It still has a few rough edges to be smoothed out, like the beam not coming from the gun, but other than that its perfect (apart from the beam being white ) Link to comment Share on other sites More sharing options...
12jango Posted August 25, 2011 Share Posted August 25, 2011 Excuse me, how do I manage to adjust the corona's position as I desire? (eg; I want to put the corona at the middle, not at the upper-right of the screen) Link to comment Share on other sites More sharing options...
ZAZ Posted November 27, 2021 Share Posted November 27, 2021 Wessers script recreated in new forums code block { FUNCTIONS INCLUDED: - getAimPoint Type: GET Description: Get the point where player is looking/aiming at. - getLaserPoint Type: GET Description: Get laser point between 2 points. - getCollisionBetweenPoints Type: GET Description: Get the collision point coords between 2 points. - getLocalVarOffset Type: GET Description: Get local var offset from thread pointer. } {$CLEO} 0000: NOP 0A8C: write_memory 0xC1704C size 1 value 105 virtual_protect 0 // 60fps // Disable crosshair 0A8C: write_memory 0x58FBBF size 4 value 0x90909090 virtual_protect 1 0A8C: write_memory 0x58FBC3 size 1 value 0x90 virtual_protect 1 while true wait 0 0470: 0@ = actor $PLAYER_ACTOR current_weapon 0@ *= 0x70 0@ += 0xC8AAB8 0@ += 0x8 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 // weapon range 00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@ 0AB1: call_scm_func @getAimPoint 4 range 0@ from 1@ 2@ 3@ camera_to 4@ 5@ 6@ point_to 7@ 8@ 9@ 0AB1: call_scm_func @getLaserPoint 6 from 4@ 5@ 6@ to 7@ 8@ 9@ store_to 10@ 11@ 12@ 04D5: create_corona_at 10@ 11@ 12@ radius 0.05 type 0 flare 0 RGB 255 0 0 end :getAimPoint { Parameters: Passed: 0@ - aiming range 1@ - start point X 2@ - start point Y 3@ - start point Z Result: 4@ - camera point X 5@ - camera point Y 6@ - camera point Z 7@ - aim point X 8@ - aim point Y 9@ - aim point Z Example: 0AB1: call_scm_func @getAimPoint 4 range 20.0 from 0.0 0.0 0.0 camera_to 1@ 2@ 3@ point_to 4@ 5@ 6@ } 0A9F: 12@ = current_thread_pointer 0AB1: call_scm_func @getLocalVarOffset 2 thread 12@ var 4 store_to 10@ 0AB1: call_scm_func @getLocalVarOffset 2 thread 12@ var 7 store_to 11@ 0AA6: call_method 0x514970 struct 0xB6F028 num_params 6 pop 0 pPoint 11@ pCamera 10@ fOriginZ 3@ fOriginY 2@ fOriginX 1@ fRange 0@ // CCamera__Find3rdPersonCamTargetVector 0AB2: ret 6 4@ 5@ 6@ 7@ 8@ 9@ :getLaserPoint { Parameters: Passed: 0@ - start point X 1@ - start point Y 2@ - start point Z 3@ - end point X 4@ - end point Y 5@ - end point Z Result: 6@ - middle point X 7@ - middle point Y 8@ - middle point Z Example: 0AB1: call_scm_func @getLaserPoint 6 from 0.0 0.0 0.0 to 1.0 0.0 0.0 store_to 1@ 2@ 3@ } 0A96: 11@ = actor $PLAYER_ACTOR struct 0AB1: call_scm_func @getCollisionBetweenPoints 17 from 0@ 1@ 2@ to 3@ 4@ 5@ solid 1 car 1 actor 1 object 1 particle 1 cartyre 1 water 0 ignore_entity 11@ see_through 0 camera_objects 0 shoot_through 0 store_to 6@ 7@ 8@ distance_to 9@ entity_to 10@ 0AB2: ret 3 6@ 7@ 8@ :getCollisionBetweenPoints { Parameters: Passed: 0@ - start point X 1@ - start point Y 2@ - start point Z 3@ - end point X 4@ - end point Y 5@ - end point Z 6@ - is solid 7@ - is car 8@ - is actor 9@ - is object 10@ - is particle 11@ - is car tyre 12@ - is water 13@ - entity to ignore (offset) 14@ - no see-through stuff 15@ - no camera objects 16@ - no shoot-through stuff Result: 17@ - collision point X 18@ - collision point Y 19@ - collision point Z 20@ - distance 21@ - entity Example: 0AB1: call_scm_func @getCollisionBetweenPoints 17 from 0.0 0.0 0.0 to 1.0 0.0 0.0 solid 0 car 1 actor 0 object 0 particle 0 cartyre 1 water 0 ignore_entity 0x0 see_through 0 camera_objects 0 shoot_through 0 store_to 1@ 2@ 3@ distance_to 4@ entity_to 5@ } if 13@ <> 0x0 then 0A8C: write_memory 0xB7CD68 size 4 value 13@ virtual_protect 0 end 0A8C: write_memory 0xB7CD70 size 1 value 11@ virtual_protect 0 0A9F: 26@ = current_thread_pointer 0AB1: call_scm_func @getLocalVarOffset 2 thread 26@ var 0 store_to 22@ 0AB1: call_scm_func @getLocalVarOffset 2 thread 26@ var 3 store_to 23@ 0AB1: call_scm_func @getLocalVarOffset 2 thread 26@ var 17 store_to 24@ 0AB1: call_scm_func @getLocalVarOffset 2 thread 26@ var 21 store_to 25@ 0AA7: call_function 0x56BA00 num_params 12 pop 12 bIgnoreShootThroughStuff 16@ bIgnoreSomeObjectsForCamera 15@ bIgnoreSeeThroughStuff 14@ bDummy 10@ bObject 9@ bActor 8@ bCar 7@ bBuilding 6@ pEntity 25@ pPoint 24@ pTarget 23@ pOrigin 22@ bReturn 31@ // CWorld__ProcessLineOfSight if 13@ <> 0x0 then 0A8C: write_memory 0xB7CD68 size 4 value 0x0 virtual_protect 0 end if 31@ <> 0 then if and 17@ <> 0.0 18@ <> 0.0 19@ <> 0.0 then 050A: 20@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 17@ 18@ 19@ if 12@ == 1 then 0A9F: 26@ = current_thread_pointer 0AB1: call_scm_func @getLocalVarOffset 2 thread 26@ var 27 store_to 30@ 0AA7: call_function 0x6E61B0 num_params 7 pop 7 pPoint 30@ fTargetZ 5@ fTargetY 4@ fTargetX 3@ fOriginZ 2@ fOriginY 1@ fOriginX 0@ bResult 31@ // CWorld__TestLineAgainstWater if 31@ <> 0 then 0087: 17@ = 27@ 0087: 18@ = 28@ 0087: 19@ = 29@ 050A: 20@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 27@ 28@ 29@ end end 0AB2: ret 5 17@ 18@ 19@ 20@ 21@ end end 0AB2: ret 5 3@ 4@ 5@ 0.0 0x0 :getLocalVarOffset { Parameters: Passed: 0@ - thread pointer 1@ - var number Result: 1@ - var value Example: 0AB1: call_scm_func @getLocalVarOffset 2 thread 0@ var 0 store_to 1@ } if 0@ <> 0 then 1@ *= 0x4 0A8E: 2@ = 0@ + 0xDC // mission flag if 2@ == 1 then 1@ += 0xA48960 // mission locals else 005A: 1@ += 0@ 1@ += 0x3C end else 1@ = 0 end 0AB2: ret 1 1@ CLEO MODS CLEO Script Tutorial Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now