Page 19 of 25

Re: GM detection and banning chance reduction

Posted: Thu Aug 29, 2013 5:34 pm
by lisa
If it is only when doing KS I would add something in to the KS WP for it.

You could check the players coords after resurecting and if not within ## distance of the respawn point then do something else.

Could also add it in to after leaving party aswell I guess, it would depend when this happens.

The MM prints should give you an idea of what was happening before getting stuck. In my KS WP I added in a stuck event so if it got stuck it would check the zone ID and if still inside KS it would leave party and continue, if not inside KS it would do something else, that could also be addapted to deal with this stuck you are getting.

But yeah I prob wouldn't try to deal with it in GM detect.

Re: GM detection and banning chance reduction

Posted: Fri Aug 30, 2013 3:28 pm
by Ego95
Lisa, I've got a question. I have got two different bot folders. "rom" and "rom_ks".
rom_ks is modified for ks botting. For about two months the userfunction stopped logging the whispers in the log file. I don't know why. Has is anything to do with the path rom_ks/userfunctions? I'd really like to see if anyone whispered me. The gmmonitor userfunction in my ordinary bot folder is logging the whispers :/

Re: GM detection and banning chance reduction

Posted: Fri Aug 30, 2013 5:42 pm
by lisa
you probably just need to add the loginfo userfunction (userfunction_logger.lua) to the rom_ks folder aswell.

Re: GM detection and banning chance reduction

Posted: Fri Aug 30, 2013 10:54 pm
by Ego95
Oh, lol. I thoght gmdetect itself did the logging :shock:

Re: GM detection and banning chance reduction

Posted: Sat Aug 31, 2013 1:46 am
by lisa
yeah rather than have a user option or have it force the logging I just used my logger function if people have it.

Re: GM detection and banning chance reduction

Posted: Sat Aug 31, 2013 10:20 am
by BlubBlab
lisa wrote:If it is only when doing KS I would add something in to the KS WP for it.

You could check the players coords after resurecting and if not within ## distance of the respawn point then do something else.

Could also add it in to after leaving party aswell I guess, it would depend when this happens.

The MM prints should give you an idea of what was happening before getting stuck. In my KS WP I added in a stuck event so if it got stuck it would check the zone ID and if still inside KS it would leave party and continue, if not inside KS it would do something else, that could also be addapted to deal with this stuck you are getting.

But yeah I prob wouldn't try to deal with it in GM detect.
Something like that I do already, to counter suddenly disappearing partys ^^
Ks seems to drop you off over the map after leaving the party randomly after you get stuck. GMs isn't a possibility not direct a least if they would see what I'm doing inside I had been banned a long time ago.

I tried teleport away but strangely I found no coding in that direction so I started with(2 are missing):

Code: Select all

        <skill name="ALL_RECALL" id="540001" casttime="4" target="self" cooldown="3600"  autouse="false" />
	<skill name="ALL_TRANSPORT_LOGAR" id="540190" casttime="4" target="self" cooldown="3600"  autouse="false" />
  	<skill name="ALL_TRANSPORT_REIFORT" id="540191" casttime="4" target="self" cooldown="3600" autouse="false" />
	<skill name="ALL_TRANSPORT_HEFFNER" id="540193" casttime="4" target="self" cooldown="3600" autouse="false" />
and

Code: Select all

RoMScript("TB_Teleport(0,y)");
Seems to need a click to work like a normal spell how I emulate that?

Re: GM detection and banning chance reduction

Posted: Sat Aug 31, 2013 1:38 pm
by rock5
You can use the teleports like this.

Code: Select all

SlashCommand("/cast Transport: Reifort")
Your transport book spell looks ok as long as you replace the 'y' with a number. I'm not aware that it needs a mouse click. Where I've used it there are no mouse clicks. It's just followed by a waitForLoadingScreen(), eg.

