mirror of
https://github.com/ProjectEQ/projecteqquests
synced 2026-08-12 00:26:10 -04:00
29 lines
No EOL
1.1 KiB
Perl
29 lines
No EOL
1.1 KiB
Perl
#::: Author: Akkadius
|
|
#::: This serves as a system to store qglobals with multiple values stored in one record so the database is much more efficiently utilized
|
|
#::: Usage plugin::setmglobal(Name, Value, Options, Duration, Index#);
|
|
#::: Indexes logically start at 1
|
|
#::: For explanation of use, see: http://wiki.eqemulator.org/p?Perl_Plugins_Master_Reference#pluginsetmglobalname-value-options-duration-index
|
|
sub setmglobal{
|
|
my $qglobals = plugin::var('qglobals');
|
|
my $NV = "";
|
|
if($qglobals->{$_[0]}){
|
|
@QG = split(',', $qglobals->{$_[0]}); $n = 1;
|
|
foreach $val (@QG){
|
|
if($n == $_[4]){ $NV .= "$_[1],";} else{ $NV .= "$val,"; } $n++;
|
|
}
|
|
while($n <= $_[4]){ if($n == $_[4]){ $NV .= "$_[1],";} else{ $NV .= "0,"; } $n++; }
|
|
}else{
|
|
for($i=1;$i<=$_[4];$i++){ if($i == $_[4]){ $NV .= "$_[1],";} else{ $NV .= "0,"; } }
|
|
}
|
|
quest::setglobal($_[0], substr ($NV, 0, -1), $_[2], $_[3]);
|
|
}
|
|
#::: Usage: plugin::readmglobal(Name, Index);
|
|
#::: Use example:
|
|
sub readmglobal{
|
|
my $qglobals = plugin::var('qglobals');
|
|
if($qglobals->{$_[0]}){
|
|
@QG = split(',', $qglobals->{$_[0]});
|
|
return $QG[($_[1] - 1)];
|
|
}
|
|
return;
|
|
} |