So basically i'm making this Vanilla AntiCheat that right now only detects xraying (I started today) I'm not having any issues with the detection, but I am having issues with a feature I want it to have.
So when an admin gets notified of a player that might be cheating it has a unique id:
Right now I have it so when you click on the incident id it gives you a command suggestion where you have to change one of the values so you can tp to where the detection took place.
(Have to change the last number to the incident id to tp there)
I want it to be so you click something in the chat and it just tps you to the armorstand that was summoned when the player was detected without you having to change the number in chat but i'm not sure how to go about doing this. If anybody could help me on this that would be awesome.
So are does the armorstand already posses a unique label that isolates it from others? (I'm assuming that's what the ID is for) Because then you could just run the command as executed from the armorstand using the same method that gave you the incident ID in the first place.
So this makes the armorstand in question teleport the player to itself
Of course if you want more than one admin, you will now also need to temporarily tag the player that clicked the chat so the armorstand teleports just that player.
So are does the armorstand already posses a unique label that isolates it from others? (I'm assuming that's what the ID is for) Because then you could just run the command as executed from the armorstand using the same method that gave you the incident ID in the first place.
So this makes the armorstand in question teleport the player to itself
Of course if you want more than one admin, you will now also need to temporarily tag the player that clicked the chat so the armorstand teleports just that player.
I would need to know the details of how your system works to explain further, but from what I can interpret this should do the trick.
In your example I dont completely understand it cause how will this make the armorstand tp you to it. Also in that picture where i have a command typed in the chat it was meant to be "/tp @p @e[tag=bac,score_armorstandid_min=0,score_armorstandid=0]"in the position it is right now you would need to change the zeroes to the id you want but in the example you posted it is still at 0 meaning that as there is multiple armorstands with a score higher than 0 it won't tp at all.
Right, so my method plays off of the fact that you have an incident Id.
You change the zero to the number given in the incident Id correct?
How are you getting this incident ID?
Because if this information exists you can replace the incident Id with a click activated command that I made above using the same method. Ill try to explain better but I need more details on exactly how your system works.
Rollback Post to RevisionRollBack
Formerly Tpnoll
This is my new forum account, why did I change it? The world will never know.
Right, so my method plays off of the fact that you have an incident Id.
You change the zero to the number given in the incident Id correct?
How are you getting this incident ID?
Because if this information exists you can replace the incident Id with a click activated command that I made above using the same method. Ill try to explain better but I need more details on exactly how your system works.
I have a couple scores let me explain, so the first thing that happens is overallid is added to by one (overallid is the total incidents that have happened, this is used to later match the incident id score to overallid but the difference is that incidentid is the actual player having the id while overallid is a fake player having the id. armorstandid is the same but for the armorstands, honestly the armorstands could just use the incidentid score but i decided to give them a special objective just cause.) next the incident id of the player is reset. (in the case that the player was detected cheating before) Next the players incidentid score is matched to the fake players overallid score. then the armorstand is summoned and it is given the same incidentid score as the player but in the form of armorstandid. Also sorry for not responded i havent checked the forum in a while.
Perhaps you could use channels. You could have as many as you want and basically you have a pool of unique armor stands (by name or score or whatever) and when a crime is detected, it teleports an available armorstand to the player and the appropriate tellraw command is run.
Its not quite as dynamic as your scoreboard method, but I think this is the easiest way, plus it can hold memory for as long as you need to (So an admin doesn't have to attend to a scene right away for whatever reason.)
So...
1. Crime is detected
2. Machine checks for next available channel and a named armorstand is teleported to that player (Or summoned if that's easier, it really dosent matter)
3. A corresponding tellraw command is sent into the chat that is unique to the armorstand
4. Admin clicks to teleport
5. When done the channel can be reopened and the armorstand either killed (if summoned) or left be
I am yet to find a practical way to do this otherwise, but ill keep thinking about it.
So basically i'm making this Vanilla AntiCheat that right now only detects xraying (I started today) I'm not having any issues with the detection, but I am having issues with a feature I want it to have.
So when an admin gets notified of a player that might be cheating it has a unique id:
Right now I have it so when you click on the incident id it gives you a command suggestion where you have to change one of the values so you can tp to where the detection took place.
(Have to change the last number to the incident id to tp there)
I want it to be so you click something in the chat and it just tps you to the armorstand that was summoned when the player was detected without you having to change the number in chat but i'm not sure how to go about doing this. If anybody could help me on this that would be awesome.
So are does the armorstand already posses a unique label that isolates it from others? (I'm assuming that's what the ID is for) Because then you could just run the command as executed from the armorstand using the same method that gave you the incident ID in the first place.
For example:
/execute @e[tag=bac,score_armorstandid_min=0] ~ ~ ~ tp "player" @e[tag=bac,score_armorstandid_min=0]
So this makes the armorstand in question teleport the player to itself
Of course if you want more than one admin, you will now also need to temporarily tag the player that clicked the chat so the armorstand teleports just that player.
---------------------------------------------------
I would need to know the details of how your system works to explain further, but from what I can interpret this should do the trick.
Formerly Tpnoll
This is my new forum account, why did I change it? The world will never know.
Contact me at [email protected]
In your example I dont completely understand it cause how will this make the armorstand tp you to it. Also in that picture where i have a command typed in the chat it was meant to be "/tp @p @e[tag=bac,score_armorstandid_min=0,score_armorstandid=0]"in the position it is right now you would need to change the zeroes to the id you want but in the example you posted it is still at 0 meaning that as there is multiple armorstands with a score higher than 0 it won't tp at all.
Right, so my method plays off of the fact that you have an incident Id.
You change the zero to the number given in the incident Id correct?
How are you getting this incident ID?
Because if this information exists you can replace the incident Id with a click activated command that I made above using the same method. Ill try to explain better but I need more details on exactly how your system works.
Formerly Tpnoll
This is my new forum account, why did I change it? The world will never know.
Contact me at [email protected]
I have a couple scores let me explain, so the first thing that happens is overallid is added to by one (overallid is the total incidents that have happened, this is used to later match the incident id score to overallid but the difference is that incidentid is the actual player having the id while overallid is a fake player having the id. armorstandid is the same but for the armorstands, honestly the armorstands could just use the incidentid score but i decided to give them a special objective just cause.) next the incident id of the player is reset. (in the case that the player was detected cheating before) Next the players incidentid score is matched to the fake players overallid score. then the armorstand is summoned and it is given the same incidentid score as the player but in the form of armorstandid. Also sorry for not responded i havent checked the forum in a while.
Perhaps you could use channels. You could have as many as you want and basically you have a pool of unique armor stands (by name or score or whatever) and when a crime is detected, it teleports an available armorstand to the player and the appropriate tellraw command is run.
Its not quite as dynamic as your scoreboard method, but I think this is the easiest way, plus it can hold memory for as long as you need to (So an admin doesn't have to attend to a scene right away for whatever reason.)
So...
1. Crime is detected
2. Machine checks for next available channel and a named armorstand is teleported to that player (Or summoned if that's easier, it really dosent matter)
3. A corresponding tellraw command is sent into the chat that is unique to the armorstand
4. Admin clicks to teleport
5. When done the channel can be reopened and the armorstand either killed (if summoned) or left be
I am yet to find a practical way to do this otherwise, but ill keep thinking about it.
And sorry I took so long, I was on Vacation
Formerly Tpnoll
This is my new forum account, why did I change it? The world will never know.
Contact me at [email protected]