News:

Come Chat with us live! Learn how HERE!

Main Menu

Suggestion: Scripting Language

Started by m0wlwurf, February 10, 2007, 06:03:09 PM

m0wlwurf

In my opinion Tremulous needs a scripting language that allows mappers to modifiy brushes and connect them to serveral conditions, for example: A train that carries only a speciefied ammount of humans deppending on their weight.

I am thinking of an language similar to ICARUS which is used in Jedi Academy.

Plague Bringer

a train, i'm up for...a weight limit, no....but...the general idea is a good one and shold be looked into
U R A Q T

m0wlwurf

trains are already possible, thats not the point the point is that it only moves if the hummies aren't to heafy or adjusts the speed depending of the weight, another example is a Password protected door, the key to open the door is randomly created on mapstart, the player has to check out the key at a terminal and has to enter it directly at the door or at a numpad, by shooting at the numbers on the pad or by opening a menu (like that at armory) where he can enter it by keyboard or mouse. That could be usefull to make maps more interactive or adding a task for humans in the (hopefully) upcoming siege mode.

vcxzet

I want to remind you that multiplayer maps should be as simple as possible

even doors are not good for MP maps

Darkard06

Dont depend on people paying attention to whats going on around them. If they run up to it and nothing happens then they will forget about it.

m0wlwurf

Quote from: vcxzetI want to remind you that multiplayer maps should be as simple as possible

even doors are not good for MP maps

I know, that example with the password protected door wasn't as good, but you can do many things that are actually really difficult do manage, like a dialing stargate which dasprid was (is/will) working on (talked about in hammunaptra thread) or just a simple teleporter which must we activated to be usable or which points to different locations... or a script that locks some doors if there are to less people on a map. Scripts can also used to modify the gameplay under serveral conditions...

QuoteDont depend on people paying attention to whats going on around them. If they run up to it and nothing happens then they will forget about it.

