Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Custom

Quests::Custom Custom Quests here

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 02-12-2016, 03:46 AM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default EverQuest Mining

Originally written for Sanctuary (was Adus over there). Saw a version was shared when Secrets released the gardening code some time back, but that wasn't the "improved" version. The code isn't the prettiest damn thing and I have since placed mines in a table and had it control objects, but, for those that would rather not mess with MySQL (it and I aren't exactly friends) here is the Perl only version:

Code:
###################################################################################################
### FILE: /quests/global/items/script_8556.pl
### AUTHOR: Ghanja
### DATE MODIFIED: 01-07-2015
### DEPENDENCIES: None
### NOTE: 	Please do not distribute without consent (nothing top secret here, just a courtesy thing)
###			EverQuest Mining -- originally coded for Zerjz3 (Sanctuary)
###


$mineattempts = 12;

sub EVENT_ITEM_CLICK_CAST
{
	my $primaryitemid;
	my $itemgivenatmine;
	$primaryitemid = $client->GetItemIDAt(13);
	if ($primaryitemid == 35096) {
		$itemgivenatmine = inMiningArea();
		return if ($itemgivenatmine == 0);
		if(isDepleted()) {
			$client->Message(12, "This area looks mined out...");
			return;
		}
		else {
			quest::doanim(87);
			quest::summonitem($itemgivenatmine);
		}
		$client->Message(9, "Clink, clink, clink, there might be something here you think!");
		doMining();
	}
	else { 
	$client->Message(12, "That may work better if you place it in your primary hand!");
	}
}

### [BETA LOGIC] Toss all this shit in a table revisit

############################################################################################################
###  EDIT ONLY THIS PORTION OF THE SCRIPT -- CAREFUL!													 ###
############################################################################################################
###
### Hash key = zone #
### commonitem = most common item (is an array and can be only 1 itemid or many [more than you're likely to ever use]
### rareitem = rareitem rarer than common same applies as far as the array
### rarestitem = rarest item rarer than rare, oh oh almost had it!
### uberitem = like your chances to get this are shit but if you get it ohhh boy look out!

my %mine = (
	# zone 75 - Paineel
	75 => [
        # area (starts at) 0
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => 130,
            y => 808,
            z => 3
        },
        # area 1
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => 456,
            y => 623,
            z => -24
        },
		# area 2
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => 239,
            y => 808,
            z => 2
        },
		# area 3
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => 85,
            y => 781,
            z => 3
        },
		# area 4
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => 56,
            y => 831,
            z => 11
        },
		# area 5
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => 1,
            y => 854,
            z => 7
        },
		# area 6
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -15,
            y => 903,
            z => 1
        },
		# area 7
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -518,
            y => 1312,
            z => 29
        },
		# area 8
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -795,
            y => 1351,
            z => 12
        },
		# area 9
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -651,
            y => 865,
            z => 15
        },
		# area 10
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -236,
            y => 770,
            z => 20
        },
		# area 11
        {
			commonitem => [34238,22125,16976,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017,34238,34238],
			uberitem => [10037],
			x => -388,
            y => 1038,
            z => 17
        },
		# area 12
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -514,
            y => 1311,
            z => 31
        },
		# area 13
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -623,
            y => 1523,
            z => 19
        },
		# area 14
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -795,
            y => 1348,
            z => 11
        },
		# area 15
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -746,
            y => 918,
            z => 15
        },
		# area 16
        {
			commonitem => [34238,22125,16976],
			rareitem => [34238,9180,2381],
			rarestitem => [34238,65599,10017],
			uberitem => [10037],
			x => -388,
            y => 1039,
            z => 19
        },
        # other areas
    ],
    # zone 24 - Erudnext
    24 => [
        # area 0
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 80,
            y => -30,
            z => 19  
        },
        # area 1
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 17,
            y => 302,
            z => 47
        },
        # area 2
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 17,
            y => 47,
            z => 40
        },
        # area 3
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 158,
            y => 17,
            z => 39
        },
        # area 4
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -112,
            y => 190,
            z => 19
        },
        # area 5
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -337,
            y => -896,
            z => 70
        },
        # area 6
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -15,
            y => -1183,
            z => 90
        },
        # area 7
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -496,
            y => -1213,
            z => 92
        },
        # area 8
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -369,
            y => -1205,
            z => 52
        },
        # area 9
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -494,
            y => -1136,
            z => 53
        },
        # area 10
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -110,
            y => -849,
            z => 51
        },
        # area 11
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -33,
            y => -1086,
            z => 67
        },
        # area 12
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 61,
            y => 142,
            z => 13
        },
        # area 13
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -59,
            y => -766,
            z => 67
        },
        # area 14
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -398,
            y => -911,
            z => 67
        },
        # area 15
        {
			commonitem => [34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -186,
            y => -581,
            z => 77
        },
        # other areas
    ],
    224 => [
        # area 0
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1061,
            y => -181,
            z => -41
        },
        # area 1
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1063,
            y => -149,
            z => -41
        },
        # area 2
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -998,
            y => -311,
            z => 5
        },
        # area 3
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1032,
            y => -440,
            z => 22
        },
        # area 4
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1038,
            y => -473,
            z => 19
        },
        # area 5
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1106,
            y => -540,
            z => 25
        },
        # area 6
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1127,
            y => -573,
            z => 22
        },
        # area 7
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1128,
            y => -800,
            z => 27
        },
        # area 8
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1129,
            y => -762,
            z => 31
        },
        # area 9
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1128,
            y => -978,
            z => 31
        },
        # area 10
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1063,
            y => -1039,
            z => 19
        },
        # area 11
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -1026,
            y => -1123,
            z => 28
        },
        # area 12
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -997,
            y => -1130,
            z => 26
        },
        # area 13
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -313,
            y => -1102,
            z => 19
        },
        # area 14
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 1,
            y => -1093,
            z => 24
        },
        # area 15
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 77,
            y => -871,
            z => 45
        },
        # area 16
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 225,
            y => -829,
            z => 82
        },
        # area 17
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 222,
            y => -931,
            z => 92
        },
        # area 18
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 324,
            y => -921,
            z => 101
        },
        # area 19
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 16,
            y => -692,
            z => 27
        },
        # area 20
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => 18,
            y => -529,
            z => 25
        },
        # area 21
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -353,
            y => -425,
            z => 20
        },
        # area 22
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -477,
            y => -197,
            z => -35
        },
        # area 23
        {
			commonitem => [13198,34238,54078,16976],
			rareitem => [34238,65477,16903],
			rarestitem => [88162,16847,34238],
			uberitem => [10037],
            x => -308,
            y => -223,
            z => -28
        },
        # other areas
    ],
	# other zones
);
####################################################################################################
#  END OF MINES EDITABLES
####################################################################################################

