logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

16 Pages«<13141516>
Options
Go to last post Go to first unread
doggy  
#281 Posted : Thursday, September 15, 2022 6:59:20 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: titasas Go to Quoted Post






Thanks, but elseif not work for me :|

do while True
if Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
elseif
Input.Find("home-powerplay.gtzip").Text("pp.Text") >= "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
elseif
Input.Find("home-powerplay.gtzip").Text("pp.Text") < "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5") and something with setpanX
else
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="5")
end if
sleep(500)
Loop


And get Error Line 4 BC30201: Expression expected error




Please put code in language syntax highlights for clarity in posting !

Error says it all , there is no expression after if (and use Else if ). it's asking else if what ?

Helps to browse through this topic/post to find examples!
Studying vb.net (can google for it) helps too

Code:
If x = 1 then
 'do this
Else if x = 2 then
 'do this 
Else if x=3 and x= 4 then
 'do that
else 
 'do something else
end if  
Roy Sinclair  
#282 Posted : Thursday, September 15, 2022 8:43:53 AM(UTC)
Roy Sinclair

Rank: Advanced Member

Groups: Registered
Joined: 11/23/2020(UTC)
Posts: 50
United States
Location: Wichita

Thanks: 5 times
Was thanked: 8 time(s) in 7 post(s)
Originally Posted by: doggy Go to Quoted Post
Originally Posted by: titasas Go to Quoted Post






Thanks, but elseif not work for me :|

do while True
if Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
elseif
Input.Find("home-powerplay.gtzip").Text("pp.Text") >= "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
elseif
Input.Find("home-powerplay.gtzip").Text("pp.Text") < "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5") and something with setpanX
else
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="5")
end if
sleep(500)
Loop


And get Error Line 4 BC30201: Expression expected error




Please put code in language syntax highlights for clarity in posting !

Error says it all , there is no expression after if (and use Else if ). it's asking else if what ?

Helps to browse through this topic/post to find examples!
Studying vb.net (can google for it) helps too

Code:
If x = 1 then
 'do this
Elseif x = 2 then
 'do this 
Elseif x=3 or x= 4 then
 'do that
else 
 'do something else
end if  


Corrected code example, there's no space between else and if in "elseif" and "x = 3 and x = 4" will never be true since x cannot be equal to both 3 and 4 at the same time. Probably would have been ok, but there's always someone who will try an example and spend hours scratching their heads because what's obvious to us is not at all clear to them.

titasas  
#283 Posted : Thursday, September 15, 2022 4:33:13 PM(UTC)
titasas

Rank: Newbie

Groups: Registered
Joined: 9/21/2021(UTC)
Posts: 7
Lithuania
Location: Elektr─Śnai

Was thanked: 1 time(s) in 1 post(s)
Originally Posted by: Roy Sinclair Go to Quoted Post
Originally Posted by: doggy Go to Quoted Post
Originally Posted by: titasas Go to Quoted Post






Thanks, but elseif not work for me :|

do while True
if Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
elseif
Input.Find("home-powerplay.gtzip").Text("pp.Text") >= "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
elseif
Input.Find("home-powerplay.gtzip").Text("pp.Text") < "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5") and something with setpanX
else
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="1")
API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="5")
end if
sleep(500)
Loop


And get Error Line 4 BC30201: Expression expected error




Please put code in language syntax highlights for clarity in posting !

Error says it all , there is no expression after if (and use Else if ). it's asking else if what ?

Helps to browse through this topic/post to find examples!
Studying vb.net (can google for it) helps too

Code:
If x = 1 then
 'do this
Elseif x = 2 then
 'do this 
Elseif x=3 or x= 4 then
 'do that
else 
 'do something else
end if  


Corrected code example, there's no space between else and if in "elseif" and "x = 3 and x = 4" will never be true since x cannot be equal to both 3 and 4 at the same time. Probably would have been ok, but there's always someone who will try an example and spend hours scratching their heads because what's obvious to us is not at all clear to them.



Thank you so much to all :)

