Author Topic: Scripting Engine Suggestions  (Read 28851 times)

0 Members and 2 Guests are viewing this topic.

Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Scripting Engine Suggestions
« on: August 31, 2007, 08:54:59 am »
I am out of ideas. I need some fresh ideas for some new features to add to the Scripting Engine, whether it be functions or variables. I will not be changing/adding parameters of existing things, as that will cause incompatibility with older scripts. Please don't post stupid things like scriptable polygons or bullets etc.

Any suggestions that get accepted, I will probably make a reply to it or just add it to the changelog. If I don't reply to you, then your suggestion is either already possible or just poop.

Dont suggest: Adding/Changing new parameters to any functions/events

View the current unreleased ScriptCore changes <<< here >>>

Offline Avarax

  • Veteran
  • *****
  • Posts: 1529
    • Official Hexer & MMod site
Re: Scripting Engine Suggestions
« Reply #1 on: August 31, 2007, 09:19:29 am »
function GetPolyStat(PolyID: byte; State: string): variant;

possible states:
Vertice1X
Vertice2X
Vertice3X
Vertice1Y
Vertice2Y
Vertice3Y
Polytype



function PointOnPoly(X,Y: single): integer;

checks wether the coordinates are on a polygon (result:= ID of the polygon) or not (result:= 0)
« Last Edit: August 31, 2007, 09:24:11 am by Avarax »
I like to have one Martini
Two at the very most
Three I'm under the table
Four I'm under the host

Offline mikembm

  • Soldier
  • **
  • Posts: 210
Re: Scripting Engine Suggestions
« Reply #2 on: August 31, 2007, 09:23:45 am »
Fix This: http://forums.soldat.pl/index.php?topic=19163.0

Also I make a separate adminlog command that doesn't add their IP to remote.txt, doesn't make them unkickable and unbanable, and doesn't allow them access to arsse. I think that would be great for server owners who want to give admin to people with dynamic IP's and not give them too much power over the server.

Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Re: Scripting Engine Suggestions
« Reply #3 on: August 31, 2007, 09:29:48 am »
Fix This: http://forums.soldat.pl/index.php?topic=19163.0

Also I make a separate adminlog command that doesn't add their IP to remote.txt, doesn't make them unkickable and unbanable, and doesn't allow them access to arsse. I think that would be great for server owners who want to give admin to people with dynamic IP's and not give them too much power over the server.
Fixed, and you can do the other yourself with the existing functions.

Offline Avarax

  • Veteran
  • *****
  • Posts: 1529
    • Official Hexer & MMod site
Re: Scripting Engine Suggestions
« Reply #4 on: August 31, 2007, 11:58:23 am »
EndBonus(ID,BonusID)

ends the effect of predator, berserker or flamethrower.
I like to have one Martini
Two at the very most
Three I'm under the table
Four I'm under the host

Offline Serial K!ller

  • Camper
  • ***
  • Posts: 408
    • Soldat Mods Archive
Re: Scripting Engine Suggestions
« Reply #5 on: August 31, 2007, 12:57:31 pm »
what about that you can place certain spawn points with a tag/ID in maps (could be added in polyworks?) so you can get position from maps easily for custom gamemodes, etc.

Don't know if that's possible in the map format though

Offline chrisgbk

  • Moderator
  • Veteran
  • *****
  • Posts: 1739
Re: Scripting Engine Suggestions
« Reply #6 on: August 31, 2007, 01:54:49 pm »
It's possible to do with the map format, but I don't know how Soldat will handle it for one, and second, it relies on undefined behaviour; who's to say that in the future Soldat couldn't use the ID you chose, for something else? You end up with a conflict if Soldat changes.

Offline DorkeyDear

  • Veteran
  • *****
  • Posts: 1507
  • I also go by Curt or menturi
