Loading...
  OR  Zero-K Name:    Password:   

Post edit history

Retrospective user block with drawn map comments

To display differences between versions, select one or more edits in the list using checkboxes and click "diff selected"
Post edit history
Date Editor Before After
10/15/2023 3:28:56 PMunknownrankShaman before revert after revert
10/15/2023 3:27:50 PMunknownrankShaman before revert after revert
10/15/2023 3:26:14 PMunknownrankShaman before revert after revert
Before After
1 In order to use Spring.MarkerErasePosition, we need to know the position we are removing. This means you're going to have to store positions. You want to remove all the points in which someone has added, you're going to have to store who made a point where. There's a callin: 1 In order to use Spring.MarkerErasePosition, we need to know the position we are removing. This means you're going to have to store positions. You want to remove all the points in which someone has added, you're going to have to store who made a point where. There's a callin:
2 \n 2 \n
3 widget:MapDrawCmd(playerID, cmdType, px, py, pz, arg1, arg2, arg3, arg4) 3 widget:MapDrawCmd(playerID, cmdType, px, py, pz, arg1, arg2, arg3, arg4)
4 \n 4 \n
5 NOTE: cmdType here can be erased which allows us to remove points from the table. See problems below. 5 NOTE: cmdType here can be erased which allows us to remove points from the table. See problems below.
6 \n 6 \n
7 You're going to be storing information from this callin in the form of a table. Essentially a structure like this: 7 You're going to be storing information from this callin in the form of a table. Essentially a structure like this:
8 \n 8 \n
9 { 9 {
10 [playerID] = { 10 [playerID] = {
11 [1] = {x, z}, 11 [1] = {x, z},
12 [2] = {x, z} 12 [2] = {x, z}
13 etc} 13 etc}
14 } 14 }
15 \n 15 \n
16 or 16 or
17 \n 17 \n
18 { 18 {
19 [playerID] = { 19 [playerID] = {
20 [x value here] = { 20 [x value here] = {
21 [y value] = true 21 [y value] = true
22 } 22 }
23 } 23 }
24 } 24 }
25 \n 25 \n
26 PROBLEM: other people can erase points that aren't there own! 26 PROBLEM: other people can erase points that aren't there own!
27 PROBLEM: middle mouse pings are super easy to spam! This means we're facing potentially hundreds to thousands of points total. This is going to be a beefy table and we're limited by memory to 1,5gb between lua rules and lua ui. 27 PROBLEM: middle mouse pings are super easy to spam! This means we're facing potentially hundreds to thousands of points total. This is going to be a beefy table and we're limited by memory to 1,5gb between lua rules and lua ui.
28 PROBLEM: pairs is fairly slow compared to indexed tables (about 4x slower) 28 PROBLEM: pairs is fairly slow compared to indexed tables (about 4x slower)
29 PROBLEM: if ignoring a user causes the game to lag while we process their pings, they're de-incentivized to use the feature and it might as well not exist. 29 PROBLEM: if ignoring a user causes the game to lag while we process their pings, they're de-incentivized to use the feature and it might as well not exist.
30 PROBLEM: erasing a point erases all points within a radius.
30 \n 31 \n
31 TL;DR: I described the logistics and pitfalls of implementing this as "too big" for too little qol and said it would be easier to just call the "Erase all points" action when ignoring a player which achieves the same result. 32 TL;DR: I described the logistics and pitfalls of implementing this as "too big" for too little qol and said it would be easier to just call the "Erase all points" action when ignoring a player which achieves the same result.