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

    1. GTANet.com

    1. GTA Online

      1. The Cayo Perico Heist
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Red Dead Online

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

    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. Grand Theft Auto Series

    2. GTA VI

      1. St. Andrews Cathedral
    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
    6. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
    7. GTA III

      1. Guides & Strategies
      2. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

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

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

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

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

    1. Announcements

    2. Support

    3. Suggestions

C# opcodes for "no-pоrn mod"


TimDragon

Recommended Posts

Hi, everyone! I decided to remove hookers and strippers from the game to make a cencored version of GTA IV.

My coding skills: I created my first C# script in Visual Studio and it worked :-). But it is so hard to find C# opcodes and functions for coding.

In particular, I need opcode for finding hooker and stripper peds near Niko. It is a first part of code.

The second part of code is a removing of found peds from player's field of view.

Could you help me, please?

Edited by TimDragon
  • Like 1
Link to post
Share on other sites

OK, i've found a function to remove a ped: ped.Delete();

Now I need a function to find a ped of particular model in Niko's sight radius.

Link to post
Share on other sites
TheSangheili

I like that, No, I respect that. I'm at work right now. so I'll just give you hints. Here is what I know:

 

1. They are not called C# Opcodes, they are called API (Application Programing Interface)

2. You can download the API Documentation if you want to know ALL api (google "GTA 4 Script hook .net documentation")

3. Get All The Peds In The Game

4. Check that every single one of them is not NULL

5. Check that the ped exists in the game

6. Check the ped's HONOR

7. Delete pigs

// NOT TESTED

// in constructor
Interval = 1000; // World.GetPeds() may slow the game!!! wait 1 sec before calling again

// in on_tick method
try {
  Ped[] all_peds_in_gta_world = World.GetPeds(); // not safe, throws some exceptions
  for (int i = 0; i < all_peds_in_gta_world.Length; i++) {
    if (all_peds_in_gta_world[i] == null || !Game.Exists(all_peds_in_gta_world[i])) {
      // the idiot does not exist
      continue;
    }
    if (HasNoHonor(all_peds_in_gta_world[i]) {
      all_peds_in_gta_world[i].Delete(); // Ped.Delete() as you said
    }
  }
catch {
  // ignored
}

9. HasNoHonor Function should look like this:

        public bool HasNoHonor(Ped p)
        {
            if (p.isRequiredForMission)
            {
                return false; // to avoid crashing the game or messing up missions!!!
            }
            // This only removes prostitutes, I do not know if strippers are included
            return p.RelationshipGroup == RelationshipGroup.Prostitute;
        }

10. Like and subscribe, no wait, wait, wait... this is not youtube! I don't have a youtube channel... FORGET ABOUT 10!

 

Edited by TheSangheili
Try Catch
Link to post
Share on other sites
TheSangheili

Hold on! I think there is a way to remove them from the game data, or at least block them from spawning... But I have no idea how.

 

As Jar Jar Binks puts it:

Quote

Hold on! messa thinking dessa a way to removen dodo from da game data, or at least block dodo from spawnen. But messa have nosa idea how

                                             - https://lingojam.com/JarJarBinks

 

 

Edited by TheSangheili
Link to post
Share on other sites
  • 4 weeks later...
Jitnaught

Here is a full example of a .NET script that removes all stripper and prostitute pedestrians:

 

using GTA;
using System;
using System.Collections.Generic;

namespace NoPorn
{
    public class NoPorn : Script
    {
        List<int> modelsToDelete = new List<int>();

        public NoPorn()
        {
            modelsToDelete.Add(new Model("F_Y_HOOKER_01").Hash);
            modelsToDelete.Add(new Model("F_Y_HOOKER_03").Hash);
            modelsToDelete.Add(new Model("F_Y_STRIPPERC01").Hash);
            modelsToDelete.Add(new Model("F_Y_STRIPPERC02").Hash);
            if (Game.CurrentEpisode == GameEpisode.TLAD) modelsToDelete.Add(new Model("F_Y_BIKESTRIPPER_01").Hash);
            
            Interval = 1000;
            Tick += NoPorn_Tick;
        }

        private void NoPorn_Tick(object sender, EventArgs e)
        {
            RemovePeds();
        }

        private void RemovePeds()
        {
            foreach (Ped ped in World.GetAllPeds())
            {
                if (ped != null && ped.Exists() && ped != Game.LocalPlayer.Character && modelsToDelete.Contains(ped.Model.Hash))
                {
                    ped.Delete();
                }

                Wait(0);
            }
        }
    }
}

Tested on GTA IV 1.0.7.0, works fine.

 

To use all you should have to do is...

  • Create a new file in "GTA V directory/scripts/" named "NoPorn.cs"
  • Open the file in a text editor
  • Copy and paste the code into the text editor, then save
  • Run GTA IV and see if it works

@TheSangheili isRequiredForMission seems to always return true for (at least) prostitutes, so that can't be used to curb breakage in missions.

Edited by Jitnaught
changed hooker to stripper
Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

×
×
  • Create New...

Important Information

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