Code: Select all

		local portIndex = getPortIndex("Silverspring-Lake of Magic Mist")
		inventory:itemTotalCount("Transport Rune") > 0 and portIndex then
		RoMScript("TB_Teleport(0,"..portIndex..")")
		waitForLoadingScreen(30)

Re: GM detection and banning chance reduction

Posted: Sat Aug 31, 2013 9:05 pm
by BlubBlab
yeah that with the mouse click was a guess because it didn't work, don't know what cause it, so I wait a little now perhaps it is debuff

Code: Select all

if( distance(player.X, player.Z, player.Y, -15134 , 11548 , 160 ) > 150 )then
		printf("We are too far away from the respoints we wait 20sec and then teleport away \n")
		yrest(20000); --wait 20sec
		SlashCommand("/cast R\195\188ckruf ")
		if( waitForLoadingScreen(120) )then
			loadPaths("KSStartvonVaranasV2") -- V2 means we don't start remote a another char/bot 
		else
                        local portIndex = getPortIndex("Silberquell")
			if( inventory:itemTotalCount("Transport Rune") > 0  and portIndex )then
				RoMScript("TB_Teleport(0, portIndex)");
				if( waitForLoadingScreen(120) )then
					loadPaths("KSStartvonVaranasV2")
				else
					player:logout();
				end
			else
					player:logout();
			end
		end
	end


Re: GM detection and banning chance reduction

Posted: Sat Aug 31, 2013 11:56 pm
by rock5
I forgot about the getPortIndex function again. I did that last time too.

Code: Select all

	function getPortIndex(_name)
		local i = 1
		repeat
			local TB_ID,note,ZoneID,X,Y,Z,Name,icon=RoMScript("TB_GetTeleportInfo("..i..")")
			if note == _name then
				return i
			elseif TB_ID == 0 then
				return false
			else
				i = i + 1
			end
		until false
	end
BlubBlab wrote:local portIndex = getPortIndex("Silberquell")
The value here has to be exactly the same as appears in the transport book.
BlubBlab wrote: if( inventory:itemTotalCount("Transport Rune") > 0 and portIndex )then
"Transport Rune" would have to be translated.
BlubBlab wrote: RoMScript("TB_Teleport(0, portIndex)");
You didn't copy this the same. The way you wrote it it will try to use a variable in the game called portIndex but there is no such variable in the game. That is a bot variable. We want to use the bot variable and send the value it is holding. So it should be,

Code: Select all

RoMScript("TB_Teleport(0,"..portIndex..")")

Re: GM detection and banning chance reduction

Posted: Sun Oct 27, 2013 8:35 am
by Angelusion
welcome
I have problem with our gm
He is not shoving himself and dont whisper, he just teleport chars to some stucked position and watch if character still goes towards wall, if yes = ban,
This userfunction gmdetection dont react on him when we are teleporting
any ideas how to just break and log out all chars when they are being teleported?
or maybe some line in wp to juz break when gm is online ( we know his nick but general line for every gm would be better ), we dont need to play with puase, its better to just log out but its not working with this gm detection

Re: GM detection and banning chance reduction

Posted: Sun Oct 27, 2013 11:28 am
by BlubBlab
What you can do is check every WP if you are in a certain range of a WP and if the Zone-ID(or Map ID) is right, theoretically you need to do that at the beginning of an unstick too and then react on it.

Something similar I did in the thread above and their are a userfunction from me named userfunction_transport which has the WP Spot check and a teleport solution in it.

The problem with GM Detect I know it because it doesn't trigger on a pull back what it should theoretically, let lisa take a look on it.

Re: GM detection and banning chance reduction

Posted: Sun Oct 27, 2013 11:40 am
by Angelusion
Can you pls tell me how to write in MM function
if gm(nick) is online then logout
:):)
I know I know im stupid but I really dont know anything about programming:)

Re: GM detection and banning chance reduction

Posted: Mon Oct 28, 2013 7:23 pm
by lisa
You would need to use something specifically for this purpose, I will give you help here and there but I won't just write the entire thing for you as I am already very busy.