Re: Scripting Engine Suggestions
« Reply #7 on: August 31, 2007, 03:26:51 pm »
  • GetObjectStat suggestions: Time, Ground, VelX, VelY, (maybe) Time sense last returned (flags)
  • OnGrabBonus(ID, Style: byte (same as the GiveBonus ones)): boolean??; event (result if possible :P, but if not, oh well)
  • Changing a player's death count
  • Getting MovePlayer to work with bots (by getting their AI to act as if they just respawned, or just disabling AI if that is possible)
  • Realistic, Survival, and Advanced bytes (0 = off, 1 = on)
  • GetObjectStat actually working for non-scripted created objects (bullets, grenades,
  • OnBulletCollide(OID; GType: byte); event (called when a grenade explodes too, and main cluster explodes, and the little clusters; GType for ground type)
  • OnPlayerShoot(ID, OID: byte; (i dont know what vars to use for initial speed and direction or whatever, but for wahtever those are, would be extremely useful)): boolean?????; (lol, result is just doubtful)
  • GetPlayerStat looking direction
  • Ability to see what files are in a folder and what extentions they are and if they are folders or not and stuff so we can do a real random map or bot
  • GetPlayerStat stance: byte (0 for standing, 1 for crouching, 2 for proneing)
  • Ability to get the position of spawns of objects and player spawns and stuff
  • Ability  to get a person's skin, hair, pants color and/or style
  • Asking MM to change the code of soldat a little to have it so we can REALLY HAVE 255 teams or wahtever the max is really (and making it so /setteam still doesn't work with anything above 5; but having a special procedure for changing a players team to like SetTeam(ID, Team: byte);)
  • Adding another ForceWeapon procedure (renamed) that sets both weapons and both amounts of ammo and if its negative, then reload % or something..)
  • Asking MM to make more than 2 flags possible :P doubtful, and not really needed, but good for better custom gamemodes and stuff
  • Ability to set a flag's or a person's skin, shirt, pants color and/or style for a better-looking CTF sense Clanmatch no longer sets shirt colors
  • having OnWeaponChange say (or a completely new event so scripts don't break) what type of change of weapon happened (switching, dropping, forceweaponing)
  • having the round function round, not floor, and having a floor and ceiling function?
  • MoveObject(OID: byte; X, Y: single); self explanatory
  • Ability to disable a bot's AI (would be cool for more specific ai settings, like movement or aiming / firing)
  • getting rid of that evil [ * ] in WriteConsole
  • ability to get a person's port that he connected through with GetPlayerStat (for the 1 procedure that forces a player to join another server) question about this: is port set by server or user? if its set by server, then nevermind about this suggestion
  • Setting a person's health and vest


When I say OID, it means Object Identification (id u use for GetObjectStat)

Date Posted: August 31, 2007, 04:07:22 PM
One more thing: Ability to do listen for TCP sockets :)
« Last Edit: August 31, 2007, 03:35:23 pm by DorkeyDear »

Offline urraka

  • Soldat Developer
  • Flagrunner
  • ******
  • Posts: 703
Re: Scripting Engine Suggestions
« Reply #8 on: August 31, 2007, 05:00:19 pm »
OnPlayerDisconnect
urraka

Offline DorkeyDear

  • Veteran
  • *****
  • Posts: 1507
  • I also go by Curt or menturi
Re: Scripting Engine Suggestions
« Reply #9 on: August 31, 2007, 05:11:34 pm »
OnPlayerDisconnect
or have OnLeaveGame also called when a player is disconnected, sense there really is not much of a difference

Offline Tosty

  • Soldier
  • **
  • Posts: 172
  • Ultimate TW Medic
    • Just Click it
Re: Scripting Engine Suggestions
« Reply #10 on: August 31, 2007, 05:20:34 pm »
how about a

OnPlayerTeamChange




Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Re: Scripting Engine Suggestions
« Reply #11 on: August 31, 2007, 06:12:28 pm »
EndBonus(ID,BonusID)
ends the effect of predator, berserker or flamethrower.
Can't be done, doesn't update on the Soldat client.
OnPlayerDisconnect
OnLeaveGame is called when someone disconnects. Kicked = true.
how about a
OnPlayerTeamChange
OnJoinTeam.

Offline DorkeyDear

  • Veteran
  • *****
  • Posts: 1507
  • I also go by Curt or menturi
Re: Scripting Engine Suggestions
« Reply #12 on: August 31, 2007, 08:06:16 pm »
I feel as though EnEsCe ignored all my suggestions. At least one comment on one of them pretty please, lol.

Offline urraka

  • Soldat Developer
  • Flagrunner
  • ******
  • Posts: 703
Re: Scripting Engine Suggestions
« Reply #13 on: September 01, 2007, 02:22:21 am »
OnLeaveGame is called when someone disconnects. Kicked = true.
Has that been fixed in some of the last server versions? What I meant was when a player gets disconnected for some connection problem, showing the message "player has disconnected" or something like that in the game. This wasn't handled at least in 2.6.0. If this has been fixed... well, sorry for being a stupid idiot that posts useless crap without making sure it makes sense.
urraka

Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Re: Scripting Engine Suggestions
« Reply #14 on: September 01, 2007, 03:47:51 am »
Ah I see what you mean, yeah it doesn't get called because it gets handled differently when a player just stop sending packets to the server. Fixed now.

Date Posted: September 01, 2007, 05:45:23 PM
- Added GetSpawnStat function
  Get some info about a spawn point for players/objects
- Added SetSpawnStat function
  Change values of spawn points for players/objects

People should love these two new functions. Allows a sh!tload of new possibilities, such as progressive respawns and base takeovers etc.

Offline ghg

  • Camper
  • ***
  • Posts: 411
  • Village Idiot
Re: Scripting Engine Suggestions
« Reply #15 on: September 01, 2007, 05:14:25 am »
Did I ever tell you how much I love you?
-=Gradius wuz you=-


Offline spkka

  • Camper
  • ***
  • Posts: 469
Re: Scripting Engine Suggestions
« Reply #17 on: September 01, 2007, 06:56:34 am »
can´t think of any now. But nice your still gonna add stuff EnEsCe!

Offline sai`ke

  • Camper
  • ***
  • Posts: 318
  • Can't be arsed to remove christmas avatar
Re: Scripting Engine Suggestions
« Reply #18 on: September 01, 2007, 07:21:39 am »
First map variable, so you know which map is gonna be played first in the routine ActivateServer().
#soldat.ttw #ttw.gather --- Quakenet!
http://ttwforums.com

Offline DorkeyDear

  • Veteran
  • *****
  • Posts: 1507
  • I also go by Curt or menturi
Re: Scripting Engine Suggestions
« Reply #19 on: September 02, 2007, 07:49:14 am »
Respawn(ID: byte) procedure so that players can be set to a player to a team alive (survival mode makes them dead when they are setteamed for sure) when you want to set their team.

This may not be directed exactly to the scripting core, but I'm not sure, so I'll say it anyways... ability to have the "_ has joined the game", or "_ has joined _ team" or "_ has joined as spectator" messages on or off