mirror of
https://github.com/ProjectEQ/projecteqquests
synced 2026-08-12 00:26:10 -04:00
169 lines
No EOL
3.7 KiB
Perl
169 lines
No EOL
3.7 KiB
Perl
#::: Author: Akkadius
|
|
#::: These plugins are used to send solo, group or raid task updates/failures/assigns/etc
|
|
#:::
|
|
#::: plugin::AssignTask(UpdateType=[solo, group, raid], TaskID, [NPCID = 0] ($npc->GetID());
|
|
#::: plugin::FailTask(UpdateType=[solo, group, raid], TaskID);
|
|
#::: plugin::UpdateTaskActivity(UpdateType=[solo, group, raid], TaskID, ActivityID, Count);
|
|
#:::
|
|
#::: For explanation of use, see: http://wiki.eqemulator.org/i?M=Wiki&Page=Perl_Plugins_Master_Reference
|
|
|
|
sub AssignTask{
|
|
my $UT = $_[0];
|
|
my $TaskID = $_[1];
|
|
my $NPCID = $_[2] || 0;
|
|
my $client = plugin::val('$client');
|
|
my $npc = plugin::val('$npc');
|
|
my $entity_list = plugin::val('$entity_list');
|
|
my $name = plugin::val('$name');
|
|
|
|
if($UT eq "solo"){
|
|
$client->AssignTask($TaskID, $NPCID);
|
|
}
|
|
|
|
if($UT eq "group"){
|
|
my $group = $client->GetGroup();
|
|
if($group) {
|
|
for($count = 0; $count < 6; $count++) {
|
|
my $cur = $group->GetMember($count);
|
|
if($cur) {
|
|
if($cur->IsClient()) {
|
|
$cur->AssignTask($TaskID, $NPCID);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if($UT eq "raid"){
|
|
my $raid = $client->GetRaid();
|
|
if($raid) {
|
|
for($count = 0; $count < 72; $count++) {
|
|
my $cur = $raid->GetMember($count);
|
|
if($cur) {
|
|
if($cur->IsClient()) {
|
|
$cur->AssignTask($TaskID, $NPCID);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
my $group = $client->GetGroup();
|
|
if($group && !$raid) {
|
|
for($count = 0; $count < 6; $count++) {
|
|
my $cur = $group->GetMember($count);
|
|
if($cur) {
|
|
if($cur->IsClient()) {
|
|
$cur->AssignTask($TaskID, $NPCID);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
sub FailTask{
|
|
my $UT = $_[0];
|
|
my $TaskID = $_[1];
|
|
my $client = plugin::val('$client');
|
|
my $npc = plugin::val('$npc');
|
|
my $entity_list = plugin::val('$entity_list');
|
|
my $name = plugin::val('$name');
|
|
|
|
if($UT eq "solo"){
|
|
$client->FailTask($TaskID);
|
|
}
|
|
|
|
if($UT eq "group"){
|
|
my $group = $client->GetGroup();
|
|
if($group) {
|
|
for($count = 0; $count < 6; $count++) {
|
|
my $cur = $group->GetMember($count);
|
|
if($cur) {
|
|
if($cur->IsClient()) {
|
|
$cur->FailTask($TaskID);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if($UT eq "raid"){
|
|
my $raid = $client->GetRaid();
|
|
if($raid) {
|
|
for($count = 0; $count < 72; $count++) {
|
|
my $cur = $raid->GetMember($count);
|
|
if($cur) {
|
|
if($cur->IsClient()) {
|
|
$cur->FailTask($TaskID);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
my $group = $client->GetGroup();
|
|
if($group && !$raid) {
|
|
for($count = 0; $count < 6; $count++) {
|
|
my $cur = $group->GetMember($count);
|
|
if($cur) {
|
|
if($cur->IsClient()) {
|
|
$cur->AssignTask($TaskID, $NPCID);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
sub UpdateTaskActivity{
|
|
my $UT = $_[0];
|
|
my $TaskID = $_[1];
|
|
my $ActivityID = $_[2];
|
|
my $TCount = $_[3];
|
|
my $client = plugin::val('$client');
|
|
my $npc = plugin::val('$npc');
|
|
my $entity_list = plugin::val('$entity_list');
|
|
my $name = plugin::val('$name');
|
|
|
|
if($UT eq "solo"){
|
|
$client->UpdateTaskActivity($TaskID, $ActivityID, $TCount);
|
|
}
|
|
|
|
if($UT eq "group"){
|
|
my $group = $client->GetGroup();
|
|
if($group) {
|
|
for($count = 0; $count < 6; $count++) {
|
|
my $cur = $group->GetMember($count);
|
|
if($cur) {
|
|
if($cur->IsClient()) {
|
|
$cur->UpdateTaskActivity($TaskID, $ActivityID, $TCount);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if($UT eq "raid"){
|
|
my $raid = $client->GetRaid();
|
|
if($raid) {
|
|
for($count = 0; $count < 72; $count++){
|
|
my $cur = $raid->GetMember($count);
|
|
if($cur){
|
|
if($cur->IsClient()){
|
|
$cur->UpdateTaskActivity($TaskID, $ActivityID, $TCount);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
my $group = $client->GetGroup();
|
|
if($group && !$raid){
|
|
for($count = 0; $count < 6; $count++){
|
|
my $cur = $group->GetMember($count);
|
|
if($cur){
|
|
if($cur->IsClient()){
|
|
$cur->AssignTask($TaskID, $NPCID);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return 1; |