Help! My alarm crashes the game!

Post your scripting questions / solutions here

Moderator: Moderators

User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

ok did as ya suggested and still no work,,,heres what the console is saying

if($player[local.1].alarmprep != 1) (global/alarmer_mp.scr, 65)
if($player[local^

^~^~^ Script file compile error: Couldn't parse 'global/alarmer_mp.scr'
ScriptMaster::GetScript: Script 'global//alarmer_mp.scr' was not properly loaded

ok when i walked over to a alarm and hit the e key to activate it i got the following error in console,,which tells me at least its trying to work hehehehe

thread global/alarmer_MP.scr::alarm_player_reset (maps/m6l2a.scr, 279)
^

^~^~^ Script Error: Script 'global/alarmer_MP.scr' was not properly loaded


thread global/alarmer_MP.scr::alarm_player_reset (maps/m6l2a.scr, 279)
^

^~^~^ Script Error: Script 'global/alarmer_MP.scr' was not properly loaded

which that got me excited believe it or not,,lol,,,man i would really have got excited if alarm would have soundecd off

ok just to make sure i have the alarm script correct now,,i will post it once more

main:

level.alarm_always_on = 0
level.alarm_always_on_base = 14
level.alarm_always_on_random = 7
level.alarm_time = 0
level.alarm_time_base = 14
level.alarm_time_random = 5

for (local.i=1;local.i<$alarm.size+1;local.i++)
$alarm[local.i] notsolid

level waittill prespawn

for(local.i=1;local.i< $alarmspawner.size+1;local.i++)
{
local.ent = waitthread global/spawner.scr::spawner_create $alarmspawner[local.i]
local.ent.targetname = "alarmspawned"
}



level waittill spawn

thread alarmprep_MP

//thread alarmgenner
//$player.alarmoff = level.time + 1
//thread alarmer

/*
$endgate_left time 1
$endgate_right time 1

$endgate_right rotateyup 80
$endgate_right move
$endgate_left rotateydown 100
$endgate_left waitmove
$endgate_left connect_paths
$endgate_right connect_paths
*/
end

alarmprep_MP:

while(1)
{
for(local.i=1;local.i <= $player.size;local.i++)
{
if($player[local.1].alarmprep != 1)
{
$player[local.1].alarmprep = 1
thread alarmgenner $player[local.1]
$player[local.i].alarmoff = level.time + 1
thread alarmer $player[local.1]
}
}
//*********************************************
// add this to the script
//*********************************************

waitframe

//**********************************************
// before the last } bracket
//**********************************************
}
end




doalarm local.player:
level.alarmers++
println "doing alarm"
local.range = 5000
local.alarm = -1
println ("Enemy " + (vector_length (self.origin - local.player.origin)) + " distance away is doing alarm and is in thinkstate " + self.thinkstate)
for (local.i=1;local.i<$alarm.size+1;local.i++)
{
local.temprange = vector_length (self.origin - $alarm[local.i].origin)
if ((local.temprange < local.range) && (vector_length (local.player.origin - $alarm[local.i].origin) > local.temprange))
{
local.range = local.temprange
local.alarm = local.i
}
}

if (local.alarm != -1)
{
local.break = 0
local.timer = level.time + 12

thread de-alarmer

local.org = angles_toforward ($alarm[local.alarm].angles)
// local.org = ((local.org * 30) + ($alarm[local.alarm].origin)) + ( 0 0 -25 )
local.org = ((local.org * 35) + ($alarm[local.alarm].origin)) + ( 0 0 -30 )
local.ent = spawn script_origin
local.ent.origin = local.org
local.ent droptofloor
local.org = local.ent.origin
local.ent delete


wait (randomfloat(2.3))
self exec global/disable_ai.scr
// self type_attack "alarm"
// local.ent = spawn script_origin
// local.ent.origin = local.org
// self alarmnode local.ent
// self alarmthread "alarmreg"
// println "should be running for alarm"
// waitframe

self.movedoneradius = 15
while ((isalive self) && (local.break == 0) && (level.time < local.timer))
{
self runto local.org
self waittill movedone

if (level.alarm_on == 0)
{
if (vector_length (self.origin - $alarm[local.alarm].origin) < 90)
{
self.turndoneerror = 10
self turnto $alarm[local.alarm]
self waittill turndone
self anim alarm_switchon
self playsound alarm_switch

local.break = 1

wait 0.2
for (local.i=1;local.i<$alarm.size+1;local.i++)
$alarm[local.i] anim turnon

wait 0.5
level.alarm_on = 1
}
}
else
local.break = 1

wait 1
}
}
else
level.alarmers--

if (isalive self)
self exec global/enable_ai.scr

end

de-alarmer:
wait 12
level.alarmers--
end

alarmreg:
end


/*
alarmreg local.player:
// self runto local.org // $alarm[local.alarm]
self waittill movedone
if (parm.movefail == 1)
{
local.break = 1
level.alarmers--
self.targetname = "enemy_noalarm"
local.oldalarm = $alarm[local.alarm]
local.oldalarm.targetname = "alarm_noalarm"

wait 5
self runto local.player
self.targetname = "enemy"
local.oldalarm.targetname = "alarm"
end
}
else

wait 1
}

}

self exec global/enable_ai.scr


end

*/

alarm_player_reset:

local.player=parm.other

if (level.time > local.player.alarmoff)
{
local.player.alarmoff = level.time + 1

if (level.alarm_on == 1)
{
level.alarm_on = 0

for (local.i=1;local.i<$alarm.size+1;local.i++)
$alarm[local.i] anim turnoff

self playsound alarm_switch
if (level.alarm_time - level.time < 5)
level.alarm_time = level.time + (level.alarm_time_base + randomint(alarm_time_random))

wait 0.5

// for (local.i=1;local.i<$alarm.size+1;local.i++)
// $alarm[local.i] stoploopsound

level.alarm_sound stoploopsound

if (level.alarm_always_on == 1)
wait (level.alarm_always_on_base + randomint(level.alarm_always_on_random))

if (level.alarm_always_on == 1)
{
if (level.alarm_on == 0)
{
level.alarm_on = 1

for (local.i=1;local.i<$alarm.size+1;local.i++)
$alarm[local.i] anim turnon

self playsound alarm_switch

wait 0.5

// for (local.i=1;local.i<$alarm.size+1;local.i++)
// $alarm[local.i] loopsound alarmbell

}
}
}
else
{
level.alarm_on = 1

for (local.i=1;local.i<$alarm.size+1;local.i++)
$alarm[local.i] anim turnon

self playsound alarm_switch

wait 0.5

// for (local.i=1;local.i<$alarm.size+1;local.i++)
// $alarm[local.i] loopsound alarmbell

}
}

// local.alarmbell thread global/loopsound.scr::main alarmbell // Ring the alarm bell

end

turn_alarm_on:
if (level.alarm_on == 0)
{
level.alarm_on = 1

for (local.i=1;local.i<$alarm.size+1;local.i++)
$alarm[local.i] anim turnon

self playsound alarm_switch

wait 0.5

// for (local.i=1;local.i<$alarm.size+1;local.i++)
// $alarm[local.i] loopsound alarmbell
}
end

alarmsounder local.player:

level.alarm_sound = spawn script_model
// level.alarm_sound thread playersoundorg
level.alarm_sound model "fx/dummy.tik"
level.alarm_sound notsolid

while (1)
{
if (level.alarm_on == 1)
{
local.range = 1400

for (local.i=1;local.i<$alarm.size+1;local.i++)
{
local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin)
if (local.newrange < local.range)
{
// $alarm[local.i] loopsound alarmbell
local.range = local.newrange
}
// waitframe
}

/*
1400 50 1400
0.2 1.5 0.2
1.7 0.2 1.7

1.5
*/
local.vol = (1.5 / 1350) * (local.range)
local.vol = 1.5 - local.vol
if (local.vol < 0.2)
local.vol = 0.2
else
if (local.vol > 1.5)
local.vol = 1.5
// println ("range is " + local.range + " and vol is " + local.vol)

level.alarm_sound loopsound alarmbell local.vol "levelwide"

}
waitframe
}

end



alarmgenner local.player:

if (level.alarm_nosound == NIL)
thread alarmsounder

local.timer = level.time

while (((local.player.dmteam == "axis")||(local.player.dmteam == "allies")) && (isalive local.player ))
{
if (level.alarm_on == 1)
{
if (level.time > local.timer)
{
//local.key = getboundkey1 "+use"
//iprintlnbold_noloc (loc_convert_string "Approach alarms and press the USE key ( ") local.key (loc_convert_string " ) to toggle them off or on.")
local.timer = level.time + 12
}

while (level.totalspawnies < 2)
{
waitthread create_alarmguy local.player
wait randomint (3)
}
}
else
local.timer = level.time + 45

wait 1
}

self.alarmprep = 0

end

create_alarmguy local.player:

local.range = 5000
local.entnum = -1
local.num = 0
// local.spawner = -1
for (local.i=1;local.i<$alarmspawned.size+1;local.i++)
{
if !(sighttrace (local.player.origin + (0 0 50)) ($alarmspawned[local.i].origin + (0 0 50)) 1)
{
local.num++
local.spawner[local.num] = $alarmspawned[local.i]
println ("prepped a spawner at " + local.spawner[local.num].origin + " with num " + local.num)
}
wait 0.1
}

if (local.spawner == NIL)
end

local.lastnum = -1

for (local.i=1;local.i<local.num+1;local.i++)
{
local.temprange = vector_length (local.player.origin - local.spawner[local.i].origin)
println ("checking local spawner " + local.i + " and local num is " + local.num + " at range " + local.temprange)
if (local.temprange < local.range)
{
local.range = local.temprange
local.lastnum = local.entnum
local.entnum = local.i
}
}

if (local.lastnum != -1)
local.entnum = local.lastnum

if (local.entnum != -1)
{
local.ent = waitthread global/spawner.scr::spawner_activate local.spawner[local.entnum]
local.ent.targetname = "alarm_spawned_guy"

local.ent thread spawnerthink local.player
}
else
{
println "-------------------"
println local.range
println local.lastnum
println local.entnum
println "-------------------"
}
end

runcheck:
if (level.runcheck)
level.runcheck delete

level.runcheck = local
while (isalive self)
{
if (getcvar(debug) == "1")
println ("A spawned guy is at " + self.origin + " with thinkstate " + self.thinkstate)
wait 1
}

end

spawnerthink local.player:
if (game.skill == "hard")
if (randomint(100) > 60)
self item items/item_25_healthbox.tik 25

self ammo_grenade (randomint(4) + 1)
self mindist 128
self leash 8000
self maxdist 400
self fixedleash 0
self.movedoneradius = 450
wait randomfloat(3)
level.totalspawnies++
thread baddeath
self.nosurprise = 1
local.origin = self.origin

self thread level.script::alarmer local.player
self forceactivate
wait 1
if (self.thinkstate == "idle")
{
println ("spawned guy is running to the player from " + self.origin)
self thread runcheck
self runto local.player
self waittill movedone
self attackplayer
// println ("movefail is " + parm.movefail)

if ((parm.movefail == 1) && !(sighttrace (local.player.origin + (0 0 50)) (self.origin + (0 0 50)) 1) && (vector_length (self.origin - local.origin) < 100))
self damage $world 15000 $world (0 0 0) (0 0 0) (0 0 0) 0 9 0 0
}

while (isalive self)
{
println ("spawned guy is running to the player from " + self.origin)
self runto local.player
self waittill movedone
self attackplayer
wait 2
}
end

baddeath:
self waittill death
println "I die!"
level.totalspawnies--
end

debugprint:
while (1)
{
println ("alarmers = " + level.alarmers + " baddies " + level.totalspawnies)
wait 1
}

end


alarmer local.player:

level.alarmers = 0
level.totalspawnies = 0
level.alarm_on = 0
if (getcvar(skill) == "0")
local.alarmcount = 0
else
local.alarmcount = 1

if (getcvar(debug) == "1")
thread debugprint

while (1)
{
while ((level.alarmers > local.alarmcount) || (level.alarm_on == 1) || (level.time < level.alarm_time))
wait 1

wait randomfloat(2)
local.ent = -1
local.lastent = -1
local.range = 1500
for (local.i=1;local.i<$enemy.size+1;local.i++)
{
if ((isalive $enemy[local.i]) && ($enemy[local.i].thinkstate != "idle")) // ($enemy[local.i] cansee $player))
{
local.newrange = vector_length ($enemy[local.i].origin - local.player.origin)
if (local.newrange < local.range)
{
local.range = local.newrange
local.ent = local.i
/*
if (local.lastent == -1)
{
local.ent = local.lastent
local.lastent = local.i
}
else
{
local.lastent = local.i
local.ent = local.i
}
*/
}
}
// else
// println ("thinkstate is " + $enemy[local.i].thinkstate)
}


if (local.ent != -1)
{
if (game.skill == "hard")
$enemy[local.ent] thread doalarm local.player
else
if (sighttrace ($enemy[local.ent].origin + (0 0 50)) (local.player + (0 0 50)) 1)
$enemy[local.ent] thread doalarm local.player
}

/*
else
if (local.lastent != -1)
if (level.enemy[local.lastent] cansee local.player)
level.enemy[local.lastent] thread bridgeblownow (randomint(3))
*/

wait 2
}
end
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

ok i went back and used the original script and bsp just to make sure wasnt my script ,,,,also the only way i can see these msg is to have the exe set to +set developer 1 ,,if i set it to +set developer 0 i see no errors in the console,,,dont know if that makes any difference but thought i would tell ya anyways,,,ok with original bsp and script ,,original bsp meaning it loads all the ai,,i have other bsp files for all m maps that load no ai soldiers..ok with original bsp and script with the exception of using your alarm.scr i get the following,,

if (((self.current_target.origin - self.origin) * self.leftvector) >= 0) (global/mg42_active.scr, 435)
if (((self.current_target^

^~^~^ Script Error: Field 'origin' applied to NULL listener



^~^~^ Path not found in 'Actor::MoveToPatrolCurrentNode' for (entnum 199, radnum 197, targetname 'alarm2_officer_patroller') from (-3108.284180 -2693.692383 8.125000) to (-3168.000000 -2704.000000 8.125000)
Reason: couldn't find end node


ok once again when i hit the e key to make alarm sound

thread global/alarmer_MP.scr::alarm_player_reset (maps/m6l2a.scr, 168)
^

^~^~^ Script Error: Script 'global/alarmer_MP.scr' was not properly loaded


hope all this helps because im lost to what it all means lol
Gold<<mohha freak
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

ok i know im posting alot on this but i kinda think the more i post the more it may help to figure out why it doesnt work lol,,,ok loaded the original alarm scr and only changed the 1st thing ya told me 2 change,,,with this configuration,,ai sets alarm off,,then when i try to turn alarm off i get this msg
if (level.time > $player.alarmoff) (global/alarmer.scr, 186)
if (level.time ^

^~^~^ Script Error: binary '>' applied to incompatible types 'float' and 'NIL'
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post by bdbodger »

Remember I warned you about typo's well you found it or should I say them. Use notepad and do a replace . Replace local.1 with local.i you need to replace all of them in the script .

if($player[local.1].alarmprep != 1)

should be

if($player[local.i].alarmprep != 1)
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

ohhh my Gosh it works!!!!!!!! Even without the botS loaded!!! Man ya hav to be the greatest scripter on earth!!! How i can ever repay ya for fixing this i have no idea lol. Thanx,,,thanx,,,thanx hehehehe
Gold<<mohha freak
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

ugggg everything seems to work fine but when i took it online it crashed the server with this error ERROR: Level::AllocEdict: no free edicts,,,this only happens when other players have entered the server,,,also another thing that seems to come along with this is ya have to restart the server sometimes because ya cant cut the alarm,,,once ya restart the alarm works fine once more for awile,,,but then like 8 minutes or so into play it crashes the server with the above error,,,the error was hard to catch because when it crashes most the time it just freezes spearhead,,,the one time it didnt freeze the error was caught,,,any futher help on a fix i would appreciate greatly,,,because the guys playing seem to love the working alarms lol
Gold<<mohha freak
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

ok maybe this will futher help ,,i set developer back to 1 ,,and went back into game,,,ok everything was fine ,,,now when i tripped the alram,,alarm sounded and then my fps dropped rapidly ,,,i then after quickly cutting the alarm back off checked the console and seen this,,,

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 314)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 314)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 314)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 314)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 314)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 314)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = vector_length ( local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ( local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 313)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 314)
if (local.newrange ^

is it possible that these errors are causing the error i stated in post just before this one??? hope this helps:))
Gold<<mohha freak
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post by bdbodger »