sub inMiningArea {
    my $randomvalue = rand(99);
	my $fallbackvalue = rand(9);
	my $returnvalue;
    $area = undef if defined($area);
    return 0 if !exists($mine{$zoneid});
    foreach my $i (keys(@{$mine{$zoneid}})) { 
        my $loc = $mine{$zoneid}[$i];
        if(	int($client->GetX()) ~~ [$loc->{x}-15..$loc->{x}+15] &&
			int($client->GetY()) ~~ [$loc->{y}-15..$loc->{y}+15] &&
			int($client->GetZ()) ~~ [$loc->{z}-25..$loc->{z}+25]) {
			our $area = $i;
			if ($randomvalue > -1 && $randomvalue < 58) {
				my $sizearray = (scalar @{$loc->{commonitem}});
				my $randselection = int(rand($sizearray));
				$returnvalue = $loc->{commonitem}[$randselection];
			}
			elsif ($randomvalue > 57 && $randomvalue < 76) {
				if ($fallbackvalue >= 6) {
					my $sizearray = (scalar @{$loc->{commonitem}});
					my $randselection = int(rand($sizearray));
					$returnvalue = $loc->{commonitem}[$randselection];
				} else {
					$client->Message(9, "Clink, clank, clank.. Your miner's heart just sank!");
					quest::summonitem(47838);
					return 0;
				}
			}
			elsif ($randomvalue > 75 && $randomvalue < 90) {
				if ($fallbackvalue >= 5) {
					my $sizearray = (scalar @{$loc->{rareitem}});
					my $randselection = int(rand($sizearray));
					$returnvalue = $loc->{rareitem}[$randselection];
				} else {
					my $sizearray = (scalar @{$loc->{commonitem}});
					my $randselection = int(rand($sizearray));
					$returnvalue = $loc->{commonitem}[$randselection];
				}
			}
			elsif ($randomvalue > 89 && $randomvalue < 99 ) {
				if ($fallbackvalue >= 5) {
					my $sizearray = (scalar @{$loc->{rarestitem}});
					my $randselection = int(rand($sizearray));
					$returnvalue = $loc->{rarestitem}[$randselection];
				} else {
					my $sizearray = (scalar @{$loc->{rareitem}});
					my $randselection = int(rand($sizearray));
					$returnvalue = $loc->{rareitem}[$randselection];
				}
			}
			elsif ($randomvalue == 99) {
				if ($fallbackvalue >= 7) {
					my $sizearray = (scalar @{$loc->{uberitem}});
					my $randselection = int(rand($sizearray));
					$returnvalue = $loc->{uberitem}[$randselection];
				} else {
					my $sizearray = (scalar @{$loc->{rarestitem}});
					my $randselection = int(rand($sizearray));
					$returnvalue = $loc->{rarestitem}[$randselection];
				}
			}
			return $returnvalue;
		}
		$client->Message(12, "Your hands resonate, though this doesn't appear to be a mine!"); #Zone does have mines you just arent at one!
		return 0;
	}
}
	
