Sangman, on 20 December 2020 - 03:18 PM, said:
Why wait, it's already pre-broken because seekplayer is garbage and the hack also depends on line of sight.
Sangman, on 20 December 2020 - 03:18 PM, said:
Danukem, on 20 December 2020 - 03:23 PM, said:
This post has been edited by Reaper_Man: 20 December 2020 - 06:27 PM
Danukem, on 20 December 2020 - 02:48 PM, said:
This post has been edited by Mark: 21 December 2020 - 06:50 AM
Mark, on 21 December 2020 - 06:35 AM, said:
define MG42NPC 3951
define MG42ANPC 3952 // the a is for ambience, this gun is placed outside the playable areas to make the world seem bigger than it really is.
action MG42STAND 0 1 5 1 0
action MG42FIRES 5 1 5 1 0
action MG42ASTAND -1 1 5 1 0
action MG42AFIRE 4 1 5 1 0
useractor notenemy MG42NPC 100 MG42STAND
ifaction MG42FIRES
{
ifactioncount 2
shoot SHOTSPARK1
sound MG42FIRE
ifrnd 64
{
shoot FIRELASER
}
ifactioncount 16
action MG42STAND
}
ifaction MG42STAND
ifrnd 8 // was 4
{
action MG42FIRES
resetactioncount
else action MG42STAND
}
ifhitweapon
{
debris SCRAP1 2
ifdead
{
sound VENT_BUST
debris SCRAP1 10
killit
}
}
enda
useractor notenemy MG42ANPC 100 MG42ASTAND // and the ambience version, basically the same but wont require an owner to run.
ifaction MG42AFIRE
{
ifactioncount 2
sound MG42FIRE
ifrnd 64
{
shoot FIRELASER
}
ifactioncount 16
action MG42ASTAND
}
ifaction MG42ASTAND
ifcansee ifp palive ifcanshoottarget
ifrnd 16 // was 4
{
action MG42AFIRE
resetactioncount
else action MG42ASTAND
}
ifhitweapon
{
debris SCRAP1 2
ifdead
{
sound VENT_BUST
debris SCRAP1 10
killit
}
}
enda
gamevar MGNEAR 0 0 findnearactor MGGUNNER 512 MGNEAR onevent MGNEAR 1 run code ( action MGSTAND, wich will loop in intervalls ) else action MGABANDONED or something ( same action as MGSTAND but wont run the shooting code )
This post has been edited by jimbob: 22 December 2020 - 10:48 AM
This post has been edited by Mark: 22 December 2020 - 03:19 PM
setvar DISTANCE 2147483647 // Maximum integer value, you should use some sort of realistic maximum range
setvar ACTORTARGET -1
setvar ACTORI 0
for ACTORI sprofstat 1
{
ifvare sprite[ACTORI].picnum MYACTOR
{
ldist ACTORCHECK THISACTOR ACTORI
ifvarvarl ACTORCHECK DISTANCE
{
setvarvar DISTANCE ACTORCHECK
setvarvar ACTORTARGET ACTORI
}
}
}
ifvare ACTORTARGET -1
killit // Couldn't find a valid target, goodbye
This post has been edited by Reaper_Man: 22 December 2020 - 06:33 PM
Reaper_Man, on 22 December 2020 - 04:29 PM, said:
setvar DISTANCE 2147483647 // Maximum integer value, you should use some sort of realistic maximum range
setvar ACTORTARGET -1
setvar ACTORI 0
for ACTORI allsprites
{
ifvare sprite[ACTORI].picnum MYACTOR
{
ldist ACTORCHECK THISACTOR ACTORI
ifvarvarl ACTORCHECK DISTANCE
{
setvarvar DISTANCE ACTORCHECK
setvarvar ACTORTARGET ACTORI
}
}
}
ifvare ACTORTARGET -1
killit // Couldn't find a valid target, goodbye
Danukem, on 22 December 2020 - 04:49 PM, said:
state checkoccupied
findnearsprite MGGUNNERSTAND ONMGDIST ONMG
ifvarn ONMG -1 { action MG42ASTAND break } // run code as normal
else { action MG42ADONOTHING break }
ends
useractor notenemy MG42ANPC 100 MG42ASTAND
ifaction MG42AFIRE
{
ifactioncount 2
state checkoccupied
shoot SHOTSPARK1
sound MG42FIRE
ifrnd 64
{
shoot FIRELASER
}
ifactioncount 16
action MG42ASTAND
}
ifaction MG42ASTAND state checkoccupied
ifcansee ifp palive ifcanshoottarget // only fire if can see the player
ifrnd 16 // was 4
{
ifvarn ONMG -1
action MG42AFIRE
resetactioncount
else
ifvarn ONMG -1 action MG42ASTAND
else action MG42ADONOTHING
}
ifhitweapon
{
debris SCRAP1 2
ifdead
{
sound VENT_BUST
debris SCRAP1 10
killit
}
}
ifaction MG42ADONOTHING
{
}
enda
This post has been edited by jimbob: 08 January 2021 - 12:40 PM
define MG42SHELL 3650 define MG42FS 3651 action MG42SFLY 0 4 1 1 4 action MG42FS1 -1 1 1 useractor notenemy MG42SHELL 0 MG42SFLY // ejected brass enda useractor notenemy MG42FS 0 MG42FS1 0 randomangle // shells on the floor fall sizeat 3 3 cstat 32 ifcount 300 killit enda defineprojectile 3650 PROJ_WORKSLIKE 6210 defineprojectile 3650 PROJ_XREPEAT 3 defineprojectile 3650 PROJ_YREPEAT 3 defineprojectile 3650 PROJ_VEL 150 defineprojectile 3650 PROJ_DROP -100 defineprojectile 3650 PROJ_BOUNCES -1 defineprojectile 3650 PROJ_CLIPDIST 0 defineprojectile 3650 PROJ_HITRADIUS -1 defineprojectile 3650 PROJ_BSOUND -1 defineprojectile 3650 PROJ_ISOUND -1 // defineprojectile 3650 PROJ_TOFFSET -30 // defineprojectile 365 PROJ_CSTAT 130 // defineprojectile 365 PROJ_RANGE 40 defineprojectile 3650 PROJ_SPAWNS MG42FS defineprojectile 3650 PROJ_EXTRA 0 defineprojectile 3650 PROJ_OFFSET 240
This post has been edited by jimbob: 30 January 2021 - 01:57 PM
gamevar TEMPANG 0 0
onevent EVENT_DOFIRE
ife player[].curr_weapon CHAINGUN_WEAPON
{
ezshoot -1024 MG42SHELL
geta[].ang TEMPANG
sub TEMPANG 512
seta[RETURN].ang TEMPANG
}
endevent
This post has been edited by jimbob: 31 January 2021 - 10:07 AM
jimbob, on 31 January 2021 - 08:42 AM, said:
gamevar TEMPANG 0 0
onevent EVENT_DOFIRE
ife player[].curr_weapon CHAINGUN_WEAPON
{
ezshoot -1024 MG42SHELL
geta[].ang TEMPANG
sub TEMPANG 1536
seta[RETURN].ang TEMPANG
set RETURN 0
}
endevent
Danukem, on 10 February 2021 - 01:08 PM, said:
Danukem, on 11 February 2021 - 12:18 PM, said:
This post has been edited by thisbecasper: 12 February 2021 - 01:32 PM
thisbecasper, on 12 February 2021 - 10:54 AM, said:
jimbob, on 13 February 2021 - 09:21 AM, said:
This post has been edited by thisbecasper: 13 February 2021 - 09:46 AM