I think it's possible to combine everything into one script, but I didn't get it, but even with two scripts, what I need finally works.

I share, maybe it will be useful for someone

Code:
do while True
 if Input.Find("home-powerplay.gtzip").Text("pp.Text") >= "0:01" then
   API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="1")
 else
   API.Function("MultiViewOverlayoff", Input:="scoreboard.gtzip", Value:="1")
 end if
sleep(100)
Loop


Code:
do while True
 if Input.Find("home-powerplay.gtzip").Text("pp.Text") >= "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01"  then
   API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
   API.function("setpanX", Input:="home-powerplay2.gtzip", Value:="0.102")
 elseif Input.Find("home-powerplay.gtzip").Text("pp.Text") < "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
   API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
   API.function("setpanX", Input:="home-powerplay2.gtzip", Value:="0")
 else
   API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="5")
   API.function("setpanX", Input:="home-powerplay2.gtzip", Value:="0.102")
 end if
sleep(100)
Loop


If anyone can merge into one, I would appreciate it :))
thanks 1 user thanked titasas for this useful post.
nikosman88 on 11/6/2022(UTC)
doggy  
#284 Posted : Thursday, September 15, 2022 5:18:52 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: Roy Sinclair Go to Quoted Post




Code:
If x = 1 then
 'do this
Elseif x = 2 then
 'do this 
Elseif x=3 or x= 4 then
 'do that
else 
 'do something else
end if  


Corrected code example, there's no space between else and if in "elseif" and "x = 3 and x = 4" will never be true since x cannot be equal to both 3 and 4 at the same time. Probably would have been ok, but there's always someone who will try an example and spend hours scratching their heads because what's obvious to us is not at all clear to them.



yeah my mistake (and versus or ) in my hurry
Elseif with or without the space work both in vMix scripting
Roy Sinclair  
#285 Posted : Thursday, September 22, 2022 6:57:17 AM(UTC)
Roy Sinclair

Rank: Advanced Member

Groups: Registered
Joined: 11/23/2020(UTC)
Posts: 50
United States
Location: Wichita

Thanks: 5 times
Was thanked: 8 time(s) in 7 post(s)
Originally Posted by: titasas Go to Quoted Post


...


Thank you so much to all :)

I think it's possible to combine everything into one script, but I didn't get it, but even with two scripts, what I need finally works.

I share, maybe it will be useful for someone

Code:
do while True
 if Input.Find("home-powerplay.gtzip").Text("pp.Text") >= "0:01" then
   API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="1")
 else
   API.Function("MultiViewOverlayoff", Input:="scoreboard.gtzip", Value:="1")
 end if
sleep(100)
Loop


Code:
do while True
 if Input.Find("home-powerplay.gtzip").Text("pp.Text") >= "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01"  then
   API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
   API.function("setpanX", Input:="home-powerplay2.gtzip", Value:="0.102")
 elseif Input.Find("home-powerplay.gtzip").Text("pp.Text") < "0:01" and Input.Find("home-powerplay2.gtzip").Text("pp.Text") >= "0:01" then
   API.Function("MultiViewOverlayOn", Input:="scoreboard.gtzip", Value:="5")
   API.function("setpanX", Input:="home-powerplay2.gtzip", Value:="0")
 else
   API.Function("MultiViewOverlayOff", Input:="scoreboard.gtzip", Value:="5")
   API.function("setpanX", Input:="home-powerplay2.gtzip", Value:="0.102")
 end if
sleep(100)
Loop


If anyone can merge into one, I would appreciate it :))


I would caution you to examine the code more closely, you are comparing String variables that have numerical values in them. You are getting away with it in this code because the strings that are found are time values that stay within a range of values that will work but be aware that you are NOT comparing numbers in this code but string values.

If you need to measure actual Time differences in the future you would do well to use DateTime and TimeSpan variable types (or objects) and of course for when comparing for strictly numeric values convert them using the CINT function before comparing. I greatly simplified some code when I found the Timespan variable type could be used to get the interval between two times which I needed for a countdown of the type vMix does NOT provide.

