EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Fresh Linux Server install Soulbinders not working.... (https://www.eqemulator.org/forums/showthread.php?t=43535)

Freejack 01-27-2022 04:27 AM

Fresh Linux Server install Soulbinders not working....
 
I have been testing the server for 5 days and found a few things not working. One of them is an original quest that I found an easy fix for in the EQ forums. That is how old it is.

Pas that and another quest that would not work was the Gloomingdeep area quest where you give the guard an arrow and he gives you a quiver. Gave him arrows and never got the quiver, removed it and tried again and same issue.

Now the reason I am posting is that I can not seem to use Soulbinders in any area. it goes thru and quest::say("Greetings ${name} . When a hero of our world is slain their soul returns to the place it was last bound and the body is reincarnated. As a member of the Order of Eternity it is my duty to [bind your soul] to this location if that is your wish.");
} elsif($text=~/bind my soul/i) {

does that and you click on the bind my soul and it never goes any further. It does not finish with quest::say("Binding your soul. You will return here when you die.");
quest::selfcast(2049);

Yes I pulled this out of the plugin to be sure I was not have a 60 second flip out and missed something.

This is a small personal server for myself and anyone who wants to play. So playing solo is usually why we want soulbinders. Not that we don't play in groups we just have schedules that are all different.

Any help is much appreciated. Also these are the only issues I have really run into.

jsr 01-27-2022 10:31 AM

Did you try typing 'bind my soul'? It works for me with the generic script.

Otherwise, you might need to provide more detail - which soulbinder are you talking to in game (name and zone), in the quests folder for that zone does the soulbinder have a script, if so is it referencing the soulbinder script in the quests/plugins folder?

Using Soulbinder Jera in plane of knowledge as an example:


Code:

# /quests/poknowledge/Soulbinder_Jera.pl
#generic soulbinder quest
sub EVENT_SAY {
        plugin::soulbinder_say($text);
}

Code:

# /quests/plugins/soulbinders.pl
sub soulbinder_say {
        my $text = shift;
        if($text=~/hail/i){
                quest::say("Greetings ${name} . When a hero of our world is slain their soul returns to the place it was last bound and the body is reincarnated. As a member of the Order of Eternity  it is my duty to [bind your soul] to this location if that is your wish.");
        } elsif($text=~/bind my soul/i) {
            quest::say("Binding your soul. You will return here when you die.");
            quest::selfcast(2049);
        }
}


Freejack 01-27-2022 11:11 AM

Thank you for that. I found an issue, oddly enough clicking the link in chat does not work and if you type bind my soul after clicking it, it does not work. Re hail the Soulbinder and type bind my soul you will be bound.

So is there a fix to fix the link or should I just create a button that just simple says /say bind my soul? I may do that unless there is a fix we can implement.

jsr 01-27-2022 01:03 PM

Well assuming it's the same script, there is nothing to click because the NPC just says "... [bind my soul] ...". They're not outputting anything clickable, it's just text.

You can convert it to a saylink if you really want.

Again it's helpful if you include the npc and zone details, and the relevant script if you can.

Freejack 01-27-2022 06:32 PM

It is every binder I have tried, I looked at the particular scripts and none of them have the link do /say bind my soul. I understand what your saying about the particulars. One of teh ones is Soulbinder_Oakstout.pl in Greater Faydark:

His uses the generic soulbinder.pl unlike Jera which uses one that is written just for that character in POK.

Here is the generic in plugins for soulbinder.pl how would I add teh symlink to say?

sub soulbinder_say {
my $text = shift;
if($text=~/hail/i){
quest::say("Greetings ${name} . When a hero of our world is slain their soul returns to the place it was last bound and the body is reincarnated. As a member of the Order of Eternity it is my duty to [bind your soul] to this location if that is your wish.");
} elsif($text=~/bind my soul/i) {
quest::say("Binding your soul. You will return here when you die.");
quest::selfcast(2049);
}
}

Since I now know if you click the text it actually thinks that is a response and will not accept typing bind my soul after that unless you hail again.

Akkadius 01-27-2022 07:22 PM

Does #questerrors display anything for you?

jsr 01-27-2022 08:01 PM

You can add a saylink like this (untested):

Code:

sub soulbinder_say {
        my $bind_your_soul = quest::saylink("bind your soul");
        my $text = shift;
        if($text=~/hail/i){
                quest::say("Greetings ${name} . When a hero of our world is slain their soul returns to the place it was last bound and the body is reincarnated. As a member of the Order of Eternity  it is my duty to " . $bind_your_soul . " to this location if that is your wish.");
        } elsif($text=~/bind your soul/i) {
            quest::say("Binding your soul. You will return here when you die.");
            quest::selfcast(2049);
        }
}


Freejack 01-27-2022 08:13 PM

Quote:

Originally Posted by Akkadius (Post 267646)
Does #questerrors display anything for you?

It shows nothing, he is right it is a colored text, not a link to an action. Not at least in the generic script in plugins. As for the per soulbinder script I will have to look.

jsr 01-27-2022 10:23 PM

You'll find that most quests do not use saylinks, you'll need to type out the correct replies most of the time.

Huppy 01-28-2022 04:18 AM

If you're looking for a "lazy" way to aquire saylink quests, go to the new wiki, scroll down to bottom of page, where you see "project 2002 quests". It's full of (lua) saylinks, including soulbinders.

Akkadius 01-28-2022 04:28 AM

Quote:

Originally Posted by Huppy (Post 267654)
If you're looking for a "lazy" way to aquire saylink quests, go to the new wiki, scroll down to bottom of page, where you see "project 2002 quests". It's full of (lua) saylinks, including soulbinders.

An even lazier way in 2022 is to use "Auto Saylink Injection" which was implemented late last year https://github.com/EQEmu/Server/pull/1525

You just need to have the rule enabled and have [brackets in your message] and it will automatically parse out saylinks in your messages

Freejack 01-28-2022 06:26 AM

Quote:

Originally Posted by Huppy (Post 267654)
If you're looking for a "lazy" way to aquire saylink quests, go to the new wiki, scroll down to bottom of page, where you see "project 2002 quests". It's full of (lua) saylinks, including soulbinders.

Actually created a social button with bind my soul and then the character dances.......

Freejack 01-28-2022 06:28 AM

Quote:

Originally Posted by Akkadius (Post 267655)
An even lazier way in 2022 is to use "Auto Saylink Injection" which was implemented late last year https://github.com/EQEmu/Server/pull/1525

You just need to have the rule enabled and have [brackets in your message] and it will automatically parse out saylinks in your messages

Forgive my ignorance here but how do I enable said rule?

Huppy 01-28-2022 07:01 AM

Quote:

Originally Posted by Freejack (Post 267658)
Forgive my ignorance here but how do I enable said rule?

You would probably be looking at the rule_values table in database. I am not using that recent of code, but I don't use saylinks on my server anyways. Most rules are in the rule_values table. You may find a lot more there than you expected ;)

Freejack 01-28-2022 07:28 AM

Quote:

Originally Posted by Huppy (Post 267659)
You would probably be looking at the rule_values table in database. I am not using that recent of code, but I don't use saylinks on my server anyways. Most rules are in the rule_values table. You may find a lot more there than you expected ;)

As long as I know where to go, I can do the rest....... As for what I will find, well that maybe something I can not un see.

Weird thing is I found that in the ruleset and both Autoinject rules are set to true. So now what could be the reason it is not working?


All times are GMT -4. The time now is 08:59 PM.

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