EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Tradeskill Bot (https://www.eqemulator.org/forums/showthread.php?t=39047)

Nibiuno 11-28-2014 10:25 PM

Tradeskill Bot
 
Anyone have any idea why this script isnt working when the NPC is given 5000pp? It just eats the money and doesnt do anything

Code:

sub EVENT_SAY
{
        my $tradeskills = quest::saylink("tradeskills");
        my $repick = quest::saylink("repick");
        my $alchemy = quest::saylink("alchemy");
        my $baking = quest::saylink("baking");
        my $brewing = quest::saylink("brewing");
        my $fishing = quest::saylink("fishing");
        my $fletching = quest::saylink("fletching");
        my $jewelcraft = quest::saylink("jewelcraft");
        my $poisons = quest::saylink("poisons");
        my $pottery = quest::saylink("pottery");
        my $smithing = quest::saylink("smithing");
        my $research = quest::saylink("research");
        my $tailoring = quest::saylink("tailoring");
        my $tinkering = quest::saylink("tinkering");
        if($text=~/Hail/i) {
                quest::say("Greetings $name. Would you like to learn some [$tradeskills]?");
        }

        if($text=~/tradeskills/i && !defined $qglobals{"tsm_alchemy"} && !defined $qglobals{"tsm_baking"} && !defined $qglobals{"tsm_brewing"} && !defined $qglobals{"tsm_fishing"} && !defined $qglobals{"tsm_fletching"} && !defined $qglobals{"tsm_jewelcraft"} && !defined $qglobals{"tsm_poisons"}  && !defined $qglobals{"tsm_pottery"} && !defined $qglobals{"tsm_smithing"} && !defined $qglobals{"tsm_research"} && !defined $qglobals{"tsm_tailoring"} && !defined $qglobals{"tsm_tinkering"}){
                quest::say("I will train you in a tradeskill for 5000pp each.  Simply say the tradekill you want to learn and then hand me 5000pp.  Would you like to learn [$alchemy], [$baking], [$brewing], [$fishing], [$fletching], [$jewelcraft], [$poisons], [$pottery], [$smithing], [$research], [$tailoring] or [$tinkering]?");
        } elsif($text=~/tradeskills/i) {
                quest::say("I believe you owe me some money for the last request you made.  Would you like to [$repick] the tradeskill you wish to learn?");
        }
        if($text=~/repick/i) {
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
                quest::say("I can once again train your [$tradeskills].");
        }
        if($text=~/alchemy/i && !defined $qglobals{"tsm_alchemy"}) {
                quest::say("Give me 5000pp and I will train you in alchemy.");
                quest::setglobal("tsm_alchemy", 1, 5, "F");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/baking/i && !defined $qglobals{"tsm_baking"}) {
                quest::say("Give me 5000pp and I will train you in baking.");
                quest::setglobal("tsm_baking", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/brewing/i && !defined $qglobals{"tsm_brewing"}) {
                quest::say("Give me 5000pp and I will train you in brewing.");
                quest::setglobal("tsm_brewing", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/fishing/i && !defined $qglobals{"tsm_fishing"}) {
                quest::say("Give me 5000pp and I will train you in fishing.");
                quest::setglobal("tsm_fishing", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/fletching/i && !defined $qglobals{"tsm_fletching"}) {
                quest::say("Give me 5000pp and I will train you in fletching.");
                quest::setglobal("tsm_fletching", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/jewelcraft/i && !defined $qglobals{"tsm_jewelecraft"}) {
                quest::say("Give me 5000pp and I will train you in jewelcraft.");
                quest::setglobal("tsm_jewelcraft", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/poisons/i && !defined $qglobals{"tsm_poisons"}){
                quest::say("Give me 5000pp and I will train you in making poisons.");
                quest::setglobal("tsm_poisons", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/pottery/i && !defined $qglobals{"tsm_pottery"}) {
                quest::say("Give me 5000pp and I will train you in pottery.");
                quest::setglobal("tsm_pottery", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/smithing/i && !defined $qglobals{"tsm_smithing"}) {
                quest::say("Give me 5000pp and I will train you in smithing.");
                quest::setglobal("tsm_smithing", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/research/i && !defined $qglobals{"tsm_research"}) {
                quest::say("Give me 5000pp and I will train you in researching spells.");
                quest::setglobal("tsm_research", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_tailoring");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/tailoring/i && !defined $qglobals{"tsm_tailoring"}) {
                quest::say("Give me 5000pp and I will train you in tailoring.");
                quest::setglobal("tsm_tailoring", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tinkering");
        }
        if($text=~/tinkering/i && !defined $qglobals{"tsm_tinkering"}) {
                quest::say("Give me 5000pp and I will train you in tinkering.");
                quest::setglobal("tsm_tinkering", 1, 5, "F");
                quest::delglobal("tsm_alchemy");
                quest::delglobal("tsm_baking");
                quest::delglobal("tsm_brewing");
                quest::delglobal("tsm_fishing");
                quest::delglobal("tsm_fletching");
                quest::delglobal("tsm_jewelcraft");
                quest::delglobal("tsm_poisons");
                quest::delglobal("tsm_pottery");
                quest::delglobal("tsm_smithing");
                quest::delglobal("tsm_research");
                quest::delglobal("tsm_tailoring");
        }

    if($platinum == 5000) {
                if(defined $qglobals{"tsm_alchemy"}) {
                        quest::setskill(59,400);
                        quest::delglobal("tsm_alchemy");
                        quest::say("You are now an expert at alchemy.");
                } elsif(defined $qglobals{"tsm_baking"}) {
                        quest::setskill(60,400);
                        quest::delglobal("tsm_baking");
                        quest::say("You are now an expert at baking.");       
                } elsif(defined $qglobals{"tsm_brewing"}) {
                        quest::setskill(65,400);
                        quest::delglobal("tsm_brewing");
                        quest::say("You are now an expert at brewing.");       
                } elsif(defined $qglobals{"tsm_fishing"}) {
                        quest::setskill(55,400);
                        quest::delglobal("tsm_fishing");
                        quest::say("You are now an expert at fishing.");       
                } elsif(defined $qglobals{"tsm_fletching"}) {
                        quest::setskill(64,400);
                        quest::delglobal("tsm_fletching");
                        quest::say("You are now an expert at fletching.");       
                } elsif(defined $qglobals{"tsm_jewelcraft"}) {
                        quest::setskill(68,400);
                        quest::delglobal("tsm_jewelcraft");
                        quest::say("You are now an expert at jewelcraft.");       
                } elsif(defined $qglobals{"tsm_poisons"}) {
                        quest::setskill(56,400);
                        quest::delglobal("tsm_poisons");
                        quest::say("You are now an expert at poisons.");       
                } elsif(defined $qglobals{"tsm_pottery"}) {
                        quest::setskill(69,400);
                        quest::delglobal("tsm_pottery");
                        quest::say("You are now an expert at pottery.");       
                } elsif(defined $qglobals{"tsm_smithing"}) {
                        quest::setskill(63,400);
                        quest::delglobal("tsm_smithing");
                        quest::say("You are now an expert at smithing.");       
                } elsif(defined $qglobals{"tsm_research"}) {
                        quest::setskill(58,400);
                        quest::delglobal("tsm_research");
                        quest::say("You are now an expert at research.");       
                } elsif(defined $qglobals{"tsm_tailoring"}) {
                        quest::setskill(61,400);
                        quest::delglobal("tsm_tailoring");
                        quest::say("You are now an expert at tailoring.");       
                } elsif(defined $qglobals{"tsm_tinkering"}) {
                        quest::setskill(57,400);
                        quest::delglobal("tsm_tinkering");
                        quest::say("You are now an expert at tinkering.");       
                } else {
                        quest::say("Sorry this did not work");
                }
        }
}


joligario 11-28-2014 10:28 PM

Because platinum is an item not text interaction.

Nibiuno 11-28-2014 10:29 PM

Quote:

Originally Posted by joligario (Post 235818)
Because platinum is an item not text interaction.

Man, EVENT_ITEM

I feel dumb, thanks lol

NatedogEZ 11-28-2014 10:44 PM

If you are allowing them to just buy for 5000plat through a saylink.. this could be the text to match.. would make your script much easier / shorter.




TakeMoneyFromPP is in Copper... and returns a True / False if you have enough money on PERSON (doesnt look in bank)

Will only train if they say "Train blacksmithing" and their skill is under 400 and they have 5000platinum

Code:

if ($text=~/train blacksmithing/i && $client->GetRawSkill(63) < 400 && $client->TakeMoneyFromPP(5000000)) {
        quest::setskill(63,400);
        quest::say("You are now an expert at smithing.");
}


Just a suggestion.. if you have any questions you can PM me :)

Nibiuno 11-29-2014 09:18 AM

Thanks, Ill update it with that. I need to go over all of the plugins and built in functions before diving right in to building these.

Im writing a time raid script for plane of time today so Ill probably ask more dumb questions by tomorrow.

Quote:

Originally Posted by NatedogEZ (Post 235821)
If you are allowing them to just buy for 5000plat through a saylink.. this could be the text to match.. would make your script much easier / shorter.




TakeMoneyFromPP is in Copper... and returns a True / False if you have enough money on PERSON (doesnt look in bank)

Will only train if they say "Train blacksmithing" and their skill is under 400 and they have 5000platinum

Code:

if ($text=~/train blacksmithing/i && $client->GetRawSkill(63) < 400 && $client->TakeMoneyFromPP(5000000)) {
        quest::setskill(63,400);
        quest::say("You are now an expert at smithing.");
}


Just a suggestion.. if you have any questions you can PM me :)



All times are GMT -4. The time now is 01:35 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.