One other thing you should make a habit out of, add comments to your code to say what you are doing. That way someone else looking at your code later to fix a bug or add a feature will be able to follow your thought processes, this is especially important if that later person is you. You won't have to spend as much time remembering why you did something.
kevev  
#286 Posted : Friday, October 21, 2022 10:38:19 AM(UTC)
kevev

Rank: Advanced Member

Groups: Registered
Joined: 1/14/2018(UTC)
Posts: 144
Location: Texas

Thanks: 5 times
Was thanked: 9 time(s) in 5 post(s)
Howdy! Can I have an example of comparing a datasource field to a string?

Trying to do and if elsif statement. Not sure on how to read a datasource field into a variable.

Thanks in advance!
doggy  
#287 Posted : Friday, October 21, 2022 11:07:17 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: kevev Go to Quoted Post
Howdy! Can I have an example of comparing a datasource field to a string?

Trying to do and if elsif statement. Not sure on how to read a datasource field into a variable.

Thanks in advance!


Your question (and solution) is very similar to this one https://forums.vmix.com/posts/t20791-scoreboard-clock-data-source-set-color-when-number-below-N

Plenty of examples in this dummies post in how to do so
kevev  
#288 Posted : Tuesday, October 25, 2022 5:58:47 PM(UTC)
kevev

Rank: Advanced Member

Groups: Registered
Joined: 1/14/2018(UTC)
Posts: 144
Location: Texas

Thanks: 5 times
Was thanked: 9 time(s) in 5 post(s)
Originally Posted by: doggy Go to Quoted Post
Originally Posted by: kevev Go to Quoted Post
Howdy! Can I have an example of comparing a datasource field to a string?

Trying to do and if elsif statement. Not sure on how to read a datasource field into a variable.

Thanks in advance!


Your question (and solution) is very similar to this one https://forums.vmix.com/posts/t20791-scoreboard-clock-data-source-set-color-when-number-below-N

Plenty of examples in this dummies post in how to do so


I know how to read from an unput(XAMP). I am wondering how to read from a datasource. And who is the dummy?
kevev  
#289 Posted : Wednesday, October 26, 2022 2:52:57 PM(UTC)
kevev

Rank: Advanced Member

Groups: Registered
Joined: 1/14/2018(UTC)
Posts: 144
Location: Texas

Thanks: 5 times
Was thanked: 9 time(s) in 5 post(s)
It looks as though I can read a file directly as there is no function for reading datasources via scripting in vMix. I will give it a shot.
TFMG  
#290 Posted : Wednesday, October 26, 2022 6:10:30 PM(UTC)
TFMG

Rank: Advanced Member

Groups: Registered
Joined: 2/18/2018(UTC)
Posts: 36
Australia

Thanks: 7 times
Was thanked: 2 time(s) in 2 post(s)
Hi Folks,

I'm trying to check the colours of 2 shapes with a main shape in a GT title, and if one colour matches the colour of the main shape, it'll change the colour of the main shape to the other colour.

Here's the code I have:
Code:
dim ABColor As string = Input.Find("baseball scorebug.gtzip").Value("BattingTeamBG.Fill.Color")
Console.WriteLine(ABColor)
dim HomeColor As string = Input.Find("baseball scorebug.gtzip").Value("HomeTeamBG.Fill.Color")
Console.WriteLine(HomeColor)
dim AwayColor As string = Input.Find("baseball scorebug.gtzip").Value("AwayTeamBG.Fill.Color")
Console.WriteLine(AwayColor)
If ABColor = HomeColor then

API.Function("SetColor", Input:="baseball scorebug.gtzip", Value:=AwayColor, SelectedName:="BattingTeamBG.Fill.Color")
Console.WriteLine(ABColor)

Else if ABColor = AwayColor then

API.Function("SetColor", Input:="baseball scorebug.gtzip", Value:=HomeColor, SelectedName:="BattingTeamBG.Fill.Color")


End If


The Console.WriteLine commands were to see if any data was being put into those variables, and they remain blank.

