|
@@ -283,13 +283,36 @@ OnReward:
|
|
.@cid[0] = .@master_cid;
|
|
.@cid[0] = .@master_cid;
|
|
.@aid[0] = .@master_aid;
|
|
.@aid[0] = .@master_aid;
|
|
}
|
|
}
|
|
-
|
|
|
|
- for(set .@j,0; .@j<.@size_guild; set .@j,.@j+1) {
|
|
|
|
- if ((.Options&8) && !(.Options&4)) {
|
|
|
|
- set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a");
|
|
|
|
- if (getd(".@ip_"+.@i+"_"+.@ip$)) continue;
|
|
|
|
- setd ".@ip_"+.@i+"_"+.@ip$,1;
|
|
|
|
|
|
+ else if (.Options&8) {
|
|
|
|
+ for ( .@j = 0; .@j < .@size_guild; ++.@j ) {
|
|
|
|
+ .@is_online[.@j] = isloggedin( .@aid[.@j], .@cid[.@j] );
|
|
|
|
+ if (.@is_online[.@j])
|
|
|
|
+ .@ip$ = replacestr(getcharip(.@aid[.@j]),".","a");
|
|
|
|
+ else {
|
|
|
|
+ if (query_sql("SELECT `last_ip` FROM `login` WHERE `account_id` = '" + .@aid[.@j] + "'", .@last_ip$) < 1)
|
|
|
|
+ continue;
|
|
|
|
+ .@ip$ = replacestr(.@last_ip$, ".", "a");
|
|
|
|
+ }
|
|
|
|
+ .@variable$ = ".@ip_" + .@i + "_" + .@ip$;
|
|
|
|
+ .@index = getd(.@variable$) - 1;
|
|
|
|
+
|
|
|
|
+ if (.@index >= 0) {
|
|
|
|
+ if (.@is_online[.@j]) {
|
|
|
|
+ .@tmp_account_id[.@index] = .@aid[.@j];
|
|
|
|
+ .@tmp_char_id[.@index] = .@cid[.@j];
|
|
|
|
+ }
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ setd .@variable$, .@j+1;
|
|
|
|
+ .@tmp_account_id[.@k] = .@aid[.@j];
|
|
|
|
+ .@tmp_char_id[.@k] = .@cid[.@j];
|
|
|
|
+ .@k++;
|
|
}
|
|
}
|
|
|
|
+ copyarray .@aid[0], .@tmp_account_id[0], .@k;
|
|
|
|
+ copyarray .@cid[0], .@tmp_char_id[0], .@k;
|
|
|
|
+ .@size_guild = .@k;
|
|
|
|
+ }
|
|
|
|
+ for(set .@j,0; .@j<.@size_guild; set .@j,.@j+1) {
|
|
if (.Options&2) {
|
|
if (.Options&2) {
|
|
.@charid = .@cid[.@j];
|
|
.@charid = .@cid[.@j];
|
|
.@sender$ = "no-reply";
|
|
.@sender$ = "no-reply";
|
|
@@ -318,7 +341,6 @@ OnReward:
|
|
}
|
|
}
|
|
Zeny += .reward_zeny;
|
|
Zeny += .reward_zeny;
|
|
dispbottom "You have been rewarded for conquering " + .@castle_name$ + ".";
|
|
dispbottom "You have been rewarded for conquering " + .@castle_name$ + ".";
|
|
- detachrid;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -326,15 +348,14 @@ OnReward:
|
|
return;
|
|
return;
|
|
|
|
|
|
OnPCLoadMapEvent:
|
|
OnPCLoadMapEvent:
|
|
- .@compare_val = compare(strcharinfo(3),"g_cas");
|
|
|
|
- if (!.@compare_val) end;
|
|
|
|
|
|
+ if (!compare(strcharinfo(3),"g_cas")) end;
|
|
if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) {
|
|
if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) {
|
|
if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end;
|
|
if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end;
|
|
.@castle_name$ = getcastlename(strcharinfo(3));
|
|
.@castle_name$ = getcastlename(strcharinfo(3));
|
|
sleep2 1000;
|
|
sleep2 1000;
|
|
message strcharinfo(0), .@castle_name$ + " is currently inactive.";
|
|
message strcharinfo(0), .@castle_name$ + " is currently inactive.";
|
|
sleep2 5000;
|
|
sleep2 5000;
|
|
- if (.@compare_val) warp "SavePoint",0,0;
|
|
|
|
|
|
+ if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0;
|
|
}
|
|
}
|
|
end;
|
|
end;
|
|
|
|
|