Ok after hours and hours if trying these, I got some effects to work.
Code:
sub EVENT_SPAWN {
if ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 1) { # Human
$npc->SetRace(468);
$npc->ChangeSize(12);
}
}
}
sub EVENT_SPAWN {
if ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 2) { # Barbarian
$npc->SetRace(528);
$npc->ChangeSize(4);
}
}
}
When I do it this way the Barbarian actually works, but if I put anymore code (other races) below it then it won't work on the Barbarian. It's like only the last one works.
I then tried this:
Code:
sub EVENT_SPAWN {
if ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 1) { # Human
$npc->SetRace(468);
$npc->ChangeSize(12);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 2) { # Barbarian
$npc->SetRace(528);
$npc->ChangeSize(4);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 3) { # Erudite
$npc->SetRace(602);
$npc->ChangeSize(8);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 4) { # Wood Elf
$npc->SetRace(64);
$npc->ChangeSize(7);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 5) { # High Elf
$npc->SetRace(473);
$npc->ChangeSize(5);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 6) { # Dark Elf
$npc->SetRace(365);
$npc->ChangeSize(8);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 7) { # Half Elf
$npc->SetRace(560);
$npc->ChangeSize(7);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 8) { # Dwarf
$npc->SetRace(16);
$npc->ChangeSize(6);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 9) { # Troll
$npc->SetRace(259);
$npc->ChangeSize(8);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 10) { # Ogre
$npc->SetRace(135);
$npc->ChangeSize(7);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 11) { # Halfling
$npc->SetRace(321);
$npc->ChangeSize(6);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 12) { # Gnome
$npc->SetRace(570);
$npc->ChangeSize(7);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 128) { # Iksar
$npc->SetRace(389);
$npc->ChangeSize(7);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 330) { # Froglok
$npc->SetRace(245);
$npc->ChangeSize(7);
}
}
elsif ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 522) { # Drakkin
$npc->SetRace(611);
$npc->ChangeSize(7);
}
}
}
But it doesn't work at all.
So I tried to come up with this one:
Code:
sub EVENT_SPAWN {
if ($npc->GetNPCTypeID() == 837) {
my $petowner = $entity_list->GetClientByID($npc->GetOwnerID());
if ($petowner->GetRace() == 1) { # Human
$npc->SetRace(468);
$npc->ChangeSize(12);
elsif ($petowner->GetRace() == 2) { # Barbarian
$npc->SetRace(528);
$npc->ChangeSize(4);
elsif ($petowner->GetRace() == 3) { # Erudite
$npc->SetRace(602);
$npc->ChangeSize(8);
elsif ($petowner->GetRace() == 4) { # Wood Elf
$npc->SetRace(64);
$npc->ChangeSize(7);
}
}
}
}
}
}
Again, it doesn't work. This is my very first attempt at perl, but as I stated I managed to get the first one somewhat working, but it fails if anything is below the first code (only the last one works).
So, anyone know where I am going wrong and how to make it work so that all the races work in one file?