Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. The Criminal Enterprises
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

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

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    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. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. 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. Red Dead Redemption 2

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

    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
    1. Announcements

    2. Support

    3. Suggestions

*DO NOT* SHARE MEDIA OR LINKS TO LEAKED COPYRIGHTED MATERIAL. Discussion is allowed.

Interact with other scripts


odiomoratti
 Share

Recommended Posts

odiomoratti

Hi, there's a way to code a script that can start/stop/pause/ other scripts?

 

I mean.....i write two scripts bb.cs and dd.cs.....the bb.cs script should be able to know if dd.cs is running....and in the case be able to abort or pause it....

 

Hope you understand my answer. I script in c# and i'm using hazard scripthook. Thanks

Link to comment
Share on other sites

odiomoratti

At the end i just used the bind function to create some console command and then i used the sendcommand to control the other script....probably not a clean job, but well....it works.

 

Link to comment
Share on other sites

i was about to suggest this but i tought that you dont have access to the other scripts source codes hehe

Link to comment
Share on other sites

found this inside scripthooks dev folder 'for Developers>TestScriptVB>Scripts' also 'for Developers>TestScriptCS>Script'.

 

 

Imports SystemImports System.Windows.FormsImports GTA' ### This example shall show inter-script-communication using ScriptCommands.  ###' ### The first script gets a random Ped and sends it to the second script.     ###' ### The second script can then process the Ped as usual.                      ###Public Class ScriptCommunicationExample1  Inherits Script  ' Scripts are identified by GUIDs. Here we store the GUID of our target script into a global variable for later use  Private GuidOfScript2 As Guid = New Guid("0652B17E-FB29-11DD-97BB-2E9356D89593")  Private Sub ScriptCommunicationExample1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Tick     If isKeyPressed(Keys.T) Then SendAPedToScript2() ' Look for Peds every Frame, while T is pressed  End Sub  Private Sub SendAPedToScript2()     Dim p As Ped = World.GetRandomPed(Player.Character.Position, 10.0F) ' get a random Ped     If Not Exists(p) Then Return ' make sure that p is valid and not empty     SendScriptCommand(GuidOfScript2, "DoSomethingWithPed", p) ' send a command, with our ped attached, to the second script  End SubEnd ClassPublic Class ScriptCommunicationExample2  Inherits Script  Public Sub New()     ' set the script's GUID to enable other scripts to send messages to it.     ' IMPORTANT: DO NOT use the same GUID for multiple scripts! Generate a new one instead!     ' Google "generate guid" to find an online GUID generator!     GUID = New Guid("0652B17E-FB29-11DD-97BB-2E9356D89593")     BindScriptCommand("DoSomethingWithPed", AddressOf ThrowAPed)  End Sub  Private Sub ThrowAPed(ByVal sender As GTA.Script, ByVal Parameter As GTA.ObjectCollection)     Dim ped As Ped = Parameter.Convert(Of Ped)(0)     If Not Exists(ped) OrElse ped.isInAir Then Return     ped.ApplyForce(New Vector3(0.0F, 0.0F, 5.0F), New Vector3(0.0F, 5.0F, 0.0F))  End SubEnd Class

 

 

 

 

using System;using System.Windows.Forms;using GTA;namespace TestScriptCS {  // ### This example shall show inter-script-communication using ScriptCommands.  ###  // ### The first script gets a random Ped and sends it to the second script.     ###  // ### The second script can then process the Ped as usual.                      ###  public class ScriptCommunicationExample1 : Script {     // Scripts are identified by GUIDs. Here we store the GUID of our target script into a global variable for later use     Guid GuidOfScript2 = new Guid("0652B17E-FB29-11DD-97BB-2E9356D89593");     public ScriptCommunicationExample1() {        this.Tick += new EventHandler(this.ScriptCommunicationExample1_Tick);     }     private void ScriptCommunicationExample1_Tick(object sender, EventArgs e) {        if (isKeyPressed(Keys.T)) SendAPedToScript2(); // Look for Peds every Frame, while T is pressed     }     private void SendAPedToScript2() {        Ped p = World.GetRandomPed(Player.Character.Position, 10.0F); // get a random Ped        if (!Exists(p)) return; // make sure that p is valid and not empty        SendScriptCommand(GuidOfScript2, "DoSomethingWithPed", p); // send a command, with our ped attached, to the second script     }  }  public class ScriptCommunicationExample2 : Script {     public ScriptCommunicationExample2() {        // set the script's GUID to enable other scripts to send messages to it.        // IMPORTANT: DO NOT use the same GUID for multiple scripts! Generate a new one instead!        // Google "generate guid" to find an online GUID generator!        GUID = new Guid("0652B17E-FB29-11DD-97BB-2E9356D89593");        BindScriptCommand("DoSomethingWithPed", new ScriptCommandDelegate(ThrowAPed));     }     private void ThrowAPed(GTA.Script sender, GTA.ObjectCollection Parameter) {        Ped ped = Parameter.Convert<Ped>(0);        if (!Exists(ped) || ped.isInAir) return;        ped.ApplyForce(new Vector3(0.0F, 0.0F, 5.0F), new Vector3(0.0F, 5.0F, 0.0F));     }  }}

 

Edited by hardsty1e
Link to comment
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
 Share

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