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.
|