Page 1 of 1

Need help with my manastone script

Posted: Mon Jun 27, 2011 1:01 pm
by RicalEyl
I have written my L10 scripts but still have some problems with creating manastones.
Here are my questions:
How can I buy 1-3 transmutor charges depending on how many phrius coins I have. I dont even know how to buy anything in a waypoint. I only could maybe make an own profile for these scripts and then tell it to buy these.. Any ideas?

Then how do I learn a second class - doesnt matter which one and than use port to logar.
to be near the mailbox.

And then I recieve the files. make the stones with rocks funktion and mail them back

Re: Need help with my manastone script

Posted: Mon Jun 27, 2011 7:21 pm
by rock5
RicalEyl wrote:How can I buy 1-3 transmutor charges depending on how many phrius coins I have. I dont even know how to buy anything in a waypoint.
Are you talking about ItemShop buying or buying from Lehman? Item shop buying, I don't know, but it would be nice if someone came up with a userfunction for that.

To buy from Lehman this is what you need to know.
1. You need to open his store manually because it takes 2 choices.

Code: Select all

player:target_NPC("Lehman") yrest(1500)
RoMScript("ChoiceOption(1)") yrest(1500)
RoMScript("ChoiceOption(1)") yrest(1500)
2. Then you can use the store functions to buy the items.

Code: Select all

store:buyItem("Arcane Transmutor Charge", number)
3. As to how many Phirius Coins you have, you can do a simple item count and use that to calculate how many you want to buy.

Code: Select all

coins = inventory:totalItemCount("Phirius TokenCoin")
RicalEyl wrote:Then how do I learn a second class - doesnt matter which one
This is what I used. It just tries all the instructors until 1 works.

Code: Select all

	<!-- #  1 --><waypoint x="5526" z="-4261">
        -- Check all instructors because sometimes some are missing or you can't choose them as your secondary.
        for i,v in pairs({"Nadansa","Parsting","Casaray","Enger","Elson","Walker"}) do
            player:target_NPC(v); yrest(4000);
            if string.find(RoMScript("GetSpeakOption(1)"),"I want to become") then
                break
            end
        end

        sendMacro("ChoiceOption(1);"); yrest(2000); -- Choose second class
        sendMacro("ChoiceOption(1);"); yrest(3000);
RicalEyl wrote:and than use port to logar.
to be near the mailbox.
Just use UseSkill

Code: Select all

RoMScript("CastSpellByName('Transport: Logar')")

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 5:38 am
by RicalEyl
ok thx that already helped much.
But I still got issues :)
I edited them in the code: this is what I have so far:

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
	<!-- #  1 --><waypoint x="5535" z="-4432" y="65">
		player:target_NPC("Lehman");
player:target_NPC("Lehman") yrest(1500)
RoMScript("ChoiceOption(1)") yrest(1500)
RoMScript("ChoiceOption(1)") yrest(1500)
store:buyItem("Ladung", 3)
-- Will it get stuck if I dont have enough phirius coins for 3?
-- I play on a german client and the item is called "Ladung für den Arkanen Umwandler"
-- I dont want to use ü. Will I need the item id or should that work too with just Ladung?

-- After I have the charges in my bagpack, how do i get them in my arcane transmuter?



	</waypoint>
	<!-- #  2 --><waypoint x="5544" z="-4412" y="65">	</waypoint>
	<!-- #  3 --><waypoint x="5553" z="-4388" y="65">	</waypoint>
	 <!-- #  1 --><waypoint x="5526" z="-4261">
        -- Check all instructors because sometimes some are missing or you can't choose them as your secondary.
        for i,v in pairs({"Nadansa","Parsting","Casaray","Enger","Elson","Walker"}) do
            player:target_NPC(v); yrest(4000);
            if string.find(RoMScript("GetSpeakOption(1)"),"I want to become") then
                break
            end
        end

        sendMacro("ChoiceOption(1);"); yrest(2000); -- Choose second class
        sendMacro("ChoiceOption(1);"); yrest(3000);
	

