Vincent Posted July 4, 2013 Group: Members Topic Count: 130 Topics Per Day: 0.03 Content Count: 528 Reputation: 18 Joined: 09/11/12 Last Seen: March 5, 2020 Share Posted July 4, 2013 Hi, i am looking for a script where i can set the maps where dual client get kicked. I want to add this to WoE Maps so Player can play with dual client but if they want to enter WoE maps they get kicked. Quote Link to comment Share on other sites More sharing options...
Skorm Posted July 4, 2013 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: Sunday at 10:43 PM Share Posted July 4, 2013 Old version prontera,0,0,0 script sniper 111,{ OnPCLoadMapEvent: query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN (SELECT `account_id` FROM `login` WHERE `last_ip` = (SELECT `last_ip` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `last_map` = '"+strnpcinfo(4)+"' AND `online` <> 0;",.a); if(getarraysize(.a)-1) { dispbottom "Duel accounts not allowed in WOE."; warp "geffen",0,0; } end; OnInit: setmapflag strnpcinfo(4),mf_loadevent; } Give me a second and I'll test it. I'm not really sure how fast SQL updates as far as maps are concerned we might have to just return the account ids and surf them with getmapxy or add a delay if it doesn't take forever... I wouldn't recommand this if you have a massive server. Old Version 2 aldeg_cas01,0,0,0 script dck#aldeg_cas01 111,{ OnPCLoadMapEvent: set .@charmap$, strcharinfo(3); if(.@charmap$!=.npcmap$) end; set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN (SELECT `account_id` FROM `login` WHERE `last_ip` = (SELECT `last_ip` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); if(.@len-1) { for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])); if(.@map$==.@charmap$&&rid2name(.@a[.@d])!=strcharinfo(0)) { dispbottom "Duel accounts not allowed in WOE."; warp "geffen",0,0; } } } end; OnInit: set .npcmap$, strnpcinfo(4); setmapflag .npcmap$, mf_loadevent ; } gefg_cas01,0,0,0 duplicate(dck#aldeg_cas01) dck#gefg_cas01 111 payg_cas01,0,0,0 duplicate(dck#aldeg_cas01) dck#payg_cas01 111 prtg_cas01,0,0,0 duplicate(dck#aldeg_cas01) dck#prtg_cas01 111 This is working from what I can tell. Just set this npc on one of the maps you want and dupilcate it to the others it will do the rest. This probably goes without saying but this script will only work on SQL servers.Edit: You may also change strnpcinfo(4) like: set .npcmap$, strnpcinfo(2); Will make the script compatiable with eAthena. Old Version 3 rAthena Only: - script dualclientkicker -1,{ OnPCLoadMapEvent: set .@charmap$, strcharinfo(3); query_sql("SELECT FIND_IN_SET('"+.@charmap$+"', '"+.maps$+"');",.@q); if(.@charmap$!=.tmp$[(.@q-1)]) end; set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN (SELECT `account_id` FROM `login` WHERE `last_ip` = (SELECT `last_ip` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); if(.@len-1) { for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])); if(.tmp$[(.@q-1)]==.@map$&&rid2name(.@a[.@d])!=strcharinfo(0)) { dispbottom "Duel accounts not allowed in WOE."; warp "geffen",0,0; } } } end; OnInit: set .maps$ , "aldeg_cas01,gefg_cas01,payg_cas01,prtg_cas01"; explode( .tmp$ , .maps$, ",") ; set .lens , getarraysize(.tmp$) ; for(set .a,0;.a<.lens;set .a,.a+1) setmapflag .tmp$[.a], mf_loadevent ; } Just add you maps to the .maps$ string. Universal: - script dualclientkicker -1,{ OnPCLoadMapEvent: set .@charmap$, strcharinfo(3); for(set(.@q,0);.@q<.lens;set(.@q,.@q+1)) if(.@charmap$==.maps$[.@q]) break; else end; if(.@charmap$!=.maps$[.@q]) end; set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN (SELECT `account_id` FROM `login` WHERE `last_ip` = (SELECT `last_ip` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); if(.@len-1) { for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])); if(.maps$[.@q]==.@map$&&rid2name(.@a[.@d])!=strcharinfo(0)) { dispbottom "Duel accounts not allowed in WOE."; warp "geffen",0,0; } } } end; OnInit: setarray .maps$ , "aldeg_cas01", "gefg_cas01", "payg_cas01", "prtg_cas01"; set .lens , getarraysize(.maps$) ; for(set(.a,0);.a<.lens;set(.a,.a+1)) setmapflag .maps$[.a], mf_loadevent ; } Just add you maps to the .maps$ array. Universal v4: - script dualclientkicker -1,{ OnPCLoadMapEvent: set .@charmap$, strcharinfo(3); if(!compare(.tmp$,.@charmap$)) end; //set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN (SELECT `account_id` FROM `login` WHERE `last_ip` = (SELECT `last_ip` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); set .@len, query_sql("select account_id from `char` right join login on login.account_id = `char`.account_id where `char`.online = 1 and login.last_ip = '"+ getcharip() +"'",.@a ); //Annieruru Addition. if(.@len-1) { for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])); if(.@charmap$==.@map$&&rid2name(.@a[.@d])!=strcharinfo(0)) { dispbottom "Duel accounts not allowed in WOE."; warp "geffen",0,0; } } } end; OnInit: setarray .maps$ , "aldeg_cas01", "gefg_cas01", "payg_cas01", "prtg_cas01"; set .lens , getarraysize(.maps$) ; for(set(.a,0);.a<.lens;set(.a,.a+1)) { setmapflag .maps$[.a], mf_loadevent ; set .tmp$ ,.tmp$+.maps$[.a]+","; } } 2 Quote Link to comment Share on other sites More sharing options...
1 fallen0519 Posted April 16, 2014 Group: Members Topic Count: 20 Topics Per Day: 0.00 Content Count: 52 Reputation: 2 Joined: 02/15/14 Last Seen: May 10, 2017 Share Posted April 16, 2014 When I use Old version 3, rAthena only. it appear this bug in putty, hopefully someone will be able to fix it. [Warning]: script:getelementofarray: index out of range (-1) [Debug]: Data: variable name='.tmp$' index=0 [Debug]: Source (NPC): dualclientkicker (invisible/not on a map) following is my script... - script dualclientkicker -1,{ OnPCLoadMapEvent: set .@charmap$, strcharinfo(3); query_sql("SELECT FIND_IN_SET('"+.@charmap$+"', '"+.maps$+"');",.@q); if(.@charmap$!=.tmp$[(.@q-1)]) end; set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN (SELECT `account_id` FROM `login` WHERE `last_ip` = (SELECT `last_ip` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); if(.@len-1) { for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])); if(.tmp$[(.@q-1)]==.@map$&&rid2name(.@a[.@d])!=strcharinfo(0)) { dispbottom "Dual accounts not allowed in HERE."; warp "prontera",156,178; } } } end; OnInit: set .maps$ ,"bat_a01,bat_room,guild_vs3,prtg_cas05"; explode(.tmp$,.maps$,",") ; set .lens , getarraysize(.tmp$); for(set .a,0;.a<.lens;set .a,.a+1) setmapflag .tmp$[.a], mf_loadevent; } Quote Link to comment Share on other sites More sharing options...
0 rans Posted December 6, 2016 Group: Members Topic Count: 104 Topics Per Day: 0.02 Content Count: 429 Reputation: 60 Joined: 08/19/12 Last Seen: Sunday at 04:33 AM Share Posted December 6, 2016 On 7/26/2013 at 11:01 PM, Skorm said: - script dualclientkicker2 -1,{ OnPCLoginEvent: set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN "+ "(SELECT `account_id` FROM `login` WHERE `last_mac` = "+ "(SELECT `last_mac` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); sleep2 1000; if(.@len>.max) atcommand "@kick "+strcharinfo(0); end; OnInit: set .max, 2; //Max Connections. } Use whatever script you want mine worked when I tested it. -.- Hi @Skorm Just wanted to ask if you could make this check for IP && Mac address cause sometimes in rare cases my players having the same Mac address but different IP. I'm no good at SQL scripting so i was wondering if how can i make it check for both ip and mac before kicking the player. thanks Quote Link to comment Share on other sites More sharing options...
0 mR L Posted March 18, 2019 Group: Members Topic Count: 10 Topics Per Day: 0.00 Content Count: 177 Reputation: 26 Joined: 12/24/14 Last Seen: December 25, 2024 Share Posted March 18, 2019 On 4/17/2014 at 6:33 AM, fallen0519 said: [Warning]: script:getelementofarray: index out of range (-1) [Debug]: Data: variable name='.tmp$' index=0 [Debug]: Source (NPC): dualclientkicker (invisible/not on a map) same problem Quote Link to comment Share on other sites More sharing options...
Capuche Posted July 4, 2013 Group: Developer Topic Count: 10 Topics Per Day: 0.00 Content Count: 2407 Reputation: 616 Joined: 07/05/12 Last Seen: March 20 Share Posted July 4, 2013 or like this? - script dual_client -,{ OnInit: setarray .@map$, "alberta","geffen"; // yours maps no dual .@size = getarraysize( .@map$ ); for ( .@i = 0; .@i < .@size; .@i++ ) if ( !getmapflag( .@map$[.@i], mf_loadevent ) ) setmapflag .@map$[.@i], mf_loadevent; .map_list$ = implode( .@map$, "|" ); .@count = query_sql( "select `login`.`last_ip`, `char`.`name`, `char`.`char_id` from `login` left join `char` on `char`.`account_id`=`login`.`account_id` where `char`.`online`=1", .@last_ip$, .@name$, .@char_id ); for ( .@i = 0; .@i < .@count; .@i++ ) { getmapxy .@map$, .@x, .@y, 0, .@name$[.@i]; if ( !compare( .map_list$, .@map$ ) ) continue; .@size = 0; .@variable$ = ".ip_"+ .@last_ip$[.@i] +"$"; if ( getd( .@variable$ ) != "" ) { .@size = getarraysize( getd( .@variable$ ) ); for ( .@j = 0; .@j < .@size; .@j++ ) { getmapxy .@map2$, .@x, .@y, 0, getd( .@variable$ +"["+ .@j +"]" ); if ( .@map$ == .@map2$ ) { warpchar "prontera",150,150, .@char_id[.@i]; message .@name$[.@i], "No dual account on this map."; break; } } } if ( .@j == .@size ) setd .@variable$ +"["+ .@size +"]", .@name$[.@i]; } end; OnPCLoadMapEvent: if ( !compare( .map_list$, strcharinfo(3) ) ) end; .@map$ = strcharinfo(3); .@myname$ = strcharinfo(0); .@variable$ = ".ip_"+ getcharip() +"$"; .@size = getarraysize( getd( .@variable$ ) ); for ( .@j = 0; .@j < .@size; .@j++ ) { if ( .@myname$ == getd( .@variable$ +"["+ .@j +"]" ) ) { .@is_in = 1; continue; } getmapxy .@map2$, .@x, .@y, 0, getd( .@variable$ +"["+ .@j +"]" ); .@compare = compare( .map_list$, .@map2$ ); if ( !.@compare ) { .@tmp$ = .@variable$ +"["+ .@j +"]"; deletearray getd( .@tmp$ ), 1; .@size--; } else if ( .@map$ == .@map2$ ) { warpchar "prontera",150,150, getcharid(0); message .@myname$, "No dual account on this map."; end; } } if ( !.@is_in ) setd .@variable$ +"["+ .@size +"]", .@myname$; end; } Quote Link to comment Share on other sites More sharing options...
Vincent Posted July 6, 2013 Group: Members Topic Count: 130 Topics Per Day: 0.03 Content Count: 528 Reputation: 18 Joined: 09/11/12 Last Seen: March 5, 2020 Author Share Posted July 6, 2013 Tested Universal v4 on my test server and it works. Thanks. Quote Link to comment Share on other sites More sharing options...
Freya Jorgenson Posted July 22, 2013 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 146 Reputation: 1 Joined: 11/22/11 Last Seen: March 21, 2021 Share Posted July 22, 2013 hi I understand that this one is IP based and if people are on the same shop , one of them will be able to stay in the map? but is there anyway that it can only check the connection per PC? I have a Harmony in my client but the setting "Max connections per PC" does not seem to work, that's why I am looking into using this script. Thanks for your help in advance. Quote Link to comment Share on other sites More sharing options...
Skorm Posted July 23, 2013 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: Sunday at 10:43 PM Share Posted July 23, 2013 (edited) hi I understand that this one is IP based and if people are on the same shop , one of them will be able to stay in the map? but is there anyway that it can only check the connection per PC? I have a Harmony in my client but the setting "Max connections per PC" does not seem to work, that's why I am looking into using this script. Thanks for your help in advance. Edit-- Edited July 27, 2013 by Skorm Quote Link to comment Share on other sites More sharing options...
Freya Jorgenson Posted July 23, 2013 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 146 Reputation: 1 Joined: 11/22/11 Last Seen: March 21, 2021 Share Posted July 23, 2013 (edited) oh thank you! Hi I have tried this and does not appear to be working. =( I am not sure what the problem is. Can someone change the SQL query instead of reading the last IP to be the MAC ID instead? I am trying to use this: - script dual_client -,{ OnInit: setarray .@map$, "alberta","geffen"; // yours maps no dual .@size = getarraysize( .@map$ ); for ( .@i = 0; .@i < .@size; .@i++ ) if ( !getmapflag( .@map$[.@i], mf_loadevent ) ) setmapflag .@map$[.@i], mf_loadevent; .map_list$ = implode( .@map$, "|" ); .@count = query_sql( "select `login`.`last_ip`, `char`.`name`, `char`.`char_id` from `login` left join `char` on `char`.`account_id`=`login`.`account_id` where `char`.`online`=1", .@last_ip$, .@name$, .@char_id ); for ( .@i = 0; .@i < .@count; .@i++ ) { getmapxy .@map$, .@x, .@y, 0, .@name$[.@i]; if ( !compare( .map_list$, .@map$ ) ) continue; .@size = 0; .@variable$ = ".ip_"+ .@last_ip$[.@i] +"$"; if ( getd( .@variable$ ) != "" ) { .@size = getarraysize( getd( .@variable$ ) ); for ( .@j = 0; .@j < .@size; .@j++ ) { getmapxy .@map2$, .@x, .@y, 0, getd( .@variable$ +"["+ .@j +"]" ); if ( .@map$ == .@map2$ ) { warpchar "prontera",150,150, .@char_id[.@i]; message .@name$[.@i], "No dual account on this map."; break; } } Thank you. Edited July 23, 2013 by Freya Jorgenson Quote Link to comment Share on other sites More sharing options...
Skorm Posted July 26, 2013 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: Sunday at 10:43 PM Share Posted July 26, 2013 - script dualclientkicker2 -1,{ OnPCLoginEvent: set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN "+ "(SELECT `account_id` FROM `login` WHERE `last_mac` = "+ "(SELECT `last_mac` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); sleep2 1000; if(.@len>.max) atcommand "@kick "+strcharinfo(0); end; OnInit: set .max, 2; //Max Connections. } Use whatever script you want mine worked when I tested it. -.- Quote Link to comment Share on other sites More sharing options...
maynard Posted July 26, 2013 Group: Members Topic Count: 44 Topics Per Day: 0.01 Content Count: 159 Reputation: 1 Joined: 12/21/11 Last Seen: April 20, 2014 Share Posted July 26, 2013 @skorm I have db error - unknown column 'last_mac' in 'where_clause' Quote Link to comment Share on other sites More sharing options...
Skorm Posted July 26, 2013 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: Sunday at 10:43 PM Share Posted July 26, 2013 @skorm I have db error - unknown column 'last_mac' in 'where_clause' It only works for Harmony clients because it keeps mac address. If you want it to work for other clients... change all instances of last_mac to last_ip Quote Link to comment Share on other sites More sharing options...
Freya Jorgenson Posted July 27, 2013 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 146 Reputation: 1 Joined: 11/22/11 Last Seen: March 21, 2021 Share Posted July 27, 2013 Hi Skorm, Thanks for the script, it works fine now =) Quote Link to comment Share on other sites More sharing options...
uDe Posted August 19, 2013 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 400 Reputation: 5 Joined: 12/05/11 Last Seen: September 27, 2015 Share Posted August 19, 2013 - script dualclientkicker2 -1,{ OnPCLoginEvent: set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN "+ "(SELECT `account_id` FROM `login` WHERE `last_mac` = "+ "(SELECT `last_mac` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); sleep2 1000; if(.@len>.max) atcommand "@kick "+strcharinfo(0); end; OnInit: set .max, 2; //Max Connections. } Use whatever script you want mine worked when I tested it. -.- @Skorm, this script will kick dual client only? Not same ip address (Cyber Cafe). I have used Universal V4 and it'll kick same ip address. Quote Link to comment Share on other sites More sharing options...
Vincent Posted August 19, 2013 Group: Members Topic Count: 130 Topics Per Day: 0.03 Content Count: 528 Reputation: 18 Joined: 09/11/12 Last Seen: March 5, 2020 Author Share Posted August 19, 2013 the dual client will be identify with the ip... Quote Link to comment Share on other sites More sharing options...
Skorm Posted August 19, 2013 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: Sunday at 10:43 PM Share Posted August 19, 2013 - script dualclientkicker2 -1,{ OnPCLoginEvent: set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN "+ "(SELECT `account_id` FROM `login` WHERE `last_mac` = "+ "(SELECT `last_mac` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); sleep2 1000; if(.@len>.max) atcommand "@kick "+strcharinfo(0); end; OnInit: set .max, 2; //Max Connections. } Use whatever script you want mine worked when I tested it. -.- @Skorm, this script will kick dual client only? Not same ip address (Cyber Cafe). I have used Universal V4 and it'll kick same ip address. The version you selected identifies with the mac address but you need Harmony in order to run it. Quote Link to comment Share on other sites More sharing options...
uDe Posted August 20, 2013 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 400 Reputation: 5 Joined: 12/05/11 Last Seen: September 27, 2015 Share Posted August 20, 2013 The version you selected identifies with the mac address but you need Harmony in order to run it. I see, but I don't have Harmony. Is there any possible way? Or you already did post the script? Quote Link to comment Share on other sites More sharing options...
vijay30393 Posted October 1, 2013 Group: Members Topic Count: 35 Topics Per Day: 0.01 Content Count: 114 Reputation: 0 Joined: 05/10/12 Last Seen: April 18, 2020 Share Posted October 1, 2013 Can i request?I want all the ID's too be killed not kicked out.If the 2 same IP chars get's into a map which is same IP restricted, i want them both to get killed(log'd out from the server).Thank you. Quote Link to comment Share on other sites More sharing options...
Lil Troll Posted October 1, 2013 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 276 Reputation: 24 Joined: 07/06/13 Last Seen: April 19, 2014 Share Posted October 1, 2013 Can i request? I want all the ID's too be killed not kicked out. If the 2 same IP chars get's into a map which is same IP restricted, i want them both to get killed(log'd out from the server). Thank you. Done.. - script dualclientkicker -1,{ OnPCLoadMapEvent: set .@charmap$, strcharinfo(3); if(!compare(.tmp$,.@charmap$)) end; set .@len, query_sql("SELECT DISTINCT `account_id` FROM `char` WHERE `account_id` IN (SELECT `account_id` FROM `login` WHERE `last_ip` = (SELECT `last_ip` FROM `login` WHERE `account_id`="+getcharid(3)+")) AND `online` <> 0;",.@a); if(.@len-1) { for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])); if(.@charmap$==.@map$&&rid2name(.@a[.@d])!=strcharinfo(0)) { dispbottom "Duel accounts not allowed in WOE."; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; } } } end; OnInit: setarray .maps$ , "aldeg_cas01", "gefg_cas01", "payg_cas01", "prtg_cas01"; set .lens , getarraysize(.maps$) ; for(set(.a,0);.a<.lens;set(.a,.a+1)) { setmapflag .maps$[.a], mf_loadevent ; set .tmp$ ,.tmp$+.maps$[.a]+","; } } Quote Link to comment Share on other sites More sharing options...
vijay30393 Posted October 1, 2013 Group: Members Topic Count: 35 Topics Per Day: 0.01 Content Count: 114 Reputation: 0 Joined: 05/10/12 Last Seen: April 18, 2020 Share Posted October 1, 2013 (edited) @Lit TrollStill the Char's are not logging out from the server when they are in the same map.I think you dint understand my request. Edited October 1, 2013 by vijay30393 Quote Link to comment Share on other sites More sharing options...
Lil Troll Posted October 1, 2013 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 276 Reputation: 24 Joined: 07/06/13 Last Seen: April 19, 2014 Share Posted October 1, 2013 (edited) @Lit Troll Still the Char's are not logging out from the server when they are in the same map. I think you dint understand my request. What do you mean by this? I want all the ID's too be killed not kicked out. From my above post i used (If you want the char to be killed): unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; If you wanted the char to be kicked not killed change above to: atcommand "@kick " + strcharinfo(0); It will kick the last player who joined the woe with same ip(This is not advisable when players are playing on internet cafe.) Idk yet how to kick both of them, because there's no command that can be used atm(in my own knowledge, if im not mistaking). Edited October 1, 2013 by Lil Troll Quote Link to comment Share on other sites More sharing options...
brunoshp Posted October 2, 2013 Group: Members Topic Count: 64 Topics Per Day: 0.01 Content Count: 180 Reputation: 7 Joined: 12/19/12 Last Seen: November 21, 2024 Share Posted October 2, 2013 dll for put in client he need! to get mac adress. correct vijay? Quote Link to comment Share on other sites More sharing options...
vijay30393 Posted October 4, 2013 Group: Members Topic Count: 35 Topics Per Day: 0.01 Content Count: 114 Reputation: 0 Joined: 05/10/12 Last Seen: April 18, 2020 Share Posted October 4, 2013 (edited) Done fixed, Thanks you guys. Edited October 4, 2013 by vijay30393 Quote Link to comment Share on other sites More sharing options...
brunoshp Posted October 5, 2013 Group: Members Topic Count: 64 Topics Per Day: 0.01 Content Count: 180 Reputation: 7 Joined: 12/19/12 Last Seen: November 21, 2024 Share Posted October 5, 2013 @skorm this only get last ip correct? Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted December 27, 2013 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted December 27, 2013 think I better bump this topic rather than post in other member's topic the answered sql query is quite unoptimized I'll avoid using IN command because it always execute very slow using JOIN statement is much faster than IN here because the account_id column has been indexed http://stackoverflow.com/questions/4771183/sql-fixed-value-in-vs-inner-join-performance http://stackoverflow.com/questions/12172931/mysql-performance-use-in-or-join this query should be faster .@len = query_sql("select account_id from `char` right join login on login.account_id = `char`.account_id where `char`.online = 1 and login.last_ip = '"+ getcharip() +"'" ) http://rathena.org/board/topic/73169-player-checker-npc/?p=150983 <-- just some info about an indexed table Quote Link to comment Share on other sites More sharing options...
Question
Vincent
Hi,
i am looking for a script where i can set the maps where dual client get kicked. I want to add this to WoE Maps so Player can play with dual client but if they want to enter WoE maps they get kicked.
Link to comment
Share on other sites
32 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.