|
02-25-2008, 02:41 AM | #1 |
Stuff Do-er
Lua Team
Wiki Team Fortress Forever Staff |
Lua Requests (Lua Assistance Division)
Make any and all lua scripting requests here, and the LADs will attempt to get it done.
__________________
#FF.Pickup ¤ Fortress-Forever pickups My Non-official Maps Released FF_DM_Squeek - FF_2Mesa3_Classic - FF_Siege_Classic Beta FF_Myth - FF_Redlight_Greenlight Sick of the people on the internet, always moanin'. They just moan. - Karl Pilkington |
|
02-25-2008, 02:54 AM | #2 |
Fortress Forever Staff
Join Date: Mar 2007
Location: Baton Rouge
Class/Position: Spy Affiliations: -=DoM=- Posts Rated Helpful 0 Times
|
ok, heres a task. this is for rock2.
i have 2 triggers(for each team), one for wo entry(call it "wolight"[red/bluewolight]) and one for yard entry spotlight(call it "yardlight"[red/blueyardlight]). heres the thing, when a "disguised" enemy spy goes through the trigger i do NOT want it to light up, but for all other enemies i do. enough info? also, dunno how we're going to do it, but if you could get something rolling with the green gas effect via lua that'd be sweet.
__________________
-------------------------------FF_Rock2(WIP)------------------------------ ---------------------------FF_RedGiant(Released)------------------------- --------------------------FF_Fragzone_G(Released)------------------------ --------------------------FF_Civibash_G(Released)------------------------ -------------------FF_Conc_G1(WIP)-------------------- -------------------FF_Hollow_G(WIP)--------------------- |
|
02-25-2008, 03:16 AM | #3 |
Not choking. Yet.
Lua Team
Wiki Team Fortress Forever Staff Join Date: Jul 2007
Location: Scotland
Class/Position: Demo/Def - Spy/Off Gametype: Anything but yet more fucking CTF Affiliations: FF.AvD [FF AvD/ID guild] Posts Rated Helpful 0 Times
|
Code:
if player:GetDisguisedTeam == *whateverteam* then return end else light her up (whatever code you already have).... *whateverteam* really depends on the code you already have, I guess. If you have the team variable already picked out (which I guess you should seeing as the lights are team based, but meh) Without seeing the code you have, I can't really give you much more than that. But this should point you in the right direction, and if you post/send me the code I'd be happy to fit it in for you if you like. I'd also consider what would happen when a disguised and cloaked spy enters the base... would the situation be similar to SG's tracking in that instance? If so i can expand upon the code further.
__________________
Preferable to death. But only just...
|
|
02-25-2008, 03:19 AM | #4 |
Fortress Forever Staff
Join Date: Mar 2007
Location: Baton Rouge
Class/Position: Spy Affiliations: -=DoM=- Posts Rated Helpful 0 Times
|
lol, here....
Code:
IncludeScript("base_teamplay"); function startup() SetPlayerLimit( Team.kBlue, 0 ) SetPlayerLimit( Team.kRed, 0 ) SetPlayerLimit( Team.kYellow, -1 ) SetPlayerLimit( Team.kGreen, -1 ) end anyway, the spotlights i'm talking about are the ones that light up when the enemy comes into your yard and also the one for the wardens office entry. basically trigger the lights when an enemy comes through the trigger, but i dont want it to trigger the lights when the spy is disguised. maybe it's to soon to worry about this. but we do need to figure something out with the gas...
__________________
-------------------------------FF_Rock2(WIP)------------------------------ ---------------------------FF_RedGiant(Released)------------------------- --------------------------FF_Fragzone_G(Released)------------------------ --------------------------FF_Civibash_G(Released)------------------------ -------------------FF_Conc_G1(WIP)-------------------- -------------------FF_Hollow_G(WIP)--------------------- |
|
02-25-2008, 03:20 AM | #5 |
Fortress Forever Staff
Join Date: Mar 2007
Location: Baton Rouge
Class/Position: Spy Affiliations: -=DoM=- Posts Rated Helpful 0 Times
|
thanks ya'll, Squeek that looks like what i need.
appreciate it man!
__________________
-------------------------------FF_Rock2(WIP)------------------------------ ---------------------------FF_RedGiant(Released)------------------------- --------------------------FF_Fragzone_G(Released)------------------------ --------------------------FF_Civibash_G(Released)------------------------ -------------------FF_Conc_G1(WIP)-------------------- -------------------FF_Hollow_G(WIP)--------------------- |
|
02-25-2008, 03:24 AM | #6 | ||
Stuff Do-er
Lua Team
Wiki Team Fortress Forever Staff |
Quote:
Quote:
__________________
#FF.Pickup ¤ Fortress-Forever pickups My Non-official Maps Released FF_DM_Squeek - FF_2Mesa3_Classic - FF_Siege_Classic Beta FF_Myth - FF_Redlight_Greenlight Sick of the people on the internet, always moanin'. They just moan. - Karl Pilkington |
||
|
02-25-2008, 03:28 AM | #7 |
Fortress Forever Staff
Join Date: Mar 2007
Location: Baton Rouge
Class/Position: Spy Affiliations: -=DoM=- Posts Rated Helpful 0 Times
|
no its fine, if i'm diguised as a friendly and it doesnt set off the light they might think i'm a friendly spy. thats what i call good confusion.
the spy gas is exactly what i want with the gas. i sure as hell hope thats possible!
__________________
-------------------------------FF_Rock2(WIP)------------------------------ ---------------------------FF_RedGiant(Released)------------------------- --------------------------FF_Fragzone_G(Released)------------------------ --------------------------FF_Civibash_G(Released)------------------------ -------------------FF_Conc_G1(WIP)-------------------- -------------------FF_Hollow_G(WIP)--------------------- |
|
02-25-2008, 03:16 AM | #8 |
Stuff Do-er
Lua Team
Wiki Team Fortress Forever Staff |
Re: GambiT
Code:
triggerlight = trigger_ff_script:new({ team = Team.kUnassigned }) function triggerlight:allowed( touch_entity ) if IsPlayer( touch_entity ) then local player = CastToPlayer( touch_entity ) if player:IsDisguised() == false then return player:GetTeamId() == self.team end end return EVENT_DISALLOWED end function triggerlight:ontouch( touch_entity ) if IsPlayer( touch_entity ) then OutputEvent( self.light, "TurnOn" ) end end function triggerlight:onendtouch( touch_entity ) if IsPlayer( touch_entity ) then OutputEvent( self.light, "TurnOff" ) end end blueyardlight = triggerlight:new({ team = Team.kBlue, light = "blueyardlight_light" }) bluewolight = triggerlight:new({ team = Team.kBlue, light = "bluewolight_light" }) redyardlight = triggerlight:new({ team = Team.kRed, light = "redyardlight_light" }) redwolight = triggerlight:new({ team = Team.kRed, light = "redwolight_light" })
__________________
#FF.Pickup ¤ Fortress-Forever pickups My Non-official Maps Released FF_DM_Squeek - FF_2Mesa3_Classic - FF_Siege_Classic Beta FF_Myth - FF_Redlight_Greenlight Sick of the people on the internet, always moanin'. They just moan. - Karl Pilkington |
|
02-25-2008, 03:21 AM | #9 |
Not choking. Yet.
Lua Team
Wiki Team Fortress Forever Staff Join Date: Jul 2007
Location: Scotland
Class/Position: Demo/Def - Spy/Off Gametype: Anything but yet more fucking CTF Affiliations: FF.AvD [FF AvD/ID guild] Posts Rated Helpful 0 Times
|
^^ boss showing off in front of the team...
Of course, your way would let spies in that are disguised as their own team Aside from that, I guess squeek's way pretty much fits what you weant then, if thats all the Lua you have EDIT: Wow, clambering over eachother to help....
__________________
Preferable to death. But only just...
|
|
02-25-2008, 03:19 AM | #10 | |
Time Lord, Doctor
Beta Tester
Join Date: Dec 2007
Location: The TARDIS
Class/Position: Engineer Gametype: CTF Posts Rated Helpful 1 Times
|
Quote:
Code:
function respawndoor:allowed( allowed_entity ) if IsPlayer( allowed_entity ) then local player = CastToPlayer( allowed_entity ) if player:GetTeamId() == self.team then return EVENT_ALLOWED end if self.allowdisguised then if player:IsDisguised() and player:GetDisguisedTeam() == self.team then return EVENT_ALLOWED end end end return EVENT_DISALLOWED end |
|
|
10-24-2010, 07:55 PM | #11 |
Jay|mOfO|Mills
Beta Tester
Join Date: Feb 2009
Location: Santa Fe, NM
Gametype: Snag the flag beotches Posts Rated Helpful 8 Times
|
Bonus Point Triggers that disable after touch for 10 sec
Hello, I have a concmap I would like to release. I have some skill points that are trigger_ff_scripts. I would like it when any player passes through the trigger they get the points, then the trigger deactivates for say 10 seconds then reactivates....
Here is the code Bri was helping me with. basescoretrigger = info_ff_script:new({ canscore = true, score = 0, }) function basescoretrigger:reallowscoring() self.canscore = true end function basescoretriggerntouch(touch_entity) if IsPlayer(touch_entity) then local player = CastToPlayer(touch_entity) if self.canscore then player:AddFortPoints(self.score, "You have been awarded some points.") BroadCastMessageToPlayer(player, "Nice Conc! You've been awarded some bonus points.") self.canscore = false AddSchedule("Reenable Scoring", 1, reallowscoring) end end return true end beg_points = basescoretrigger:new({ score = 1 }) med_points = basescoretrigger:new({ score = 2 }) adv_points = basescoretrigger:new({ score = 3 }) crow_points = basescoretrigger:new({ score = 10 }) Any assistance would be awesome. Thanks, m0f0 |
|
10-24-2010, 10:21 PM | #12 |
Stuff Do-er
Lua Team
Wiki Team Fortress Forever Staff |
What's wrong with it?
This line determines how long the trigger is disabled for: Code:
AddSchedule("Reenable Scoring", 1, reallowscoring) Code:
AddSchedule("reenablescoring", self.disabletime, self.reallowscoring) And then change Code:
basescoretrigger = info_ff_script:new({ canscore = true, score = 0, }) Code:
basescoretrigger = trigger_ff_script:new({ canscore = true, score = 0, disabletime = 10 })
__________________
#FF.Pickup ¤ Fortress-Forever pickups My Non-official Maps Released FF_DM_Squeek - FF_2Mesa3_Classic - FF_Siege_Classic Beta FF_Myth - FF_Redlight_Greenlight Sick of the people on the internet, always moanin'. They just moan. - Karl Pilkington Last edited by squeek.; 10-24-2010 at 10:22 PM. |
|
10-25-2010, 11:18 PM | #13 |
Jay|mOfO|Mills
Beta Tester
Join Date: Feb 2009
Location: Santa Fe, NM
Gametype: Snag the flag beotches Posts Rated Helpful 8 Times
|
Bonuse Point Triggers
Tried the new code and it still has the same problem.
In map, when you run through the trigger the first time it acts properly and adds points and disables the scoring. Problem is that it never re-enables. There are no errors when the .lua runs at startup. |
|
10-27-2010, 02:28 PM | #14 |
Banned
Join Date: Sep 2008
Class/Position: Soldier Gametype: AVD Affiliations: TALOS Posts Rated Helpful 5 Times
|
You're using something similar to this?
Code:
base_score_trigger = info_ff_script:new({ can_score = true, disable_time = 30, score = 0, }) function base_score_trigger:reset_scoring() self.can_score = true end function base_score_trigger:ontouch(touch_entity) if IsPlayer(touch_entity) then local player = CastToPlayer(touch_entity) if self.can_score then player:AddFortPoints(self.score, "Nice Conc!") BroadCastMessageToPlayer(player, "Blah blah") self.can_score = false AddSchedule("Re-Enable Scoring", self.disable_time, self.reset_scoring) end end return true end beg_points = base_score_trigger({ score = 1 }) med_points = base_score_trigger({ score = 2 }) adv_points = base_score_trigger({ score = 3 }) crow_points = base_score_trigger({ score = 10 }) Last edited by Bridget; 10-27-2010 at 02:31 PM. |
|
10-27-2010, 09:19 PM | #15 |
Jay|mOfO|Mills
Beta Tester
Join Date: Feb 2009
Location: Santa Fe, NM
Gametype: Snag the flag beotches Posts Rated Helpful 8 Times
|
This is the exact code I just tried out below. Still does not re-enable. I don't really know shit about .lua but could it be because disable_time is not called as some kind of function of the trigger? It gives me points the first time I run through the trigger, it displays the messages, just never reactivates the trigger.
I have tried using the base_score_trigger as both info_ff_script and trigger_ff_script with the same result. base_score_trigger = trigger_ff_script:new({ can_score = true, disable_time = 5, score = 0, }) function base_score_trigger:reset_scoring() self.can_score = true end function base_score_triggerntouch(touch_entity) if IsPlayer(touch_entity) then local player = CastToPlayer(touch_entity) if self.can_score then player:AddFortPoints(self.score, "Nice Conc!") BroadCastMessageToPlayer(player, "You've been awarded bonus points!") self.can_score = false AddSchedule("Re-Enable Scoring", self.disable_time, self.reset_scoring) end end return true end beg_points = base_score_trigger:new({ score = 1 }) med_points = base_score_trigger:new({ score = 2 }) adv_points = base_score_trigger:new({ score = 3 }) crow_points = base_score_trigger:new({ score = 10 }) |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|