In your waypoint file you need to create a timed event, just like in the gm detect userfunction.
In that timed function you need to start to monitor chat and then use the in game function to check if someone is online or not, then stop the monitoring and decide what needs to be done if they are online.

Ok key things you will need are

Code: Select all



function GMdetectionname()

EventMonitorStart("detectGMname", "CHAT_MSG_SYSTEM");
sendMacro("AskPlayerInfo(\'GMsname\');") -- need to replace GMsname with the actual gm's name.

local time, moreToCome, msg = EventMonitorCheck("detectGMname", "1")
if msg ~= nil then
-- here you check what the msg actualloy says, it will be either their details or character is offline.
end

EventMonitorStop("detectGMname")


end


registerTimer("GMdetection", secondsToTimer(10), GMdetectionname);
the 10 is 10 seconds, so every 10 seconds it will run that function, change it according to what you want.

Re: GM detection and banning chance reduction

Posted: Sun Nov 24, 2013 10:31 pm
by Danni
Hey Lisa,

I tried the code above and with a helping hand of rock5 I got this code now:

Code: Select all

function Detectionname()

   	EventMonitorStart("detectGMaster", "CHAT_MSG_SYSTEM");
   		sendMacro("AskPlayerInfo(\'GM-Name1\');"); yrest(800);
   		sendMacro("AskPlayerInfo(\'GM-Name2\');"); yrest(800);
   		sendMacro("AskPlayerInfo(\'GM-Name3\');"); yrest(800);
		sendMacro("AskPlayerInfo(\'GM-Name4\');"); yrest(800);
   
		local found = false
		repeat
      			local time, moreToCome, msg = EventMonitorCheck("detectGMaster", "1")
      			if msg and string.find(msg, ".*%(.*%).*%(.*%).*%(.*%).*%(.*%).*%(.*%)") then
         			RoMScript("Logout();");
				found = true
         			break
			end
   		until moreToCome == false
   	EventMonitorStop("detectGMaster")
	if not found then
		__WPL:setWaypointIndex(__WPL:findWaypointTag("GO"));
My script does run, but just a moment ago, a GM did came online, I could read all information in my chat, BUT it didn't log out, as it suppose to. Any suggestions? :?:

Secondly I want to know, if I add another Name on that list, so I have to change something ? Like adding a
.*%(.*%).
more? :?:

Re: GM detection and banning chance reduction

Posted: Mon Nov 25, 2013 12:03 am
by rock5
Firstly I think moreToCome only ever = true or nil so it should be

Code: Select all

until moreToCome ~= true
or

Code: Select all

until not moreToCome
You should be able to add as many names as you want. When the function is run you should see the AskPlayerInfo output for each name appear in the game chat. You should have tested it with another players name to see if it logs off. And remember, it will only log off when that function is run.

Don't change the patten. The string with the .*%(.*%) is a pattern that is supposed to match the output of the AskPlayerInfo command. You can double check this by doing the AskPlayerInfo command in game and making sure it has the same number of brackets as I set up the pattern to have. For instance if I test it with my characters name I get

Code: Select all

/script AskPlayerInfo("name")
name (guildname) Mage (67) Priest (65) Thunderhoof Hills Human (Male)
Hm... That's only 4 sets of brackets. You have 5 sets in your pattern string. Did I originally write 5 sets of brackets? Maybe the number of brackets will vary depending on what information needs to be shown.

I just tested it on a newby character and got

Code: Select all

Name Scout (2) Elven Island Elf (Male)
I think that is the minimum amount of information that can be shown so the pattern should be changed to only 2 sets of brackets

Code: Select all

if msg and string.find(msg, ".*%(.*%).*%(.*%)") then

Re: GM detection and banning chance reduction

Posted: Mon Nov 25, 2013 4:12 am
by Danni
Thx u rock5 for the quick reply :)

