Duke4.net Forums: EDuke32 Scripting - Duke4.net Forums

Jump to content

  • 124 Pages +
  • « First
  • 16
  • 17
  • 18
  • 19
  • 20
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

EDuke32 Scripting  "CON coding help"

User is offline   The Commander 

  • I used to be a Brown Fuzzy Fruit, but I've changed bro...

#511

Don't use setplayer[].posx etc inside the APLAYER code for MP use. That's just going to give you trouble.
0

User is offline   The Commander 

  • I used to be a Brown Fuzzy Fruit, but I've changed bro...

#512

What is the less code intensive (MP Wise) way to stop actors/player from flying different directions from "hitradius" infact, if I could remove the effect entirely all together would be great.

http://www.youtube.com/watch_private?v=Xy3...IMSfwYvhRVu1adg - 1:40 is what I am talking about.
Oddly enough, in MP clients ignore the movement effect but still suffer the damage from hitradius which is what I am after.

This post has been edited by The Commander: 25 March 2010 - 08:04 PM

0

User is offline   m210® 

#513

can you show the code?
0

User is offline   The Commander 

  • I used to be a Brown Fuzzy Fruit, but I've changed bro...

#514

View PostM210, on Mar 27 2010, 12:24 AM, said:

can you show the code?

code for what?
All actors do this when hit with hitradius
0

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#515

You want some actors to be immune to hitradius? If you check if actor.htpicnum equal to RADIUSEXPLOSION and them set actor.htextra to -1 it will be nullified. But it will also stop some generic explosions too, like Pipebomb I believe.
0

User is offline   The Commander 

  • I used to be a Brown Fuzzy Fruit, but I've changed bro...

#516

View PostFox, on Mar 27 2010, 01:51 AM, said:

You want some actors to be immune to hitradius? If you check if actor.htpicnum equal to RADIUSEXPLOSION and them set actor.htextra to -1 it will be nullified. But it will also stop some generic explosions too, like Pipebomb I believe.

No, I am just trying to nullify the impact/movement you get from hitradius but still suffer the damage from the hitradius.

Your code would stop both would it not from a glance.
0

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#517

Well, you can "hack" it storing the actor.ang and actor.xvel from last tic and set it whenever the actor.hitradius is over not -1. I think you would need to take some care whenever you change the speed during that tic...
0

#518

Guyz. The NUMSECTORS and NUMWALLS variables are treated as read-only. So, can't I generate new sectors during the game?

This post has been edited by CraigFatman: 26 March 2010 - 03:41 PM

0

User is offline   williamjcm 

#519

Hello again.

I played Call Of Duty 4: Modern Warfare a month ago and I noticed the health regen system.

I tried to code it into my mod. OK, works. But too fast (like 20 health points per second).

I want the HP to regen at 1hp per second if you manage to avoid shots for 3 seconds.

I might found the way for the 1hp per second :

// all APLAYER code above
if count 16 { addphealth 1 resetcount } // If one second isn't 16, tell me.
enda

But what about the 3 sec wait time. I am still unexperienced with the ifcount and similar commands.
0

User is offline   XThX2 

#520

I think 26 tics is one second. Use that instead.
0

User is offline   Marcos 

#521

I use this health system on my MOD!!
It's very cool!!
0

User is offline   XThX2 

#522

So I have been messing with horiz member of player and got an interesting idea for a weapon, which I couldn't seem to pull off.

How can I make 3 projectiles be shot such that they form a vertical line and one of them is slightly above the crosshair (where the player is aiming), the other in the middle and the third slightly below the crosshair ? I was kind of hoping I could use horiz for this, but after lots of tries I guess I can't.
0

User is offline   CruX 

#523

View PostXThX2, on Apr 14 2010, 08:04 AM, said:

So I have been messing with horiz member of player and got an interesting idea for a weapon, which I couldn't seem to pull off.

How can I make 3 projectiles be shot such that they form a vertical line and one of them is slightly above the crosshair (where the player is aiming), the other in the middle and the third slightly below the crosshair ? I was kind of hoping I could use horiz for this, but after lots of tries I guess I can't.


