Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!   (84,657 visits to this link)

    2. News

    1. GTA Online

      1. Find Lobbies & Players
      2. Guides & Strategies
      3. Vehicles
      4. Content Creator
      5. Help & Support
    2. Crews

      1. Events
      2. Recruitment
    1. Grand Theft Auto Series

    2. GTA Next

    3. GTA V

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

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

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

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

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

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

      1. GTA Advance
      2. GTA 2
      3. GTA
    12. 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

    2. Red Dead Redemption

    3. 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. Forum Support

    2. Site Suggestions

odiomoratti

Interact with other scripts

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

Share this post


Link to post
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.

 

Share this post


Link to post
Share on other sites
julionib

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

Share this post


Link to post
Share on other sites
AgentWD40

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

Share this post


Link to post
Share on other sites
julionib

very nice

Share this post


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

×

Important Information

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