The no free edict error is when too many entities are in the map and the game runs out of space or memory . That error is why I fixed the global/alarmer.scr to begin with it way generating too many script origins because of the sytax difference between mohaaa and spearhead . I am not sure why you are still getting that because the fix worked in single player originally . I looked at the script and don't see anywhere in it that will cause too many entities to be spawned .

As for the error in the alarmer_mp.scr I think I found it .

Add the local.player after the words thread alarmsounder . The problem was that I didn't pass that to the alarmsounder thread . oops

Code: Select all

alarmgenner local.player:

	if (level.alarm_nosound == NIL)
		thread alarmsounder local.player
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

i think ya about there hehehehe,,,, now the alarm doesnt crash the server anymore:))) theres still a error which i post in just a sec,,,but also wanted to explain to ya whats happening,,if i start the server i can turn alarms off and on ,,works like a charm,,,but when second player enters server if alarm is on at the time and he tries turning it off ,,he cant turn it off,,,at this point neither can i,,,im hoping the following error is related to the above described circumstances,,then ya could kill to birds with one stone,,lol,,,heres error

^~^~^ Script Error: Field 'player' applied to NULL listener

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = vector_length ($local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = vector_length ($local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 316)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = vector_length ($local^

^~^~^ Script Error: Field 'player' applied to NULL listener

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = vector_length ($local.player^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = vector_length ($local.player.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'NIL' and 'vector'

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if (local.newrange < local.range) (global/alarmer_mp.scr, 316)
if (local.newrange ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'int'

local.newrange = vector_length ($local.player.origin - $alarm[local.i].origin) (global/alarmer_mp.scr, 315)
local.newrange = vector_length ($local^

^~^~^ Script Error: Field 'player' applied to NULL listener

thanx once agian for ya patience and expertise with this:))
Gold<<mohha freak
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

ok let me clarify a earlier statement which may help more,,,when other players enter the server the switch still operates correctly for every player its just the sound stopping doesnt work,,,opppsss ,,should have told ya that earlier,,i sorry lol
Gold<<mohha freak

i could live with the above errors which disappear in devoloper mode 0 and since it isnt causing the server to crash now,,,just wish the sound would stop when every player cuts the switch off hehehehe
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post by bdbodger »

looks to me that it was your turn for a typo .

$local.player should be local.player no $ in that . It is a local variable it is local to the thread it is in . There is no entity with a targetname of $local in the game and a key of player there is however a variable called local.player .
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

testing it out,,,no console errors yaaaaaaaaa!!!!!!!! I let ya know how it goes,,,,thanx once more for ya desire to help a noob like me,,ya persitence and patience,,,its ppl like ya that makes this forum the best on the net
Gold<<mohha freak
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

alarms

Post by Gold »

i will do my best to explain this hehehehe,,,if i start server and not cut alarm on,,,second player joins everything works fine ,,to perfection,,was still getting some crashes but once i added the alarm sounds to a tiki serverside and removed them from the ubersound seems to have cleared that up,learned that good advice from the dog info lol,now if alarm is on when second player joins,,,the following syptoms occur,,,at times the alarm will quit working switch and all,,,other times the switch still works but when i cut off alarm i still hear faint alarm sound in the background,,same with other player if he cuts it off still hears faint sound,,if the other player cuts alarm on then leaves server its like the sound goes real faint,,,at that point i cut alarm off ,,still faint sound hehehe,,,,if same player comes back sound goes back to full,,now anytime theres a problem ,,if i pull down console and type,,,restart,,,everything starts working normal once more,,,seems like that the biggest problem is with players connecting or disconnecting when alarm is on,,if alarm is off when players connect once connected everything works normal,hope there is solution hehehehe,,
Gold<<mohha freak
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post by bdbodger »

Did you remove the ai's from the game ? Maybe the best thing to do is write a new script .
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

Post by Gold »

yes all the ai is no longer in the maps,,,to remove them i just hexed them out of the bsp by changing them from human to suman,,,so no ai load,,which also means theres no later spawners as in original m6l2a:)) same thing for m4l3,,those 2 are the main ones i have been testing with
Gold<<mohha freak
Post Reply