Do you talking about the pw-door? It was just an example, and people would get know about it throw a target_print or something that give them the information (isn't an extension to motd that renders html already planed?)

DASPRiD

Hey, you are the second guy who needs scripting language in trem. I need it too. Would be really great for mission based maps. But I would prefer LUA as language.

vcxzet

Quote from: DASPRiDHey, you are the second guy who needs scripting language in trem. I need it too. Would be really great for mission based maps. But I would prefer LUA as language.
ditto plus it is already implemented in xreal.

Plague Bringer

Quote from: m0wlwurflike a dialing stargate which dasprid was (is/will) working on (talked about in hammunaptra thread)
QuoteI stole taht idea and i'm working on a stargate map :D
U R A Q T

Undeference

Quote from: vcxzetI want to remind you that multiplayer maps should be as simple as possible

even doors are not good for MP maps
I disagree. Currently, the shoot 'em up aspect is focussed on almost exclusively. I want to see more strategy. Complex maps that require team play could be very good.
Need help? Ask intelligently. Please share solutions you find.

Quote from: tuple on February 15, 2008, 11:54:10 PMThats what we need, helpful players, not more powerful admins.

m0wlwurf

Quote from: DASPRiDHey, you are the second guy who needs scripting language in trem. I need it too. Would be really great for mission based maps. But I would prefer LUA as language.

I have never worked with lua, but from what i can see from the wikipedia article lua has an cool syntax.

ok lets use LUA, and if it is correct that xreal already implented LUA adding to trem should be much more easy as copying something like ICARUS.

Paradox

Instead of a mapping scripting language, i would prefer a simple one that can be used for clients, say for binds. One that had basic logic (if, else, and, or, then, etc), variable variables ($playercount$, $nextstage$) and garbage collection.

∧OMG ENTROPY∧

kevlarman

Quote from: ParadoxInstead of a mapping scripting language, i would prefer a simple one that can be used for clients, say for binds. One that had basic logic (if, else, and, or, then, etc), variable variables ($playercount$, $nextstage$) and garbage collection.
it would be way too easy to abuse a client side scripting language that can do conditional branching and knows things about the game state.
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

Lava Croft

Let us first try to make some maps that are worthy of coding a scripting system.

Taiyo.uk

Quote from: Lava CroftLet us first try to make some maps that are worthy of coding a scripting system.
Amen.

vcxzet

Quote from: Lava CroftLet us first try to make some maps that are worthy of coding a scripting system.
10 points

techhead

Ah, but what about maps that were never started because of a lack of a scripting system?
Besides, integrate a scripting system, and Soubok would be just looking for excuses to add it to pulse.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

Paradox

Quote from: kevlarman
Quote from: ParadoxInstead of a mapping scripting language, i would prefer a simple one that can be used for clients, say for binds. One that had basic logic (if, else, and, or, then, etc), variable variables ($playercount$, $nextstage$) and garbage collection.
it would be way too easy to abuse a client side scripting language that can do conditional branching and knows things about the game state.

Maprotation has logic and variables.

∧OMG ENTROPY∧

kevlarman

Quote from: Paradox
Quote from: kevlarman
Quote from: ParadoxInstead of a mapping scripting language, i would prefer a simple one that can be used for clients, say for binds. One that had basic logic (if, else, and, or, then, etc), variable variables ($playercount$, $nextstage$) and garbage collection.
it would be way too easy to abuse a client side scripting language that can do conditional branching and knows things about the game state.

Maprotation has logic and variables.
maprotation isn't client side.
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

vcxzet

Quote from: kevlarman
Quote from: Paradox
Quote from: kevlarman
Quote from: ParadoxInstead of a mapping scripting language, i would prefer a simple one that can be used for clients, say for binds. One that had basic logic (if, else, and, or, then, etc), variable variables ($playercount$, $nextstage$) and garbage collection.
it would be way too easy to abuse a client side scripting language that can do conditional branching and knows things about the game state.

Maprotation has logic and variables.
maprotation isn't client side.
but he has a point
we already have some kind of a scripting language
we just needs something capable of getting stage and activator(team,credits,equipment,weapon) of trigger
then for example for a button in gtkradiant you set script = btcs/button1

btcs.script file is just
---------------
btcs/button1
{
 if(alienstage==1&&activator.team==human)
   target="door1";
 else
   target="door2";
}
---------------
so a button opens one of the two doors dynamically


:( my design sucks anyway

Lava Croft

Quote from: techheadAh, but what about maps that were never started because of a lack of a scripting system?
If you cannot make a good map because of the abcense of a scripting system, you lack mapping skills and should practice more. A scripting system is only an addition to a map making it even better(or worse), not the basis on which to build a map.

Paradox

For example, how many of us like to realay "5k to next stage guys!" or the like? A script would automate this, and then you just bind it to one key. So you could press, say F3, and have F3 bound to "say $tonextstage$k to go guys!", and say you had 2 kills to next stage. All anyone else would see is "Paradox|SST+Op|: 2k to go guys!"

∧OMG ENTROPY∧

daenyth

Quote from: kevlarman
Quote from: ParadoxInstead of a mapping scripting language, i would prefer a simple one that can be used for clients, say for binds. One that had basic logic (if, else, and, or, then, etc), variable variables ($playercount$, $nextstage$) and garbage collection.
it would be way too easy to abuse a client side scripting language that can do conditional branching and knows things about the game state.

I'd also love to see a simple scripting system, but I'm curious how it could be abused. I can't imagine how at all. Care to explain?
Quote from: Bullislander05
It's like trying to take apple seeds out of a zebra to plant a giraffe tree.

David

a simple (Stage==1) ? buy prifle : buy lucy
system couldn't really be abused, and you could have a few vars, like your stage, creds, equipment, and teams.
Loops would be bad, especially for spam.
Events would be very useful, but also abusable, but the conditionals would be great.

Obviously I would prefer bash in the console, but that isnt ever going to happen :(
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

Vector_Matt

Quote from: Lava Croft
Quote from: techheadAh, but what about maps that were never started because of a lack of a scripting system?
If you cannot make a good map because of the abcense of a scripting system, you lack mapping skills and should practice more. A scripting system is only an addition to a map making it even better(or worse), not the basis on which to build a map.
He never said that the person can't make good maps without a scripting system. Just that some maps would be pointless without one, or that some maps could be much better with one.

Note the use of "could" meaning that an average newb probably couldn't, but a skilled mapper could.

Paradox

Seems like we got 2 topics going on at once, one for a mapping scripting language, and one for a client scripting language. Should i split the posts?

∧OMG ENTROPY∧

vcxzet

Quote from: Davida simple (Stage==1) ? buy prifle : buy lucy
system couldn't really be abused, and you could have a few vars, like your stage, creds, equipment, and teams.
Loops would be bad, especially for spam.
Events would be very useful, but also abusable, but the conditionals would be great.

Obviously I would prefer bash in the console, but that isnt ever going to happen :(
what about "buy lucy;buy prifle"
at s1 it wont buy anything
at s2 it wont buy luci will buy pulse
at s3 it will buy luci so wont buy pulse

anyway client side scripting is useless you can harcode stuff in to client if you know what you are doing

Lava Croft

Let's face it guys, we can talk forever about this, but who is actually going to code it?

David

Quote from: ParadoxSeems like we got 2 topics going on at once, one for a mapping scripting language, and one for a client scripting language. Should i split the posts?

Depends, Is you job anti-spam or keeping order? if the latter then yes.
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

daenyth

Quote from: Lava CroftLet's face it guys, we can talk forever about this, but who is actually going to code it?

Dunno, but anyone interested could chime in here. http://tremulous.net/phpBB2/viewtopic.php?p=49126
Quote from: Bullislander05
It's like trying to take apple seeds out of a zebra to plant a giraffe tree.