Jump to content
System downtime for updates - Sunday 13 July 2025 ×
The Dark Mod Forums

Recommended Posts

Posted (edited)

Hi,

 

what i want is to compare two floats. It's about checking the distance between the player and an AI and start a script if the distance is bigger than 128. I wrote:

 

void folgehelfer()

{

boolean eingreifen;

string abstand;

abstand = $player1.distanceTo($helfer1);

sys.println(abstand);

eingreifen = abstand > 128;

if (eingreifen = true)

{

call unbefugt();

}

}

 

it doesnt work: type mismatch for '>'

 

Does TDM / D3 know '>' and '<'? What is wrong?

Edited by Jasp

$guard.moveToPosition($player1.getOrigin());

Posted (edited)

but this doesnt work.

 

if (eingreifen = true)

{

call unbefugt();

}

 

it works without the 'call'

 

(no, script doesnt work.. they are attacking the player right from the start... but im new to this and im on it :) )

Edited by Jasp

$guard.moveToPosition($player1.getOrigin());

Posted

As an aside, even though I took it out of my response, this statement:

 

if (eingreifen = true)

 

is going to set eingreifen to TRUE, and the logic test will always be TRUE.

 

What you want to use when you do this sort of thing is

 

if (eingreifen == true)

Posted

but this doesnt work.

 

if (eingreifen = true)

{

call unbefugt();

}

 

it works without the 'call'

 

(no, script doesnt work.. they are attacking the player right from the start... but im new to this and im on it :) )

 

Yes, mea culpa. Should have noticed that.

 

Edit: It's probably not working because your logic statement is wrong. See my note above.

Posted

this is the whole thing. Works now, thanks alot!

 

void befugt()

{

$wache1.setEntityRelation($player1,1);

$wache1.setAlertLevel(0);

$wache2.setEntityRelation($player1,1);

$wache2.setAlertLevel(0);

sys.println("befugt");

}

 

void unbefugt()

{

$wache1.setEntityRelation($player1,-1);

$wache2.setEntityRelation($player1,-1);

sys.println("unbefugt");

}

 

void folgehelfer()

{

boolean eingreifen;

float abstand;

abstand = $player1.distanceTo($helfer1);

sys.println(abstand);

eingreifen = abstand > 128;

if (eingreifen)

{

unbefugt ();

}

else

{

befugt ();

}

}

$guard.moveToPosition($player1.getOrigin());

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.

  • Recent Status Updates

    • JackFarmer

      "The Year of the Rat." 
      😄

      Al Stewart must be proud of you!
      Happy testing!
      @MirceaKitsune
      · 1 reply
    • datiswous

      I posted about it before, but I think the default tdm logo video looks outdated. For a (i.m.o.) better looking version, you can download the pk4 attached to this post and plonk it in your tdm root folder. Every mission that starts with the tdm logo then starts with the better looking one. Try for example mission COS1 Pearls and Swine.
      tdm_logo_video.pk4
      · 2 replies
    • JackFarmer

      Kill the bots! (see the "Who is online" bar)
      · 3 replies
    • STiFU

      I finished DOOM - The Dark Ages the other day. It is a decent shooter, but not as great as its predecessors, especially because of the soundtrack.
      · 5 replies
    • JackFarmer

      What do you know about a 40 degree day?
      @demagogue
      · 4 replies
×
×
  • Create New...