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
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
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
or
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:
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)