sub isDepleted {
	return 1 if !defined($area);
    my $mine = "mine$area";
    return 1 if ((defined($qglobals{$mine})) && ($qglobals{$mine} >= $mineattempts));
    return 0;
}

sub doMining {
    return if !defined($area);
    my $mine = "mine$area";
    if (!defined($qglobals{$mine})) {
        quest::targlobal($mine, 1, "H1", 0, 0, $zoneid);
    } else {
		my $rm = 30 + int(rand(100));
		my $rh = int(rand(1));
		$rm = $rm + 60 if ($rh == 1);
		quest::setglobal($mine, ++$qglobals{$mine}, 3, "M".$rm);
    }
}
### EOF: /quests/global/items/script_8556.pl
I believe this was working without bugs, though I've untested this version in over a year.
  #2  
Old 02-12-2016, 11:30 AM
Maze_EQ
Demi-God
 
Join Date: Mar 2012
Posts: 1,103
Default

Good shit.
__________________
"No, thanks, man. I don't want you fucking up my life, too."

Skype:
Comerian1
  #3  
Old 03-19-2016, 05:18 PM
Coenxai's Avatar
Coenxai
Hill Giant
 
Join Date: Dec 2013
Posts: 151
Default

That's pretty cool. I did something similar a while back but hard-coded it. You just walk up to a vein and click.

Example Video

I can imagine a lot of people wanting mining on their server and perl is a lot more accessible to most. Neat Ghanja!
__________________
"The true sign of intelligence is not knowledge but imagination."
  #4  
Old 02-25-2018, 06:38 AM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default AHEM! I'll just leave this here...

I like the some of the witty text you added... Especially in the header! (POW)

quests\items\script_8556.pl

Code:
###################
### START NOTES ###
###################

# NOTE: these are just to indicate what perl files are run for item events.
#       we will only be using EVENT_ITEM_CLICK_CAST here.

# EVENT_SCALE_CALC
# EVENT_ITEM_ENTERZONE
# quests\items\<charmfile>.pl

# EVENT_ITEM_CLICK
# EVENT_ITEM_CLICK_CAST
# quests\items\script_<scriptfileid>.pl

# i don't remember how these are used...
# quests\items\item_<id>.pl

##################
#### END NOTES ###
##################

# any item with the scriptfileid of 8556 triggers this event when right-clicked
# NOTE: scriptfieldid is a field in the items table of the database
sub EVENT_ITEM_CLICK_CAST {

	# itemid 35096 is a bloodmoon pick axe
	handle_35096()
	  if $itemid == 35096;

}

################################
### START bloodmoon pick axe ###
################################

# read data for mine-able areas from xml file
sub GetMiningAreas {

	our %mine
	  if not %mine;
	  
	return
	  if exists $mine{$zoneid};
	  
	use XML::Simple qw(:strict);
	my $data = XMLin(
		'script_8556_mine.xml',
		ForceArray => 1,
		KeyAttr    => {
			'zone' => 'id',
			[ 'area' => 'id' ]
		},
	);
	
	my @area = @{ $data->{zone}->{$zoneid}->{area} };
	
	undef $data;
	
	$mine{$zoneid} = [];
	
	for my $i ( 0 .. $#area ) {

		if ( $i != $area[$i]->{id} ) {
			warn( "area mismatch while reading data for "
				  . $data->{zone}->{$zoneid}->{sn} . " "
				  . "($i != $area[$i]->{id})" );
			next;
		}
		
		$mine{$zoneid}[$i] = {
			x => $area[$i]->{x},
			y => $area[$i]->{y},
			z => $area[$i]->{z}
		};
		
	}
	
}

