Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Diamond Casino & Resort
      2. DLC
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

Sign in to follow this  
Jitnaught

Call native on dead ped

Recommended Posts

Jitnaught

So I'm trying to call a native (in .NET) on a dead ped, and it gives me an error...

Error during NetHook.Tick:

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Scripting.NativeContext2.Invoke(SByte* name, NativeContext2* cxt)
at GTA.Native.Function.BaseCall(String Name, Parameter[] Arguments)
at GTA.Native.Function.Call(String Name, Parameter[] Arguments)
at GTA.Native.Template.Invoke()
at GTA.ScriptDomain.RemoteEvent(RemoteEventArgs ev)
at GTA.ScriptDomain.ProcessRemoteEvents()
at GTA.ScriptDomain.Tick()
at GTA.NetHook.Tick()

Is there any way to bypass this?

Edited by LetsPlayOrDy

Share this post


Link to post
Share on other sites
NTAuthority

get a new handle for the ped?

Share this post


Link to post
Share on other sites
Jitnaught

get a new handle for the ped?

Hm?

Share this post


Link to post
Share on other sites
byteMe420

So I'm trying to call a native (in .NET) on a dead ped, and it gives me an error...

Error during NetHook.Tick:

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

at Scripting.NativeContext2.Invoke(SByte* name, NativeContext2* cxt)

at GTA.Native.Function.BaseCall(String Name, Parameter[] Arguments)

at GTA.Native.Function.Call(String Name, Parameter[] Arguments)

at GTA.Native.Template.Invoke()

at GTA.ScriptDomain.RemoteEvent(RemoteEventArgs ev)

at GTA.ScriptDomain.ProcessRemoteEvents()

at GTA.ScriptDomain.Tick()

at GTA.NetHook.Tick()

Is there any way to bypass this?

make sure you are testing your script by itself... remove all other script mods... if a script is using natives wrong then memory can get messed up and u see this... basically the reasons can be many and this error doesnt tell u much other than you need to re load your game and have the memory start over

 

also im convinced the scripthookdotnet is not perfect and eventually something breaks (perhaps not the fault of the shdn but the nature of the engine now having to deal with unexpected code) Remember you could be conflicting with R* scripts asyou can be messing up global objects... who knows i just know modding is not healthy for gta engine lol

Edited by byteMe420

Share this post


Link to post
Share on other sites
byteMe420

get a new handle for the ped?

he just means the ped is considered dead and he is calling some native on it... perhaps the native conflicts when a ped is in a dead state

 

he is using shdn and is passing a Ped object to the native which implicitly passes the handle to the native... Ped class handles the handle for you and Parameter class can pass a Ped object's handle property to natives... with shdn you dont need to think about handles, you just make instance of the ped class via looping existing peds (shdn method gets ped object array) or creating (shdn method)

Edited by byteMe420

Share this post


Link to post
Share on other sites
InfamousSabre

I usually only get that error if I am either:

a) Passing wrong parameters to the native

b) calling the native in a perframedraw

Share this post


Link to post
Share on other sites
NTAuthority

 

get a new handle for the ped?

he just means the ped is considered dead and he is calling some native on it... perhaps the native conflicts when a ped is in a dead state

 

he is using shdn and is passing a Ped object to the native which implicitly passes the handle to the native... Ped class handles the handle for you and Parameter class can pass a Ped object's handle property to natives... with shdn you dont need to think about handles, you just make instance of the ped class via looping existing peds (shdn method gets ped object array) or creating (shdn method)

 

a ped object is associated a single handle, so one'd need to get a new handle for the ped i.e. a new ped object

 

had the same issue on SA a few times, a ped I just killed would get a new handle so the rampage script I was working on then caused the ped to be listed as killed twice

 

alternately if the .net hook allows getting the handle manually and creating a ped from a handle one might be able to guess a new handle based on the uniqifier/maybe there's a pool method to get the uniqifier for an index

Share this post


Link to post
Share on other sites
byteMe420

oh ok i see what you mean, maybe the new handle for dead peds is the same in iv

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.