// https://rathena.org/board/topic/130105-request-for-one-card-holder-per-guild/
- script Sample -1,{
OnInit:
.item_id = 4128;
setitemscript .item_id, "{ doevent \""+strnpcinfo(3)+"::OnEquip\"; }", 1;
setitemscript .item_id, "{ doevent \""+strnpcinfo(3)+"::OnUnEquip\"; }", 2;
setarray .map$, "prtg_cas01";
.@map_size = getarraysize(.map$);
for (.@i = 0; .@i < .@map_size; .@i++)
setmapflag(.map$, MF_LOADEVENT);
bindatcmd "gmreset",strnpcinfo(3) + "::OnAtcommand";
end;
OnAgitStart:
OnAgitStart2:
OnAgitStart3:
OnAgitEnd:
OnAgitEnd2:
OnAgitEnd3:
.is_woe_on = (agitcheck() || agitcheck2() || agitcheck3());
end;
OnPCLoadMapEvent:
if (!isequipped(.item_id)) end;
OnEquip:
if (!.is_woe_on) end;
if (inarray(.map$, strcharinfo(3)) == -1) end;
.@guild_id = getcharid(2);
if (.@guild_id) {
.@current_cid = getd(".guild_gid_"+.@guild_id);
if (.@current_cid == getcharid(0)) end;
else if (!.@current_cid
|| (!isloggedin(convertpcinfo(.@current_cid, CPC_ACCOUNT), .@current_cid))
) {
setd(".guild_gid_"+.@guild_id, getcharid(0));
addrid(3, 0, .@guild_id);
dispbottom "Guild member '"+convertpcinfo(getd(".guild_gid_"+getcharid(2)), CPC_NAME)+"' has equipped "+getitemname(.item_id)+".";
end;
}
else if (.@current_cid != getcharid(0)) {
dispbottom "Guild member '"+convertpcinfo(.@current_cid, CPC_NAME)+"' has already equipped "+getitemname(.item_id)+". You can't equip it now.";
message strcharinfo(0), getitemname(.item_id)+" unequipped!";
unequip EQI_HAND_L;
}
}
end;
OnUnEquip:
if (!.is_woe_on) end;
.@guild_id = getcharid(2);
if (.@guild_id) {
if (getd(".guild_gid_"+.@guild_id) == getcharid(0)) {
setd(".guild_gid_"+.@guild_id, 0);
addrid(3, 0, .@guild_id);
dispbottom "Guild member '"+convertpcinfo(getd(".guild_gid_"+getcharid(2)), CPC_NAME)+"' has un-equipped "+getitemname(.item_id)+".";
end;
}
}
end;
OnAtcommand:
.@guild_id = getcharid(2);
if (.@guild_id && getcharid(0) == getguildmasterid(.@guild_id)) {
.@current_cid = getd(".guild_gid_"+.@guild_id);
if (!.@current_cid) {
dispbottom "No guild member equipped "+getitemname(.item_id)+".";
end;
}
if (isloggedin(convertpcinfo(.@current_cid, CPC_ACCOUNT), .@current_cid)) {
attachrid(convertpcinfo(.@current_cid, CPC_ACCOUNT));
if (inarray(.map$, strcharinfo(3)) != -1 && .@guild_id == getcharid(2)) {
message strcharinfo(0), getitemname(.item_id)+" unequipped!";
unequip EQI_HAND_L;
}
}
setd(".guild_gid_"+.@guild_id, getcharid(0));
addrid(3, 0, .@guild_id);
dispbottom "Guild Master has forced a member to unequip "+getitemname(.item_id)+".";
}
end;
}
Comments
0 B
|👍
/👎