# determine if client is in a defined mining area
sub inMiningArea {

	# clear any existing area
	$area = undef
	  if defined $area;

	# not in mining zone
	return 0
	  if not exists $mine{$zoneid};

	# check client loc against defined mining areas for current zone
	foreach my $i ( keys @{ $mine{$zoneid} } ) {

		# loc info for current mining area
		my $loc = $mine{$zoneid}[$i];

		# client in defined mining areas for current zone
		# NOTE: we're checking x & y plus or minus 10 and z plus or minus 5
		if (   int $client->GetX() ~~ [ $loc->{x} - 10 .. $loc->{x} + 10 ]
			&& int $client->GetY() ~~ [ $loc->{y} - 10 .. $loc->{y} + 10 ]
			&& int $client->GetZ() ~~ [ $loc->{z} - 05 .. $loc->{z} + 05 ] )
		{
			# set global variable for mining area
			# TO DO: determine if globals are trashed when zone is unloaded
			our $area = $i;
			return 1;
		}

	}

	# client not in defined mining areas for current zone
	return 0;
}

# check mining area for ore availability
sub isDepleted {

	# sanity check
	return 1
	  if not defined $area;

	# qglobal name
	my $mine = "mine$area";

	# depleted and timer not expired
	# NOTE: max mining yield for area is 10 (> 9)
	return 1
	  if defined $qglobals{$mine}
	  && $qglobals{$mine} > 9;

	# not depleted
	return 0;
	
}

# increment depletion counters for area
sub doneMining {

	# sanity check
	return
	  if not defined $area;

	# qglobal name
	my $mine = "mine$area";

	# register mining attempt made
	# NOTE: qglobal registered for all clients (3) and expires in 1 hour (H1).
	#       meaning any defined mining area will "refill" ores in one hour from
	#       the last successful mining activity in it.
	quest::setglobal( $mine, ++$qglobals{$mine}, 3, "H1" );
	
}

# handle click of bloodmoon pickaxe
sub handle_35096 {

	GetMiningAreas();

	# NOTE: if you don't call CastSpell(), the client will go screwy...
	#       (this is because we were called via EVENT_ITEM_CLICK_CAST)
	# spell "Use Ability" with cast time set to 3sec
	$client->CastSpell( 7652, 0, 10, 3000 );
	quest::doanim(87);

	# verify if client is in a valid area for mining
	return
	  if not inMiningArea();

	# check for depletion of ores in current area
	if ( isDepleted() ) {
		$client->Message( 15, "This area looks mined out..." );
		return;
	}

	# TO DO: check for chance of success here
	# NOTE: probably want to base this on a player's skill stored some place
	#       and item (tool) bonuses, etc...
	
	# TO DO: yield materials here
	# NOTE: can consider yielding bonuses based on skills and items as well
	
	# increment depletion counters
	doneMining();
	
}

##############################
### END bloodmoon pick axe ###
##############################
quests\items\script_8556_mine.xml
Code:
<?xml version="1.0" ?>
<mine>
    <zone id='188' sn='tutoriala'>
        <area id='0' x=  '0' y=  '0' z=  '0' />
        <area id='1' x='100' y='100' z='100' />
    </zone>
    <zone id='189' sn='tutorialb'>
        <area id='0' x= '18' y='-147' z= '20' />
        <area id='1' x='180' y='-247' z='102' />
    </zone>
</mine>
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
  #5  
Old 02-25-2018, 06:14 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

c0ncrete feels the mining was "his" idea. Wrong sir. It was mine. It was -ours-. We were going to collaborate on a server together. I said, "I envision a server where trade skills mean something again" ... "Like having mining like is done in WoW".

You said constantly, "don't share this or that code" a reason being "things are a mess."

