Ranking
All sorts of stuff is possible if you modify startup.lua, but we don't really want to encourage that, since it's basically there as a protective measure. Not everyone who uses scripts is a programmer.

Limiting I/O to TB's data folder is good enough, I think. Getting into replays would be nice, too, though.
Radioactive torso's description should be, "You have cancer like wow."
well, there's also a read_replay function, which alows read access to replay files and other paths, relative to the replay path.
So I/O should be no problem.
"Wenn Sensei Tanaka sein Shodushi ist, dann soll er hingehen und uns den Dimak zeigen!"
A hook which triggers when a players appearance (textures, colors) changed would be nice too.
"Wenn Sensei Tanaka sein Shodushi ist, dann soll er hingehen und uns den Dimak zeigen!"
What would you use that for?
Radioactive torso's description should be, "You have cancer like wow."
I use the blood color to draw a score bar and the user text color for custom score display
"Wenn Sensei Tanaka sein Shodushi ist, dann soll er hingehen und uns den Dimak zeigen!"
I would love a method for drawing proper quadrilaterals, using a huge amount of rectangles is extremely inefficient. It should take at least 8 args, the x/y cordinates of each of the 4 points.
i have a totally post modern tattoo of a scalene triangle.
<DeadorK> fair maiden
<DeadorK> if the cum is going to be in your mouth
<DeadorK> it shall be in mine as well
I would like a command to teleport the mouse cursor to the origin, or maybe any point.
This would be useful for mouselook and teleporting the mouse over a button, kindof like in KOTOR.

Oh, and also fix set_camera_pos()
Last edited by War_Hero; Jun 12, 2010 at 03:58 AM.
i have a totally post modern tattoo of a scalene triangle.
<DeadorK> fair maiden
<DeadorK> if the cum is going to be in your mouth
<DeadorK> it shall be in mine as well
Some more ideas:

In general I have the feeling that the concept to prevent cheating and creation of bots seems to be to hide/disable several events/states. Also some functions only do something when called from a certain event hook. This strategy sucks and does not work. This will make the lua interface usesless sooner or later and as some parts of DeScript show there are ways to get around some of those restrictions.
A better strategy to prevent cheating would be to trace the lua call stack of cheat critcal actions wether they are called from a key_down event hook (or a mouse_down, but for this a C - implentation of an abstract button may be required)

Events:
-replay load, wich reports also the filename
-gameover within replay mode (it is currently possible to detect all GOs except dq-draws of loaded replays, but it's a pain to get this right and requires polling)
-destinctable events for server connect, start-of-match, reset-of-match, edit-replay (i implemented this in DeScript as well, but it isn't absolutly reliable; visability of the ghosts[!], resets in matchframe 0, different pause/frozen states when reseted/rewinded make problems)
-consistent event triggering for single/multiplayer and replay/game mode

World modification:
this stuff may not be possible because of the physics engine but it would be nice if this stuff could be changed in matchframe 0 or is updated on match reset.
-make everything that is setable in a mod file also lua readable/modifyable
. esp: body shape, env_obj shape, joint force, env_obj_joints, creation of env_...
-get_joint_pos returns sometimes wrong values if engagerotation is set, those correspond to misplaced bodyparts in that case (v.3.8

Other:
-set camera mode (default, freecam)
-reenable disabled player select
-write to console (maybe spam critic, but would allow the creation of community mods; I have player-vs-player win/loose stats in mind)
-overcome the limits for env_obj (at least for static ones)
"Wenn Sensei Tanaka sein Shodushi ist, dann soll er hingehen und uns den Dimak zeigen!"
All of my update posts have disappeared from here due to that hacking incident, which sucks...

But hey I just implemented another new function which should enable the creation of some interesting atmosphere scripts me thinks: draw_triangle.
SDK file for it:
lua code:
-- draw_triangle(number pos_x1, number pos_y1, number pos_z1,number pos_x2, number pos_y2, number pos_z2, number pos_x3, number pos_y3, number pos_z3)

-- USE: Draws an unculled triangle.
-- NOTES: Still need to draw in correct order for lighting to work properly, even if it isn't culled.

add_hook("draw3d","",
function()
set_color(0,1,0,0.4)
draw_cube_triangles(2, 0, 1, 2, 2, 2)
end
)

--Draws a cube out of triangles.
function draw_cube_triangles(x, y, z, w, h, d)
--Draws each face as two triangles.

--Bottom
draw_triangle(x, y, z, x + w, y, z, x, y + h, z)
draw_triangle(x + w, y + h, z, x, y + h, z, x + w, y, z)

--Side
draw_triangle(x, y, z, x + w, y, z, x, y, z + d)
draw_triangle(x + w, y, z + d, x, y, z + d, x + w, y, z)

--Side
draw_triangle(x, y, z, x, y + h, z, x, y, z + d)
draw_triangle(x, y + h, z + d, x, y, z + d, x, y + h, z)

--Top
draw_triangle(x + w, y + h, z + d, x, y + h, z + d, x + w, y, z + d)
draw_triangle(x, y, z + d, x + w, y, z + d, x, y + h, z + d)

--Side
draw_triangle(x + w, y + h, z + d, x, y + h, z + d, x + w, y + h, z)
draw_triangle(x, y + h, z, x + w, y + h, z, x, y + h, z + d)

--Side
draw_triangle(x + w, y + h, z + d, x + w, y, z + d, x + w, y + h, z)
draw_triangle(x + w, y, z, x + w, y + h, z, x + w, y, z + d)
end
Last edited by Blam; Jan 18, 2011 at 10:56 PM.
:D
It might be a revolution in the way I make the atmospheres scripts, indeed !
I'll be able to design more complex elements and stuff. Can't wait to test your new features...

Keep up the good work !