Am I using the wrong method to pull this information from the shapes - should I be using an XML query instead?

Thanks folks.
doggy  
#291 Posted : Wednesday, October 26, 2022 7:27:59 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: TFMG Go to Quoted Post
Hi Folks,

I'm trying to check the colours of 2 shapes with a main shape in a GT title, and if one colour matches the colour of the main shape, it'll change the colour of the main shape to the other colour.


The Console.WriteLine commands were to see if any data was being put into those variables, and they remain blank.

Am I using the wrong method to pull this information from the shapes - should I be using an XML query instead?

Thanks folks.


Retrieve the current colors from the API XML

Make sure the shape data is NOT checked as hidden! (GT title designer). vMix 25 and above
shawntempesta  
#292 Posted : Thursday, November 3, 2022 12:15:47 AM(UTC)
shawntempesta

Rank: Advanced Member

Groups: Registered
Joined: 7/15/2018(UTC)
Posts: 107
United States
Location: Las Vegas, NV

Thanks: 14 times
Was thanked: 7 time(s) in 6 post(s)
Alright, here's a fun one. Trying to figure out if there is a way to limit switching (or, in particular, limit 'OnAudioMeterDB' switching) for X amount of milliseconds. For example... if the camera just switched, don't allow OnAudioMeterDB to switch for 1000ms.

I am using auto-switching software that is giving me trouble, and the only think keeping vMix's OnAudioMeterDB from being a suitable replacement is the fact that you'll get takes of only a couple frames before it switches.

Is this solved with scripting? Any help is appreciated!
doggy  
#293 Posted : Thursday, November 3, 2022 12:55:46 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: shawntempesta Go to Quoted Post
Alright, here's a fun one. Trying to figure out if there is a way to limit switching (or, in particular, limit 'OnAudioMeterDB' switching) for X amount of milliseconds. For example... if the camera just switched, don't allow OnAudioMeterDB to switch for 1000ms.

I am using auto-switching software that is giving me trouble, and the only think keeping vMix's OnAudioMeterDB from being a suitable replacement is the fact that you'll get takes of only a couple frames before it switches.

Is this solved with scripting? Any help is appreciated!


What about using a delay in your trigger
Well there is not a shortcut to enable/disable OnAudioMeterDB so no.
On the other hand on could script your own OnAudioMeterDB of sorts and activate/deactivate it maybe wihtin the script when with your delay
One can also enable/disable VST plugins with a script

See what is available and go from there with the needed logic
shawntempesta  
#294 Posted : Thursday, November 3, 2022 1:18:17 AM(UTC)
shawntempesta

Rank: Advanced Member

Groups: Registered
Joined: 7/15/2018(UTC)
Posts: 107
United States
Location: Las Vegas, NV

Thanks: 14 times
Was thanked: 7 time(s) in 6 post(s)
Have thought about the delay, but it's adding the delay in the wrong direction. Rather than delay the switch for 1000ms, I'd rather it prioritizes the source that was selected to for 1000ms. That way the switch to the speaker is instant. Small difference, but important.

Trying to figure out the scripting, but not grasping a way it can be done easily.
jcw718  
#295 Posted : Thursday, November 3, 2022 11:15:19 PM(UTC)
jcw718

Rank: Member

Groups: Registered
Joined: 6/24/2020(UTC)
Posts: 13
United States
Location: BROOKLYN

Thanks: 6 times
I have been having issues when a script triggers a GT Title input to update using an excel spreadsheet as the database. It will at random times black out the text info to be displayed in the GT titles in the input, resulting in me having to refresh the each of the GT title inputs to reveal the text. There are 6 inputs that are being updated when this trigger takes place using specific info in the script.

The script is triggered by active input that's looking for this info to be displayed
"Function=DataSourceSelectRow&Value=AgendaData,TABNAME,LINE#"

This script is followed by a clock start script then an IF/THEN loop script that is looking for the time to trigger for the next sequence of events.


The script seems to work as the lookup info is correct when I refresh the input, so thinking some sort of workflow issue?