Horiz has more to do with the camera than anything else, so no, I don't imagine it would be useful for what you're trying to do. I would probably just create the weapon from scratch, make three unique projectiles for each position, then have the player shoot them when the fire button is pressed. You could edit the z-position of each projectile in event EGS (or maybe use RETURN after they're shot and edit it right there on the spot). Of course, that's right off the top of my head, but it makes sense to me.
0

User is offline   XThX2 

#524

I thought about it, but no it doesn't do me any good because I need the "angle the player is looking at Z" to have all 3 projectiles go to where the player aimed. That way, you can't do that, because the only varying factor is player's height.
0

User is offline   CruX 

#525

View PostXThX2, on Apr 14 2010, 09:34 AM, said:

I thought about it, but no it doesn't do me any good because I need the "angle the player is looking at Z" to have all 3 projectiles go to where the player aimed. That way, you can't do that, because the only varying factor is player's height.


Well, you can use horiz to check whether or not the player's aiming up/down, and change the projectile from there, it's just that horiz can't/isn't supposed to directly manipulate it.
0

User is offline   CruX 

#526

I've been trying to code enemies to load into the map with a certain idle state shows all of their angles (whether they see the player or not). Now, I got that to work easily enough, but I also wanted them to pursue the player ONLY if he was in a certain field of vision, so I figured what I could do was get the angle difference between the player and the enemy (i.e, what angle the enemy would have to be at to be facing the player), then add and subtract a number from it, and only have the enemy go into it's seeking AI if it's angle fell between the two numbers that were produced.

ifai AIT1IDLE // if the bad guy is in his idle state
{ ifcansee {
getplayer[THISACTOR].posx PERPLAYER1 
getplayer[THISACTOR].posy PERPLAYER2
getactor[THISACTOR].x TEMP1
getactor[THISACTOR].y TEMP2
subvarvar TEMP1 PERPLAYER1
subvarvar TEMP2 PERPLAYER2
getangle TEMP3 TEMP1 TEMP2 // get the angle he'd have to be at to be facing the player
ifvarl TEMP3 0 { mulvar TEMP3 -1 } // and if that angle happens to be less than zero, multiply it by -1
setvarvar TEMP6 TEMP3
setvarvar TEMP7 TEMP3 // store that value in two separate vars for later use


getactor[THISACTOR].ang TEMP5 // get the actor's actual angle

subvar TEMP6 200 // subtract 200 from one of the stored values
addvar TEMP7 200 // and add 200 to another, so this should create an array of values between TEMP7 and TEMP6 where the enemy can see the player

ifvarvarl TEMP5 TEMP7  { ifvarvarg TEMP5 TEMP6 { ai AIT1WALK } } // if the bad guy's angle is greater than the minimum needed angle, but less than the maximum, have him seek the player


This code does, in some small capacity work. Only problem is, it isn't working from the angle I 'need' it to be working from. The bad guy only goes into his seeking AI if I'm behind ( and usually kind of off to the side of) him. If I'm in front of him, he just stands there. The only thing I thought could fix this problem was adding 1024 to the needed angles, thinking that'd flip the values around or something, but he didn't do anything at all when I did that. Can anyone tell me what I'm screwing up?

EDIT: Nevermind, I think I just got it to work. I don't know if the math was suppose to be like this, but I flipped it around to where the enemy's angle subtracts from the player's angle, and it's working like a charm now.

This post has been edited by EmericaSkater: 11 June 2010 - 10:36 AM

0

User is offline   Danukem 

  • Duke Plus Developer

#527

I have working code for this somewhere. It goes like this:

1) Calculate the angle that would make the actor face the player (let's call this ANGLE1)

2) Use getincangle to calculate the difference between the actor's current angle and ANGLE1. The difference, which is the return var of the getincangle command, we will call DIFF.

3) If the absolute value of DIFF is less than 512 (or whatever number you deem appropriate) then the player is in the actor's cone of vision.
0

User is offline   CruX 

#528

View PostDeeperThought, on Jun 11 2010, 10:39 AM, said:

I have working code for this somewhere. It goes like this:

1) Calculate the angle that would make the actor face the player (let's call this ANGLE1)

2) Use getincangle to calculate the difference between the actor's current angle and ANGLE1. The difference, which is the return var of the getincangle command, we will call DIFF.

3) If the absolute value of DIFF is less than 512 (or whatever number you deem appropriate) then the player is in the actor's cone of vision.


Hmmm. I gave it a whirl and didn't have any luck, I may have misinterpreted something, though I've changed everything that might have caused it not to work, and the guy still switches into his seeking ai.

Quote

ifai AIT1IDLE
{ ifcansee {
getplayer[THISACTOR].posx PERPLAYER1
getplayer[THISACTOR].posy PERPLAYER2
getactor[THISACTOR].x TEMP1
getactor[THISACTOR].y TEMP2
subvarvar PERPLAYER1 TEMP1
subvarvar PERPLAYER2 TEMP2
getangle TEMP3 PERPLAYER1 PERPLAYER2 // get the angle he needs to face the player
ifvarl TEMP3 0 { mulvar TEMP3 -1 }
getactor[THISACTOR].ang TEMP5 // get his current angle
getincangle TEMP7 TEMP3 TEMP5 // get the difference between the two. When I first tried this, I had TEMP3 and TEMP5 swapped around, and he'd switch into his seeking ai as soon as I entered
// the room. With the variables like this, he doesn't do it immediately but he winds up doing it if I get to close, even though I haven't changed angles.

ifvarl TEMP7 512 { ai AIT1WALK break } // changing 512 to any other value doesn't seem to do anything


} }


I probably just royally screwed something up, but I've made all the changes I can think of.
0

User is offline   Danukem 

  • Duke Plus Developer

#529

Do not mulvar TEMP3 -1, because that will mess up the result of getincangle

Instead, use ifvarl TEMP7 0 mulvar TEMP7 -1 after the getincangle

If you look at my previous post, you'll notice that I said to use the absolute value of the result of getincangle, not to change something to an absolute value before getincangle

I'm assuming you have your variables in the correct order for getangle etc.

This post has been edited by DeeperThought: 11 June 2010 - 11:56 AM

