Log in

View Full Version : Change Class + Zone ?


Lane
01-09-2018, 06:46 PM
Hi guys, I'm trying to get this quest to change the client to a warrior while also zoning them to the Greater Faydark. Is this possible because the permaclass command causes you to disconnect?

Thank you


sub EVENT_SAY {
if($text =~/Hail/i) {
quest::say ("Innoruuk deserved to die, as did you. It's a pity that [$Rallos] brought you here!");
}
if ($text =~/Rallos/i) {
quest::say ("Yes, my foolish father, Rallos Zek. He saved you! Now he demands you return to the world of the [$living].");
}
if ($text =~/living/i) {
quest::say ("Norrath you fool! Now do you [$pledge] allegiance to the Warlord?");
}
if ($text =~/pledge/i) {
quest::say ("Welcome young warrior. Now get out of my sight!");
quest::permaclass(1);
quest::movepc(138,0,0,0);
}
}

Coenxai
01-09-2018, 08:12 PM
...Why not try it and find out?

phantomghost
01-09-2018, 08:52 PM
I made an attempt to figure it out using if and elsif statements, but could not get it to work, maybe you could look into those variable/operators and see if something works.

It looks like Gfaydark should be zone id 54.

Not sure why the last guy felt his post of ... Why not try it and find out? was necessary since it was obvious you already made an attempt. But then again as you start to search most of the forums you have to read through 95% of posts like his, to find the 5% that try to help or at least lead you in the correct direction.

Coenxai
01-09-2018, 08:56 PM
I made an attempt to figure it out using if and elsif statements, but could not get it to work, maybe you could look into those variable/operators and see if something works.

It looks like Gfaydark should be zone id 54.

Not sure why the last guy felt his post of ... Why not try it and find out? was necessary since it was obvious you already made an attempt. But then again as you start to search most of the forums you have to read through 95% of posts like his, to find the 5% that try to help or at least lead you in the correct direction.

..........

phantomghost
01-09-2018, 08:59 PM
..........

That is exactly what I was thinking when you responded with Why not try it and find out, when it was pretty obvious he did try it, and it did not work.

You could of simply ignored the post or made an actual attempt to help, but instead you went with the lets be a dick route.

Kingly_Krab
01-09-2018, 09:04 PM
All you have to do is go in the source and remove the kick from permaclass method. Really it doesn't need to kick you, all you need is to zone and it will update.

Change this: void QuestManager::permaclass(int class_id) {
QuestManagerCurrentQuestVars();
//Makes the client the class specified
initiator->SetBaseClass(class_id);
initiator->Save(2);
initiator->Kick();
}

To this: void QuestManager::permaclass(int class_id) {
QuestManagerCurrentQuestVars();
//Makes the client the class specified
initiator->SetBaseClass(class_id);
initiator->Save(2);
}

The_Beast
01-09-2018, 09:16 PM
All you have to do is go in the source and remove the kick from permaclass method.

Thanks Kingly, I was annoyed by that "disconnect" myself, just doing a simple GM permaclass on a toon.

EDIT: By the way, for others, that snippet is in questmgr.cpp source file.

Lane
01-09-2018, 09:30 PM
Thank you all, I appreciate it. For zoneID I was looking at my DB. My apologies.