rizsu0107 Posted July 7, 2023 Group: Members Topic Count: 14 Topics Per Day: 0.01 Content Count: 43 Reputation: 1 Joined: 06/24/22 Last Seen: 4 hours ago Share Posted July 7, 2023 Hello, having trouble on this script, I really don't know how to fix it. Please help me! if (query_sql("USE `ragnarok_accounts` SELECT `last_ip` FROM `login` WHERE `account_id` = '" + .@aid[.@j] + "'", .@last_ip$) < 1) If I understand the query_sql correctly this is the setup just based on the script. ragnarok_accounts last_ip account_id Quote Link to comment Share on other sites More sharing options...
KazumaSatou Posted July 7, 2023 Group: Members Topic Count: 9 Topics Per Day: 0.01 Content Count: 157 Reputation: 37 Joined: 05/15/20 Last Seen: 15 hours ago Share Posted July 7, 2023 23 minutes ago, rizsu0107 said: Hello, having trouble on this script, I really don't know how to fix it. Please help me! if (query_sql("USE `ragnarok_accounts` SELECT `last_ip` FROM `login` WHERE `account_id` = '" + .@aid[.@j] + "'", .@last_ip$) < 1) If I understand the query_sql correctly this is the setup just based on the script. ragnarok_accounts last_ip account_id Try this : query_sql("SELECT `last_ip` FROM `login`.`ragnarok_accounts` WHERE `account_id` = "+.@aid[.@j]+"",.@last_ip$); if(.@last_ip$ == ""){ do things here when last ip is empty. } I don't know why you're using the < 1 on checking ip since the ip is a string so it won't be read if you're comparing it to an integer. Quote Link to comment Share on other sites More sharing options...
rizsu0107 Posted July 7, 2023 Group: Members Topic Count: 14 Topics Per Day: 0.01 Content Count: 43 Reputation: 1 Joined: 06/24/22 Last Seen: 4 hours ago Author Share Posted July 7, 2023 (edited) 10 minutes ago, KazumaSatou said: Try this : query_sql("SELECT `last_ip` FROM `login`.`ragnarok_accounts` WHERE `account_id` = "+.@aid[.@j]+"",.@last_ip$); if(.@last_ip$ == ""){ do things here when last ip is empty. } I don't know why you're using the < 1 on checking ip since the ip is a string so it won't be read if you're comparing it to an integer. I just copied this in Euphy's WOE Controller, the one that have " // " is the default, I just added the User `ragnarok_accounts` because I have multiple servers. It is also the same when the woe ends I receive SQL DB error too. Edited July 7, 2023 by rizsu0107 Quote Link to comment Share on other sites More sharing options...
KazumaSatou Posted July 7, 2023 Group: Members Topic Count: 9 Topics Per Day: 0.01 Content Count: 157 Reputation: 37 Joined: 05/15/20 Last Seen: 15 hours ago Share Posted July 7, 2023 10 minutes ago, rizsu0107 said: I just copied this in Euphy's WOE Controller, the one that have " // " is the default, I just added the User `ragnarok_accounts` because I have multiple servers. It is also the same when the woe ends I receive SQL DB error too. Yes, that's why I added the database name on the table on my code, try to use the < 1 on the if(.@lastip$ if it works Quote Link to comment Share on other sites More sharing options...
rizsu0107 Posted July 7, 2023 Group: Members Topic Count: 14 Topics Per Day: 0.01 Content Count: 43 Reputation: 1 Joined: 06/24/22 Last Seen: 4 hours ago Author Share Posted July 7, 2023 13 minutes ago, KazumaSatou said: Yes, that's why I added the database name on the table on my code, try to use the < 1 on the if(.@lastip$ if it works I still getting errors. This is the script I am working on. world_boss.txt Quote Link to comment Share on other sites More sharing options...
KazumaSatou Posted July 7, 2023 Group: Members Topic Count: 9 Topics Per Day: 0.01 Content Count: 157 Reputation: 37 Joined: 05/15/20 Last Seen: 15 hours ago Share Posted July 7, 2023 26 minutes ago, rizsu0107 said: I still getting errors. This is the script I am working on. world_boss.txt query_sql("SELECT `last_ip` FROM `ragnarok_accounts`.`login` WHERE `account_id` = "+getcharid(3)+"",.@IP ); query_sql("SELECT `account_id` FROM `ragnarok_accounts`.`login` WHERE `last_ip` = "+.@IP+"",.@Accountlist ); Here. The database and table has been swapped. Quote Link to comment Share on other sites More sharing options...
rizsu0107 Posted July 7, 2023 Group: Members Topic Count: 14 Topics Per Day: 0.01 Content Count: 43 Reputation: 1 Joined: 06/24/22 Last Seen: 4 hours ago Author Share Posted July 7, 2023 (edited) 24 minutes ago, KazumaSatou said: query_sql("SELECT `last_ip` FROM `ragnarok_accounts`.`login` WHERE `account_id` = "+getcharid(3)+"",.@IP ); query_sql("SELECT `account_id` FROM `ragnarok_accounts`.`login` WHERE `last_ip` = "+.@IP+"",.@Accountlist ); Here. The database and table has been swapped. I don't receive any errors now. Thank you so much. Also my Woe Controller is Fixed thank you so much for this. Also, can I ask about this. It is not detecting the same user IP, if you don't mind :). - script No_Multiple_Accounts -1,{ OnPCLoadMapEvent: if( strcharinfo(3) == .Map$ ){ query_sql("SELECT `last_ip` FROM `ragnarok_accounts`.`login` WHERE `account_id` = "+getcharid(3)+"",.@IP ); query_sql("SELECT `account_id` FROM `ragnarok_accounts`.`login` WHERE `last_ip` = "+.@IP+"",.@Accountlist ); for( set .@i,0; .@i < getarraysize( .@Accountlist ); set .@i,.@i + 1 ) if( isloggedin( .@Accountlist[.@i] ) ) set .@DetectedOnline,.@DetectedOnline + 1; if( .@DetectedOnline > .Limit ){ mes "We detected there is "+.@DetectedOnline+" Users with same IP Logged in."; mes "Please log off these unused account."; close2; warp "thana_town",100,100; } } end; OnInit: // How many User with Same IP can logged in and stay at the specific map set .Limit,1; // What map will be restricted set .Map$,"jupe_ele"; setmapflag .Map$,mf_loadevent; end; } Edited July 7, 2023 by rizsu0107 Quote Link to comment Share on other sites More sharing options...
hendra814 Posted July 7, 2023 Group: Members Topic Count: 59 Topics Per Day: 0.01 Content Count: 1281 Reputation: 170 Joined: 06/12/12 Last Seen: 4 hours ago Share Posted July 7, 2023 (edited) 4 hours ago, rizsu0107 said: I don't receive any errors now. Thank you so much. Also my Woe Controller is Fixed thank you so much for this. Also, can I ask about this. It is not detecting the same user IP, if you don't mind :). - script No_Multiple_Accounts -1,{ OnPCLoadMapEvent: if( strcharinfo(3) == .Map$ ){ query_sql("SELECT `last_ip` FROM `ragnarok_accounts`.`login` WHERE `account_id` = "+getcharid(3)+"",.@IP ); query_sql("SELECT `account_id` FROM `ragnarok_accounts`.`login` WHERE `last_ip` = "+.@IP+"",.@Accountlist ); for( set .@i,0; .@i < getarraysize( .@Accountlist ); set .@i,.@i + 1 ) if( isloggedin( .@Accountlist[.@i] ) ) set .@DetectedOnline,.@DetectedOnline + 1; if( .@DetectedOnline > .Limit ){ mes "We detected there is "+.@DetectedOnline+" Users with same IP Logged in."; mes "Please log off these unused account."; close2; warp "thana_town",100,100; } } end; OnInit: // How many User with Same IP can logged in and stay at the specific map set .Limit,1; // What map will be restricted set .Map$,"jupe_ele"; setmapflag .Map$,mf_loadevent; end; } for disable dual client, try my script below you can change the map for disable dual client. - 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); for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { if(!getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])) && .@charmap$==.@map$) set .@c,.@c+ 1; } if(.@c > .limitacc ) { dispbottom "Dual accounts not allowed in PVP."; warp "prontera",0,0; } end; OnInit: set .limitacc,1; setarray .maps$,"guild_vs1","guild_vs2","guild_vs3","guild_vs4","guild_vs5","turbo_e_4","turbo_e_8","turbo_e_16", "pvp_y_1-1","pvp_y_1-2","pvp_y_1-3","pvp_y_1-4","pvp_y_1-5","pvp_y_2-1","pvp_y_2-2","pvp_y_2-3","pvp_y_2-4","pvp_y_2-5", "pvp_y_3-1","pvp_y_3-2","pvp_y_3-3","pvp_y_3-4","pvp_y_3-5","pvp_y_4-1","pvp_y_4-2","pvp_y_4-3","pvp_y_4-4","pvp_y_4-5", "pvp_y_5-1","pvp_y_5-2","pvp_y_5-3","pvp_y_5-4","pvp_y_5-5","pvp_y_6-1","pvp_y_6-2","pvp_y_6-3","pvp_y_6-4","pvp_y_6-5", "pvp_y_7-1","pvp_y_7-2","pvp_y_7-3","pvp_y_7-4","pvp_y_7-5","pvp_y_8-1","pvp_y_8-2","pvp_y_8-3","pvp_y_8-4","pvp_y_8-5", "pvp_n_1-1","pvp_n_1-2","pvp_n_1-3","pvp_n_1-4","pvp_n_1-5","pvp_n_2-1","pvp_n_2-2","pvp_n_2-3","pvp_n_2-4","pvp_n_2-5", "pvp_n_3-1","pvp_n_3-2","pvp_n_3-3","pvp_n_3-4","pvp_n_3-5","pvp_n_4-1","pvp_n_4-2","pvp_n_4-3","pvp_n_4-4","pvp_n_4-5", "pvp_n_5-1","pvp_n_5-2","pvp_n_5-3","pvp_n_5-4","pvp_n_5-5","pvp_n_6-1","pvp_n_6-2","pvp_n_6-3","pvp_n_6-4","pvp_n_6-5", "pvp_n_7-1","pvp_n_7-2","pvp_n_7-3","pvp_n_7-4","pvp_n_7-5","pvp_n_8-1","pvp_n_8-2","pvp_n_8-3","pvp_n_8-4","pvp_n_8-5", "pvp_2vs2"; set .lens , getarraysize(.maps$) ; for(set(.a,0);.a<.lens;set(.a,.a+1)) { setmapflag .maps$[.a], mf_loadevent ; set .tmp$ ,.tmp$+.maps$[.a]+","; } } Edited July 7, 2023 by hendra814 Quote Link to comment Share on other sites More sharing options...
rizsu0107 Posted July 7, 2023 Group: Members Topic Count: 14 Topics Per Day: 0.01 Content Count: 43 Reputation: 1 Joined: 06/24/22 Last Seen: 4 hours ago Author Share Posted July 7, 2023 7 hours ago, hendra814 said: for disable dual client, try my script below you can change the map for disable dual client. - 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); for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) { if(!getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d])) && .@charmap$==.@map$) set .@c,.@c+ 1; } if(.@c > .limitacc ) { dispbottom "Dual accounts not allowed in PVP."; warp "prontera",0,0; } end; OnInit: set .limitacc,1; setarray .maps$,"guild_vs1","guild_vs2","guild_vs3","guild_vs4","guild_vs5","turbo_e_4","turbo_e_8","turbo_e_16", "pvp_y_1-1","pvp_y_1-2","pvp_y_1-3","pvp_y_1-4","pvp_y_1-5","pvp_y_2-1","pvp_y_2-2","pvp_y_2-3","pvp_y_2-4","pvp_y_2-5", "pvp_y_3-1","pvp_y_3-2","pvp_y_3-3","pvp_y_3-4","pvp_y_3-5","pvp_y_4-1","pvp_y_4-2","pvp_y_4-3","pvp_y_4-4","pvp_y_4-5", "pvp_y_5-1","pvp_y_5-2","pvp_y_5-3","pvp_y_5-4","pvp_y_5-5","pvp_y_6-1","pvp_y_6-2","pvp_y_6-3","pvp_y_6-4","pvp_y_6-5", "pvp_y_7-1","pvp_y_7-2","pvp_y_7-3","pvp_y_7-4","pvp_y_7-5","pvp_y_8-1","pvp_y_8-2","pvp_y_8-3","pvp_y_8-4","pvp_y_8-5", "pvp_n_1-1","pvp_n_1-2","pvp_n_1-3","pvp_n_1-4","pvp_n_1-5","pvp_n_2-1","pvp_n_2-2","pvp_n_2-3","pvp_n_2-4","pvp_n_2-5", "pvp_n_3-1","pvp_n_3-2","pvp_n_3-3","pvp_n_3-4","pvp_n_3-5","pvp_n_4-1","pvp_n_4-2","pvp_n_4-3","pvp_n_4-4","pvp_n_4-5", "pvp_n_5-1","pvp_n_5-2","pvp_n_5-3","pvp_n_5-4","pvp_n_5-5","pvp_n_6-1","pvp_n_6-2","pvp_n_6-3","pvp_n_6-4","pvp_n_6-5", "pvp_n_7-1","pvp_n_7-2","pvp_n_7-3","pvp_n_7-4","pvp_n_7-5","pvp_n_8-1","pvp_n_8-2","pvp_n_8-3","pvp_n_8-4","pvp_n_8-5", "pvp_2vs2"; set .lens , getarraysize(.maps$) ; for(set(.a,0);.a<.lens;set(.a,.a+1)) { setmapflag .maps$[.a], mf_loadevent ; set .tmp$ ,.tmp$+.maps$[.a]+","; } } Thank you. I've been looking for something like this. thank you so much! Quote Link to comment Share on other sites More sharing options...
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.