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
    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 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 Mods
    10. GTA Vice City

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

      1. Guides & Strategies
      2. Help & Support
      3. GTA 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

TimDragon

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

Recommended Posts

TimDragon

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

Share this post


Link to post
Share on other sites
TimDragon

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.

Share this post


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

Share this post


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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Spider-Vice

@Jitnaught Sorry about the post approval delay, it got caught in the "porn" filter.

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.

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.


  • 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.