0

User is offline   CruX 

#530

View PostDeeperThought, on Jun 11 2010, 11:52 AM, said:

Do not mulvar TEMP3 -1, because that will mess up the result of getincangle

Instead, use ifvarl TEMP7 0 mulvar TEMP7 -1 after the getincangle

If you look at my previous post, you'll notice that I said to use the absolute value of the result of getincangle, not to change something to an absolute value before getincangle

I'm assuming you have your variables in the correct order for getangle etc.


Yeah, that must've been what I did wrong, because I moved that line below the getincangle command and it works. So I've got two functional methods of doing this now, but I think I'll probably end up using yours because it's a bit less code-intensive and it looks like it can be manipulated to work with player distances a bit more easily as well. Thanks, DT.
0

User is offline   Chip 

#531

Hello!

The other day I decided to make it so the palfrom "tint" that comes on screen when the player takes damage, to be controlled through gamevars and the .pals on the player strcture.
However, I can't see how to set the "tensity" using .pals and didn't see anything else that could control this. Without the tensity, even a colour of 64 is very faded.

So, how can I control the "tensity" of tints set through .pals.

This post has been edited by Chip: 03 July 2010 - 07:33 AM

0

User is offline   Danukem 

  • Duke Plus Developer

#532

View PostChip, on Jul 3 2010, 04:55 AM, said:

Hello!

The other day I decided to make it so the palfrom "tint" that comes on screen when the player takes damage, to be controlled through gamevars and the .pals on the player strcture.
However, I can't see how to set the "tensity" using .pals and didn't see anything else that could control this. Without the tensity, even a colour of 64 is very faded.

So, how can I control the "tensity" of tints set through .pals.


Do you mean intensity? If so, then it's controlled by the pals_time member of the player struct. It's not stated in the description, but the greater the time left, the greater the intensity.
0

User is offline   Chip 

#533

Yeah, I did mean intensity.

Thanks!
0

User is offline   Jblade 

#534

How do I use the readarrayfromfile and writearraytofile commands? I tried the obvious (putting the array name after the command) but it just tells me it's a keyword and throws up an error.
0

User is offline   Danukem 

  • Duke Plus Developer

#535

View PostJames, on Jul 7 2010, 02:10 PM, said:

How do I use the readarrayfromfile and writearraytofile commands? I tried the obvious (putting the array name after the command) but it just tells me it's a keyword and throws up an error.


readarrayfromfile <arrayname> <quote#>


The name of the file that the array is stored in will be the quote

writearraytofile works the same way. I can add that to the wiki later, if no one else does.
0

User is offline   Jblade 

#536

Cool! just tested it and it works :) thanks!
0

#537

Lol I've got it. If we load an ART file into an array, it might be possible to access some textures directly via the script (for read only, of course).

EDIT
Added some shit to the Wiki (finally got to register, lol).

This post has been edited by CraigFatman: 08 July 2010 - 11:46 AM

0

#538

Could someone help me to code a little thing?
I wanted to make a sprite, that's invisible.
When you shoot it, it disappears and a looping sound is playing, so that the sound never goes away.

Is this possible, with that looping sound thingy, because it never works for me :)

Thanks in advance guys!
0

User is offline   CruX 

#539

View Postinsane_metalhead, on Jul 9 2010, 05:55 AM, said:

Could someone help me to code a little thing?
I wanted to make a sprite, that's invisible.
When you shoot it, it disappears and a looping sound is playing, so that the sound never goes away.

Is this possible, with that looping sound thingy, because it never works for me :)

Thanks in advance guys!


Making a sound effect loop is easy. http://wiki.eduke32....iki/Definesound You just set the sound effect's "type" to 3, so it can be used for a music/sfx sprite, and it'll loop (1 is the important part of the bit-field, as it's what actually makes the sound loop). I'd be able to throw together some code so you could see how it'd be done, but I really don't get what you mean in the rest of the post. I mean, if the sprite's invisible in the first place, you wouldn't have to make it 'turn' invisible when it's shot...
0

#540

View PostEmericaSkater, on Jul 9 2010, 04:11 PM, said:

Making a sound effect loop is easy. http://wiki.eduke32....iki/Definesound You just set the sound effect's "type" to 3, so it can be used for a music/sfx sprite, and it'll loop (1 is the important part of the bit-field, as it's what actually makes the sound loop). I'd be able to throw together some code so you could see how it'd be done, but I really don't get what you mean in the rest of the post. I mean, if the sprite's invisible in the first place, you wouldn't have to make it 'turn' invisible when it's shot...


No, I know. What I meant is that the sprite has to disappear eventhough it's invisible. I think it's done with the "killit" command, so when you shoot it again nothing happens.
I just don't know what to put first or to start with.
I got this, and trying to figure out what to do and such:

define WINDACTOR 19

useractor notenemy WINDACTOR
cstat 32768
ifpdistl 864
 ifcansee
  ifp palive
      ifhitweapon
      {
       soundonce WIND
      }
enda


But this doesn't does anything.
0

Share this topic:


  • 124 Pages +
  • « First
  • 16
  • 17
  • 18
  • 19
  • 20
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options