|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Quests::Q&A This is the quest support section |
|
|
|
11-28-2014, 10:25 PM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 101
|
|
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");
}
}
}
|
|
|
|
11-28-2014, 10:28 PM
|
|
Developer
|
|
Join Date: Mar 2003
Posts: 1,497
|
|
Because platinum is an item not text interaction.
|
11-28-2014, 10:29 PM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 101
|
|
Quote:
Originally Posted by joligario
Because platinum is an item not text interaction.
|
Man, EVENT_ITEM
I feel dumb, thanks lol
|
11-28-2014, 10:44 PM
|
|
Developer
|
|
Join Date: Dec 2012
Posts: 515
|
|
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
|
11-29-2014, 09:18 AM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 101
|
|
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
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
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 11:19 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|