RoMScript("CastSpellByName('Transport: Logar')")

	</waypoint>
	<!-- #  6 --><waypoint x="-438" z="-5973" y="20">		player:target_Object("Briefkasten",1000); -- stole that from a post in Mailfunctions Forum
	UMM_SendByQuality (Recipient, 2) ;yrest(3000); -- didnt fill in a name yet on purpose
	UMM_SendMoney (Recipient, all);yrest(3000);

	-- Here I need something to get enough free slots in my bag like clear bag by fusion ;)
	-- Am I supposed to put a yrest after everything here? Or is that in vain?

	UMM_TakeMail ();yrest(3000);
	Fusion_MakeMaxStones(); yrest(10000);
	UMM_SendByQuality (Recipient, 0) -- Is 0= white? I want to send every item in the bag
	yrest(3000);




sendMacro("}LoginNextToon=true;a={")
sendMacro("Logout();");
waitForLoadingScreen();
yrest(10000);
player = CPlayer.new();
settings.load();
settings.loadProfile("loot");
	loadPaths("p1");

</waypoint>
</waypoints>

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 7:33 am
by rock5
RicalEyl wrote:Will it get stuck if I dont have enough phirius coins for 3?
I don't think so. It uses the ingame function "StoreBuyItem". I don't think an ingame function would get stuck like that and I don't see anything in the buyItem function that would cause it to get stuck.
RicalEyl wrote:I dont want to use ü. Will I need the item id or should that work too with just Ladung
It looks like it doesn't take partial names. You'll have to use the ID.
RicalEyl wrote:After I have the charges in my bagpack, how do i get them in my arcane transmuter?
How do you normally do it? You just use it. So

Code: Select all

inventory:useItem("Transmutor Charge") -- or whatever it's called.
RicalEyl wrote: for i,v in pairs({"Nadansa","Parsting","Casaray","Enger","Elson","Walker"}) do
player:target_NPC(v); yrest(4000);
if string.find(RoMScript("GetSpeakOption(1)"),"I want to become") then
You might need to check the names and "GetSpeakOption" text for your language.
RicalEyl wrote:RoMScript("CastSpellByName('Transport: Logar')")
Again, make sure that's what the transport skill is called in your language.
RicalEyl wrote:Here I need something to get enough free slots in my bag like clear bag by fusion ;)
I usually have my lootfilter set up properly and visit a merchant beforehand and sell everything.
RicalEyl wrote:Am I supposed to put a yrest after everything here? Or is that in vain?
My mail and fusion functions all wait until they are finished before returning control so you don't need yrests for them.

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 8:36 am
by RicalEyl
hmm ok thank you :) If I sell everything in advance i still have a lot of bound items in my bag. Wont I get an error trying to mail them away? oder do you just send only Manastone-Tier 4,Manastone-Tier 5 and so on?

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 9:11 am
by rock5
I don't send junk. If you have a lot of junk left in yout bag, add them to the itemfilter.

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 9:55 am
by RicalEyl
Thaanks everything works now apart from one thing.. :)
when i use send by quality I still have like transport runes and ink which it tries to send away.
Is there something that let me put it in itemshopbag?

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 10:07 am
by rock5
Yes, CItem:moveTo(bag). You can use it like this.

Code: Select all

inventory:findItem("Transport Rune", "bags"):moveTo("itemshop")
Maybe put it into a loop to make sure it moves all of them, although there probably will only be 1 stack.

Code: Select all

repeat
    local item = inventory:findItem("Transport Rune", "bags")
    if item then
        item:moveTo("itemshop")
    end
until item == nil
Something like that.

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 11:06 am
by RicalEyl
Ok works fine :) and is there a way to sell my stuff to lehmann? ;)
would be much easier than to run to another merchant...

Re: Need help with my manastone script

Posted: Tue Jun 28, 2011 7:39 pm
by rock5
RicalEyl wrote:Ok works fine :) and is there a way to sell my stuff to lehmann? ;)
would be much easier than to run to another merchant...
Even though Lehman has a store, you can't use the autosell feature because it takes 2 options to open his store. I just use the "Basic Equipment Merchant" in the Class Hall as I pass him on the way to Lehman.

Edit: Actually, if you really want to sell to Lehman, you can. You just need to open his store manually and run the autosell function manually.

Code: Select all

player:target_NPC("Lehman") yrest(1500)
RoMScript("ChoiceOption(1)") yrest(1500)
RoMScript("ChoiceOption(1)") yrest(1500)
inventory:autoSell()

Re: Need help with my manastone script

Posted: Wed Jun 29, 2011 4:21 am
by RicalEyl
wow thanks rock, you rock :)
everything seems to work now. Only on the english client so far but that doesnt really matter ;)

thanks again