I told you, "I'm going to begin on a mining script." Hours later, you came up with the framework (which isn't what you posted, as it didn't have XML containing the mine information). Mine, I started on, but, as ADD would have it, got diverted to other things. So having been provided a framework, yes, I made plenty of changes (at least show the -real- framework you provided me "sir"). Then, you fell off the face of the EQ Earth, due to personal reasons (private ones that never have nor will get shared -- why'd I state that? Because I felt we were on far more amicable terms than what you stated in Discord and here in "subtle" terms.

Zerjz went fucking bipolar (must be a common thing amongst EQEMU'ers) after his "fuck ghanja he isn't slaving over my shit like I want him to, so I'll enlist Secrets help then kick him to the curb". Secrets implmented housing, entirely his work, efforts. Zerjz went crazy again, scrubbed the server, decided he was going to make his own game outside of EQEMU (then got a C&D letter on it as rumor goes), in the meantime Secrets wanted to share his work with housing, so he did. But he didn't pick and choose the files from the /global directory and out came the mining idea/code/framework/mywork/whatever that I was under the impression you didn't want your name on. But it was a rough version as I remember (it was two years ago after all). So I wanted to release something a little more clean. I plopped my name on it, because it was my/our idea (not just yours exclusively and besides, it was an idea ripped from WoW or even Dala I believe you said at one time) and you weren't around had questions come your way and again because of the original reason that it seemed you didnt want your name out there on things (none of my business why not). But whatever.

So let's clear this up since you seem to have been hit with the EQEMU "I am a master coder" arrogance that seems oh so prevalent around here. It was OUR idea. YOU laid down the foundation/framework code. And I heavily edited it from the version you originally laid out (which again was NOT what you replied here with).

So. Knowing now you don't mind your name out there on something I never intended to hit the wild anyway (see above Secrets thing, and before someone/whoever thinks I'm throwing Secrets under the bus, I'm not, I'm just stating how it all went down) I'll clear the air:

AUTHORS: c0ncrete / ghanja (in whatever order you want to read it since its a big fucking deal)

Perl, because it's so damn tough. I'm NOT trying to "take credit for something you did", I am not "riding your coattails" or any of that petty childish shit "sir."

time bomb, did you see that posted? the rat script (that you just posted), was that posted with my name on it anywhere? custom tradeskill that you bounced off of me to find why it wasnt working out? plethora of other scripts bounced back and forth, nothing.

Just THIS one because we BOTH had a hand in it and it got released in the wild unplanned.

So there you go. The notoriety you wanted. EVERYONE c0ncrete had an equal hand in this script. Whose "idea" it was though he'd say it was all his.

Live in EQEMU infamy "friend" err "sir". You and Kingly will surely get along well. He is after all a "master" coder. Shin too, because "ghanja just wants to see my portkey script because he couldn't write one himself", the one that he has to turn to Akka to figure out how to read qglobals and why they're buggy (read the bug report that I sent to jolli who posted it regarding qglobals). Woops, the cats out of the bag there. Or the "network penetration checks" Shin likes to do on peoples server without asking, or telling them they're going to do. Oh this place is whack and if you aren't part of the "clique" boy, your sunk. Two faced fucks in a middle school clique like a bunch of squabbling gossiping little girls.

Does the above reply lend towards any good reputation for me? Nope. But have I had about enough of the drama, yep. And yes, I've sent PM's over the past discussing Kingly, Shin, etc. inquiring what I had done or not that they would shit on me at nearly every conceivable opportunity. I tried to assimilate into this "community" called EQEMU. It didn't work. Why? Because, I didn't just take their shit. I didn't "follow in line." Arrogance here is astounding.

Enjoy "c0ncrete's" script all. He is smart, as is Kingly and Shin.. but you sure wouldn't find them reciprocating the same compliments. c0ncrete, not sure what happened but, I've got some suspicions. Open enough for you c0ncrete? Everything, and I mean everything, disclosed. Enjoy.
  #6  
Old 02-25-2018, 07:00 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

https://philosophynow.org/issues/53/...arry_Frankfurt



RED FLAG: It was my idea! It was our idea!

Puhleeeeeeze.... Don't play the victim when YOUR post clearly indicates YOU wrote it all. I didn't make a public stink about it. I just presented the facts to you in private. You decided to try to mansplain your way out of the corner you put yourself in. I've got more news for you, bud. If there are several people telling you the same thing about yourself, it's past time you listened.

And since you are trying to make an issue about where my version came from, it's the one I sent to zerjz3. I've still got the PMs... Including the one I sent to you telling you that I was stoked about a way to possibly do something similar to Dalaya's treasure hunting system, which is where I got the idea from.
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
  #7  
Old 02-25-2018, 08:37 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,595
Default

Not sure where the hostility stems from, but I appreciate the satire.
  #8  
Old 09-04-2018, 09:24 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,595
Default

Locking this thread. Can we please refrain from performing necromancy on 6-7 month old posts? Thanks.
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:40 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3