View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0003665 | Spring engine | Lua | public | 2013-03-31 23:39 | 2013-08-30 17:45 | ||||
Reporter | silentwings | ||||||||
Assigned To | Kloot | ||||||||
Priority | normal | Severity | feature | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 94.1 | ||||||||
Target Version | Fixed in Version | 94.1.1+git | |||||||
Summary | 0003665: AllowStartPosition(x, y, z, playerID) can't tell whether it was player or engine placing the startpos | ||||||||
Description | Please replace "AllowStartPosition(x, y, z, playerID)" with "AllowStartPosition(x, y, z, playerID, fromEngine)", where fromEngine is bool. Reasons: As far as I can tell, players who didn't place startpoints get startpoints placed automagically by the engine. These are placed (although they don't appear on the map) right at the start of the countdown 3,2,1,etc and can be detected with "gadget:AllowStartPosition(x, y, z, playerID)" When the engine chooses the startpoint is placed at the top left corner of the startbox, or if no startbox exists just in the center of the map. However, in general I can't find a way to determine at time of GameState whether a startpoint is one placed by the engine or is one placed by the player using the mouse. [What I'm doing here is writing a gadget that should detect on GameStart when a player has not placed a startpoint and place on intelligently for them (based on metal map & team startpos] | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
silentwings (reporter) 2013-08-29 23:04 |
Sorry if I've misunderstood something - but AllowStartPosition doesn't appear in the gadgethandler of basecontent, which I think must be a bug. I think all it needs is function gadgetHandler:AllowStartPosition(cx, cy, cz, playerID, readyState, x, y, z) for _,g in ipairs(self.AllowStartPositionList) do if (not g:AllowStartPosition(cx, cy, cz, playerID, readyState, x, y, z )) then return false end end return true end somewhere in the middle and 'AllowStartPosition', up near the top where the LuaRules callins are listed. |
Kloot (developer) 2013-08-30 17:45 |
one more reason for automatic callin registration |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2013-03-31 23:39 | silentwings | New Issue | |
2013-08-05 00:52 | abma | Severity | major => feature |
2013-08-10 15:29 | Kloot | Relationship added | related to 0003737 |
2013-08-17 00:55 | Kloot | Changeset attached | => spring develop 8c48c272 |
2013-08-17 00:55 | Kloot | Assigned To | => Kloot |
2013-08-17 00:55 | Kloot | Status | new => resolved |
2013-08-17 00:55 | Kloot | Resolution | open => fixed |
2013-08-29 23:04 | silentwings | Note Added: 0011494 | |
2013-08-29 23:04 | silentwings | Status | resolved => feedback |
2013-08-29 23:04 | silentwings | Resolution | fixed => reopened |
2013-08-30 17:45 | Kloot | Note Added: 0011497 | |
2013-08-30 17:45 | Kloot | Status | feedback => resolved |
2013-08-30 17:45 | Kloot | Fixed in Version | => 94.1.1+git |
2013-08-30 17:45 | Kloot | Resolution | reopened => fixed |