doggy  
#296 Posted : Thursday, November 3, 2022 11:41:26 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: jcw718 Go to Quoted Post
I have been having issues when a script triggers a GT Title input to update using an excel spreadsheet as the database. It will at random times black out the text info to be displayed in the GT titles in the input, resulting in me having to refresh the each of the GT title inputs to reveal the text. There are 6 inputs that are being updated when this trigger takes place using specific info in the script.

The script is triggered by active input that's looking for this info to be displayed
"Function=DataSourceSelectRow&Value=AgendaData,TABNAME,LINE#"

This script is followed by a clock start script then an IF/THEN loop script that is looking for the time to trigger for the next sequence of events.


The script seems to work as the lookup info is correct when I refresh the input, so thinking some sort of workflow issue?



Confusing explenation of the problem:

if/then is only possible vb.net scripting , "Function=DataSourceSelectRow&Value=AgendaData,TABNAME,LINE#" wil not work there (needs API.function)
How much error trapping is build into you scripts? do you check using console.writing the results . Errors can stop a script from running without any notification or the functions can just be ignored

Frases like "Script seems to work...." is not good enough. chekc all the steps , check and check again for any potential flaw
jcw718  
#297 Posted : Friday, November 4, 2022 12:17:57 AM(UTC)
jcw718

Rank: Member

Groups: Registered
Joined: 6/24/2020(UTC)
Posts: 13
United States
Location: BROOKLYN

Thanks: 6 times
Thanks for the quick reply Doggy!

Sorry, was being generic with if/then- in this case I do an Do while true API script after the script above as a separate trigger to set up the next sequence of events.

There are several scripts going on in sequence. The script I showed was the lookup script I am using to update from the database. Just wanted to explain that several separate scripts are being triggered in sequence to give some context.

RE: "Script seems to work....", it actually does lookup the info, but the input display goes blank. A quick input reset will reveal the text, so I am thinking its not a script issue, but something else. Have you ever had that happen?

Thanks again, as always, for your insight!

I can detail the entire sequence if you'd like?
nikosman88  
#298 Posted : Sunday, November 6, 2022 8:55:01 PM(UTC)
nikosman88

Rank: Advanced Member

Groups: Registered
Joined: 12/24/2021(UTC)
Posts: 82
Greece
Location: athens

Thanks: 68 times
Was thanked: 5 time(s) in 5 post(s)
Hello. Is there any command that can be used for "wait until...?" I want to make a script to do some things then when it does,stops there and it needs by me to press again the button shortcut to continue to next commands. Is this possible? Of course there is the other option to make 2 different scripts assigned to 2 different buttons/shortcuts but if possible to do with some command like "wait for.." will be awesome
Thank you
doggy  
#299 Posted : Monday, November 7, 2022 1:20:10 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: nikosman88 Go to Quoted Post
Hello. Is there any command that can be used for "wait until...?" I want to make a script to do some things then when it does,stops there and it needs by me to press again the button shortcut to continue to next commands. Is this possible? Of course there is the other option to make 2 different scripts assigned to 2 different buttons/shortcuts but if possible to do with some command like "wait for.." will be awesome
Thank you


Set and use a dynamic value to decide what step you arein within the script called by the same button
nidarosvideo  
#300 Posted : Friday, November 11, 2022 8:18:40 AM(UTC)
nidarosvideo

Rank: Member

Groups: Registered
Joined: 5/16/2020(UTC)
Posts: 27
Norway
Location: Trondheim

Thanks: 1 times
I think scripting needs it's own area under "vmix forums".


Question 1:

How do I make a script that exports all replay events in one file?


Question 2:

I'm trying to make a script that sets a title text layer to "+2". This is to inform the viewer about added time in football matches. Unfortunately the "+" is read as an operation to increment the number so it does that and does noe appear. II've tried all the usual tricks from programming that I know but with no luck.
I'm using streamdeck and companion. In lack of a direct solution I've resorted to trying to solve this through scripting.
Users browsing this topic
16 Pages«<13141516>
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.