Talk:Lua Mod API

From WolfWiki
Jump to: navigation, search

please call et_Obituary() and et_Print() at the end of the engine function because we can do better output then. example: the engine output (ETPlayer killed himself.) is after the lua output (Hahaha! ETPlayer seems to be a selfkill noob!). thx!! --pdi 09:13, 26 December 2006 (PST)

It is called at the beginning of the function so lua mods can override obituary and print entirely if they want. I can make a separate lua hook which is called at the end of the function, eg et_ObituaryPost and et_PrintPost. Bani 11:52, 3 January 2007 (PST)
Ok, this sounds good to me! Big THX!! :) Please have also a look at field section of this page! ;) --pdi 05:41, 4 January 2007 (PST)

Can we have a intercepted version of et_Obituary() to return 1 to intercept it with a mod and return 0 to pass it through to the server? --pdi 15:16, 8 March 2007 (PST)

Or a simple return STRING would be cool. So we can override the normal server output with other texts like "PlayerA does something with PlayerB.". Atm no returncode can replace et_Obituary's output!? Thx! --pdi 03:44, 9 March 2007 (PST)

Please add a third var to et_ClientCommand() function: et_ClientCommand(clientnum, command, isspam) - isspam indicates if the client command is ignored by spam filter limit (1) or not (0). Thx!! --pdi 05:01, 13 May 2007 (PDT)

Or can someone explain how spam protection is calculated by etpro mod? Any source code example please!? So I can reproduce it in LUA! THX! --pdi 05:34, 17 May 2007 (PDT)
Try loading my 'client command filter' before your mod -Hadr0 05:04, 8 October 2007 (PDT)
Sorry. I wrote my own function but it isn't really the same. I need an copy of the original code segment or the isspam flag! --pdi 03:43, 10 October 2007 (PDT)

IPC stuff

i would like a et_IPCReceive whit an return value so u can send info back on a request

i would like a et_IPCSend that can send to all lua mods then them mods can decide if the wana use that message or not =FF=Im2good4u 12:35, 8 January 2006 (PST)

 et_IPCReceive wouldn't send it to the other mod... afaik... so just use another send
 just et_IPCSend to all modules (afaik, you can even send to ones not there), simple loop function

gotenks 20:04, 8 January 2006 (CST)

yeh probely but its not verry handy its better to get the good vmnumber or to e able to send on mod filenames

apart from that returning a value will be more handy since tnhe u cna contine in 1 funtion else u got to reacise it in the recieve funtion =FF=Im2good4u 10:45, 9 January 2006 (PST)

Fields for the next release

I think Kotoko wants the ps.velocity field here. It would be a good idea, I think. --FARMICEUDICAL 20:23, 5 December 2006 (PST)

bani: RW access to all "sess.*" fields (sess.skillpoints, sess.startskillpoints, sess.startxptotal, ...) would be great. thanx! --pdi 05:55, 2 August 2006 (PDT)

bani: please make all "pers.*" fields (pers.clientTimeNudge, pers.clientMaxPackets, ...) available. thanx! --pdi 01:04, 17 August 2006 (PDT)

you can get timenudge and maxpackets from the userinfo --ReyalP 20:19, 18 August 2006 (PDT)
i know, but i ask for all pers.* fields. pers.clientTimeNudge and pers.clientMaxPackets are only examples. :) --pdi 01:56, 21 August 2006 (PDT)

bani: will we have rw access to those fields (all sess.* and all pers.*) with next update? please!! --pdi 07:02, 19 October 2006 (PDT)

we are not going to add all the fields. A lot of them don't make sense for lua mods. Explain which ones you need --ReyalP 20:57, 5 February 2007 (PST)
Ok, didn't know why i'm asking for (long time ago) but fields for xp/skill (sess.skillpoints array - if i remember) control would be great. THX!! --pdi 00:54, 7 February 2007 (PST)

ps.weapon, so arbitrary weapons can be added to or removed from arbitrary classes. For example, trickjump servers don't like Field Ops spamming airstrikes or artillery, but they do appreciate the ammo they give out. --FARMICEUDICAL 21:09, 5 December 2006 (PST)

ps.weapon won't do that for you. ps.weapons might :) --ReyalP 17:14, 6 December 2006 (PST)

Okay then, ps.weapon so that medics can be set to spawn with the adrenaline needle out instead of the smg. --FARMICEUDICAL 03:23, 11 December 2006 (PST)

Please give read access to g_campaignInfo_t in a field like campaignInfo. Thx!! --pdi 08:57, 7 January 2007 (PST)

access to lasthurt_client and lasthurt_mod would be really nice. --Syd 02:30, 25 February 2007 (PST)


Add loadlib ppl it says u have lua basic included but not loadlib !!

(on windows it gives an error attept to call global load lin a nil valua)=FF=Im2good4u 05:16, 15 February 2006 (PST)

XP control not just skill

I would like to request RW access to the "sess.skillpoints" array

At least a callback on et.G_AddSkillPoints ( cno, skill, points ) =FF=Im2good4u 07:45, 8 March 2006 (PST)


[22:08:57] <Vetinari> [NW]reyalP: if you're exposing map coords, it would 
  be nice to have something like et.PostitionName( et.gentity_get(id, "r.currentOrigin")) 
  <-- location name or map coords "(B, 3)", so I don't have to parse the _loc.dat ;->

et_ClientSay ?

err.. what's this:

-- et_ClientSay had to be removed in order to intercept all commands 
-- so here's a wrapper for that
   arg0 = et.trap_Argv(0) -- get the main command
   if arg0 == "say" then
       return et_ClientSay( clientNum, et.SAY_ALL, et.ConcatArgs(1))

This should be

       return et.G_Say( clientNum, et.SAY_ALL, et.ConcatArgs(1))


No, et_ClientSay is a function you would define yourself to filter or do something with chats. It was it's own callback in earlier version of the API. -ReyalP 17:19, 24 February 2007 (PST)

additional libs

HI i'd like LuaBit and LuaSocket support so we can enhance ET banishments: (static compile if loadlib isnt gonna happen plx) -Hadr0 05:16, 8 October 2007 (PDT)

hmm been thinking about the hostname from the socket request.. this may not a practical as a hostname lookup can take several tenth of a second.. so there may be too much lag when a player connects.. since et is single-threaded and has to wait for the call to complete (?) Still, bit-support would come in handy for a variety of purposes. Hadr0 13:34, 9 November 2007 (PST)

et_ClientSpawn + intermission

Instead of using the vulnerable et_Print(text) to find the medic, i'd like et_ClientSpawn(clientNum,the_guy_who_gave_the_vive_or_-1_if_spawned)

Hell why not add a trigger-intermission event? its so messy to monitor the gamestate-cvar within the runframe-event. and i just don't trust et_print().. players can change their name/inject BS into that function at will. Thank you!!

-Hadr0 06:46, 8 October 2007 (PDT)


maybe a wild idea but hows about a callback function if a cheater is spotted via the etpro anticheat system? cos i dont want to kick 'em for 99999 seconds (on average our server is rebooted once per week) so i'd like to intercept the call with lua and do a proper ban. (+perhaps axx to the arrays where kicks are held, or is that engine stuff?) -Hadr0 05:56, 9 October 2007 (PDT)


et.trap_DropClient doesn't trigger the lua's own et_ClientDisconnect(). its not a big deal as its possible to call that function explicitly before dropping, and it does trigger other lua's disconnect-event. PB-drops for example DO trigger the disconnect event. So i was wondering if this was intentional? (i dont think earlier versions had it) -Hadr0 03:50, 10 October 2007 (PDT)