new vehicle.scr not working
Posted: Fri Jan 21, 2005 11:38 pm
i made my own global vehicle scr, and im not very good at scripting, so you may know why ive got my problem... heres the script(s)one global one map script.. tell me what exactly im doing wrong(ps...theres no exiting system yet
).. the errors i get in console are
here are my buggy scripts
and heres the global one(its a rip off of the sp vehicles_thinkers.scr's tank part edited to give you a DM tank and a DM jeep where you drive in the driver seat)
Code: Select all
Cannot set a read-only variable
parm.other = $player (global/dm_player_vehicles.scr, 4)
^
Cannot set a read-only variable
parm.other = $player (global/dm_player_vehicles.scr, 118)
^
^~^~^ Script file compile error: Couldn't compile 'global/dm_player_vehicles.scr'
ScriptMaster::GetScript: Script 'global//dm_player_vehicles.scr' was not properly loaded
-------------------- Spawning Entities -----------------------
soundtrack switched to .
-------------------- Actual Spawning Entities -----------------------
-------------------- Actual Spawning Entities Done ------------------ 0 ms
0 teams with 0 entities
Adding script: 'test_dmvehicles.scr'
exec global/dm_player_vehicles.scr (maps/test_dmvehicles.scr, 2)
^
^~^~^ Script Error: Script 'global/dm_player_vehicles.scr' was not properly loaded
exec global/dm_player_vehicles.scr (maps/test_dmvehicles.scr, 3)
^
^~^~^ Script Error: Script 'global/dm_player_vehicles.scr' was not properly loaded
4 entities spawned
5 simple entities spawned
0 entities inhibited
Code: Select all
main:
exec global/dm_player_vehicles.scr
exec global/dm_player_vehicles.scr
//wasnt working---$jeeptrigger setthread global/dm_player_vehicles.scr
//same----$kingtrigger setthread global/dm_player_vehicles.scr
level waittill spawn
endCode: Select all
//*******************************
players_tank:
$kingtrigger waittill trigger
parm.other = $player
$kingtrigger glue self
// self vehiclespeed 300
self rendereffects "-shadow"
local.parent = spawn script_origin
local.parent.origin = self.origin
level.playertanktarget = spawn script_origin
level.playertanktarget.origin = (self.origin + (0 0 80))
level.playertanktarget bind local.parent
local.parent glue self
self removeondeath 0
if (self.target)
{
self.collisionent = self.target
// self.collisionent hide
}
local.gun = self QueryTurretSlotEntity 0
local.gun2 = self QueryTurretSlotEntity 1
if (local.gun)
local.gun nodamage
local.gun model "vehicles/kingcannon.tik"
if (local.gun2)
local.gun2 nodamage
thread player_tank_health
end
player_tank_health:
level waittill spawn
if !($player istouching $king1trig)
{ $player notsolid
$player nodamage
self attachdriverslot 0 $player
//$player perferredweapon "88mm Tank Gun"
}
self.health = 3000
// if ( (int (getcvar developer)) )
// thread playertank_health_hud
thread playertank_pain
self waittill death
self LockMovement
self playsound explode_tank
level.missionfailed = 1
iprintlnbold "The King Tiger Tank has been lost, you have failed."
//wait 3
missionfailed
end
playertank_pain:
local.original_health = self.health
local.previoushealth = self.health
local.paintime = level.time
while(isAlive self)
{
wait .1
if (self.health < local.previoushealth)
{
self playsound damage_tank
exec global/earthquake.scr .2 4 0 0
if ( (self.health < (local.previoushealth - 150)) && (level.time > (local.paintime + 5) ) )
{
local.paintime = level.time
local.health_fraction = (self.health / local.original_health)
println "z: local.health_fraction: " local.health_fraction
if (local.health_fraction >= 0.7)
{
$player playsound tank_hurt1
}
else if (local.health_fraction >= 0.4)
{
$player playsound tank_hurt2
}
else
{
$player playsound tank_hurt3
}
}
local.previoushealth = self.health
}
}
end
playertank_health_hud:
level.subtitleX = 100
level.subtitleY = 70
while ( 1)
{
locprint level.subtitleX level.subtitleY ("Health: " + self.health)
wait 1
}
end
//*******************************
players_jeep:
$jeeptrigger glue $jeep
$jeep waittill trigger
$jeeptrigger nottriggerable
parm.other = $player
self vehiclespeed 800
self rendereffects "-shadow"
local.parent = spawn script_origin
local.parent.origin = self.origin
level.playerjeeptarget = spawn script_origin
level.playerjeeptarget.origin = (self.origin)
level.playerjeeptarget bind local.parent
local.parent glue self
self removeondeath 0
if (self.target)
{
self.collisionent = self.target
// self.collisionent hide
}
//local.gun = self QueryTurretSlotEntity 0
local.gun2 = self QueryDriverSlotEntity 1
if (local.gun)
local.gun nodamage
local.gun model "fx/dummy.tik.tik"
if (local.gun2)
local.gun2 nodamage
thread player_jeep_health
end
player_jeep_health:
level waittill prespawn
if !($player istouching $jeeptrig)
{ $player notsolid
$player nodamage
self attachdriverslot 0 $player
//$player perferredweapon "88mm Tank Gun"
}
level waittill spawn
self.health = 3000
// if ( (int (getcvar developer)) )
// thread playertank_health_hud
thread playerjeep_pain
self waittill death
self LockMovement
self playsound explode_tank
kill $player
iprintlnbold "The Jeep has been lost... you will respawn..."
wait 20
self remove
end
playerjeep_pain:
local.original_health = self.health
local.previoushealth = self.health
local.paintime = level.time
while(isAlive self)
{
wait .1
if (self.health < local.previoushealth)
{
self playsound damage_tank
exec global/earthquake.scr .2 4 0 0
if ( (self.health < (local.previoushealth - 150)) && (level.time > (local.paintime + 5) ) )
{
local.paintime = level.time
local.health_fraction = (self.health / local.original_health)
println "z: local.health_fraction: " local.health_fraction
if (local.health_fraction >= 0.7)
{
$player playsound tank_hurt1
}
else if (local.health_fraction >= 0.4)
{
$player playsound tank_hurt2
}
else
{
$player playsound tank_hurt3
}
}
local.previoushealth = self.health
}
}
end
//playertank_health_hud:
// level.subtitleX = 100
//level.subtitleY = 70
//while ( 1)
//{
// locprint level.subtitleX level.subtitleY ("Health: " + self.health)
// wait 1
// }
//end
jeep:
local.jeep = spawn vehicle_allied_jeep "targetname" "jeep"
$jeep.origin = ($jeepspawner.origin)
$jeep.angles = ( $jeepspawner.angles )
$jeep goto players_jeep
end
king:
local.king = spawn vehicle_german_kingtigertank "targetname" "kingtiger"
$kingtiger.origin = ($kingspawner.origin)
$kingtiger.angles = ( $kingspawner.angles )
$kingtiger goto players_tank
end