The Char do log out now ;)

About he fifth bracket....that was my mistake. I was experimenting with it and posted the modified one, not the original :?

I just was wondering , instead of logging off, is it possible to wait like 10 sec. and than check again if the Master is there. If he/she gone offline, it will than keep on going with the WP. :?:

Something like that

Code: Select all

EventMonitorStart("detectGMast", "CHAT_MSG_SYSTEM");
   		sendMacro("AskPlayerInfo(\'GMaster1\');"); yrest(800);

		local found = false
		repeat
      			local time, moreToCome, msg = EventMonitorCheck("detectGMast", "1")
      			if msg and string.find(msg, ".*%(.*%).*%(.*%)") then
				print("GM online, waiting to go off.")
				found = true
				break
				repeat
					player:rest(10)
				until found ~= true
				print("GM offline. Go on.")
				break
			end
   		until moreToCome ~= true
   	EventMonitorStop("detectGMast")
	if not found then
		__WPL:setWaypointIndex(__WPL:findWaypointTag("Go"));
This code does not get a Mistake Message on MM , but after the 10 sec. it just keep on going with the WP, by going to "Go". I want to pause the script and wait until Master is gone.

Re: GM detection and banning chance reduction

Posted: Sat Nov 30, 2013 2:27 pm
by BlubBlab
I have researched a little, they have evolved methods to draw most of the methods useless.
Their level is now 85 and not 100+ anymore, and they won't let you go with cheap excuses anymore so need if you answer a chatbot that can survive 6 or 7 replays or at least something that doesn't answer randomly in cycle.

So using a list would be a fist step in that direction, so you can choose logout if they in near or if the logged in.
I will test if I can overwork it a little bit.

By the way are the class1 and/or class2 really "0" if the char is a GM?

PS:I got that informations trough analyzing my log and reading the German forum.

Re: GM detection and banning chance reduction

Posted: Sun Dec 01, 2013 6:24 pm
by runegod
11/24/13 16:50:54 GM detected! Name: Saitomentor, class IDs: 0/-1



US servers,

Re: GM detection and banning chance reduction

Posted: Sun Dec 01, 2013 7:32 pm
by BlubBlab
Can somebody test this I wrote a new version
which can use
-use GM Name List
-this ask method for server wide search above in the Threas you can choose bettween pause or logoff
-non cycling answers
-amount of response (should be 1 but feel free for something else)
-log your answer to the GM

Code: Select all

--On which Level search for GM's in the List?' "Memory","Server","" in last case it is deactivated(empty string)
local gmSearchMethode = "Memory"
--How often should the bot max response until it gives up. Make sure you have equal or more answer text then  maxResponses
local maxResponses = 1;
I added already all GM's I know of the official servers.

for log out on Server search you need

Code: Select all

settings.profile.options.GMonserver = true
I can't play at th moment so can someone test it(It's contain possible some syntax errors)

Re: GM detection and banning chance reduction

Posted: Mon Dec 02, 2013 11:21 am
by BlubBlab
Okay thx to AlterEgo I did find the main issues that I had the things I did to the response function was pur overkill.
The problem is the title of the GM are not GM it is "Game Master" what GM Detect doesn't take in account (like the chars now 85)
Original it takes on these:

Code: Select all

if string.find(msg,"GM") or string.find(msg,"200") or string.find(msg,"Moderator") or string.find(msg,testcharname)
I added "Game Master" and to make sure also "Gamemaster" I also changed:

Code: Select all

string.find(msg,"200")
to

Code: Select all

gmMinLevel = 85
.
.
string.find(msg,string.find(msg,gmMinLevel)
I hope Lua does make a automatically type converation.

I changed a the option for the server withe search for GM through the List.

Code: Select all

settings.profile.options.GMonServer = "logout"
or
settings.profile.options.GMonServer = "pause"
I still do some changes

EDIT: I think I have found now all syntax error (LuaEdit don't support # operator)