EOSERV Forum > EOSERV > lewis999's EOserv rev 189
Topic is locked.
Page: << 1 2 3 4 5 ... 28 29 >>
lewis999's EOserv rev 189
Author Message
Post #47500 Re: EOserv rev 189 Compiled

Change SAKE_SEEK to SEEK_END. That works for me. In your quest.cpp file.

---
"Pineapples and shit."
14 years, 35 weeks ago
Post #47502 Re: EOserv rev 189 Compiled

Thanks but now I get this :

C:\Users\LewisH\Downloads\eoserv-trunk-r189\eoserv-trunk-r189\trunk\src\world.hpp||In constructor 'Quest::Quest(short int, World*)':|

C:\Users\LewisH\Downloads\eoserv-trunk-r189\eoserv-trunk-r189\trunk\src\world.hpp|270|error: '2' cannot be used as a function|

C:\Users\LewisH\Downloads\eoserv-trunk-r189\eoserv-trunk-r189\trunk\src\world.hpp|272|error: '2' cannot be used as a function|

C:\Users\LewisH\Downloads\eoserv-trunk-r189\eoserv-trunk-r189\trunk\src\world.hpp|275|warning: comparison between signed and unsigned integer expressions|

||=== Build finished: 2 errors, 23 warnings ===|


14 years, 35 weeks ago
Post #47503 Re: EOserv rev 189 Compiled

Can you pastebin your quest.cpp and post it. I could get a clear view of what you're using and how to fix this.

---
"Pineapples and shit."
14 years, 35 weeks ago
Post #47504 Re: EOserv rev 189 Compiled 14 years, 35 weeks ago
Post #47505 Re: EOserv rev 189 Compiled

Try and switch your Quest::Quest function with this one;

Quest::Quest(short id, World *world)
{
    char namebuf[4];

    if (id < 0)
    {
        return;
    }
    this->id = id;
    this->exists = true;

    std::string filename = "";
    filename = world->config["QuestDir"].GetString();
    std::sprintf(namebuf, "%05i", id);
    filename.append(namebuf);
    filename.append(".eqf");
    std::FILE *fh = std::fopen(filename.c_str(), "rt");
    std::string buf;

    if (!fh)
    {
        Console::Err("Could not load file: %s", filename.c_str());
        this->exists = false;
        return;
    }

    std::fseek(fh, 0, SEEK_END);
    long size = ftell(fh);
    std::rewind(fh);

    buf.resize(size);
    std::fread(&buf[0], 1, size, fh);
    std::fclose(fh);

    Load(buf);
}

---
"Pineapples and shit."
14 years, 35 weeks ago
Post #47506 Re: EOserv rev 189 Compiled

Thank you for all you help, its finaly working :D

I'm just going to fix the spawn and home stuff now then ill upload v0.3 :)
14 years, 35 weeks ago
Post #47507 Re: EOserv rev 189 Compiled

Nice! :] If you need help on errors and such you could always ask me in this topic.

---
"Pineapples and shit."
14 years, 35 weeks ago
Post #47510 Re: EOserv rev 189 Compiled

I gave up on trying to get Addison's thing working because the problems it has are conveniently never explained in the thread about it and when I tried to ask about it I just got told to hold off until Apollo's bulk rev comes out.

14 years, 35 weeks ago
Post #47512 Re: EOserv rev 189 Compiled

hey lewis i think you forgot to add quest.cpp again in v0.3

---
Live and let live. Hurt but do not kill. Finish what you start. NEVER GIVE UP!!!
14 years, 35 weeks ago
Post #47513 Re: EOserv rev 189 Compiled

SAKE_SEEK is what Sausage uses to load map files safely. I decided to add into my source to be cool. Here's what you need to add at the top of quest.cpp:


static const char *safe_fail_filename;

static void safe_fail(int line)
{
    Console::Err("Invalid file / failed read/seek: %s -- %i", safe_fail_filename, line);
    std::exit(1);
}

#define SAFE_SEEK(fh, offset, from) if (std::fseek(fh, offset, from) != 0) { std::fclose(fh); safe_fail(__LINE__); }
#define SAFE_READ(buf, size, count, fh) if (std::fread(buf, size, count, fh) != static_cast<int>(count)) {  std::fclose(fh); safe_fail(__LINE__);}

---
http://www.addipop.com
14 years, 35 weeks ago
Post #47514 Re: EOserv rev 189 Compiled

Don't you mean SAFE_SEEK Instead of SAKE_SEEK?

---
"Pineapples and shit."
14 years, 35 weeks ago
Post #47515 Re: EOserv rev 189 Compiled

He's right, the 4 Quest.cpp/hpp files aren't added into this project, I had to manually add them myself.

There was also a weird issue with recompiling eoserv.  I readded the server-specific changes I have normally (std::abs map fix, disabling of #class, and pet items), but my project refused to acknowledge that there had been a change, so I had to rebuild instead of build.

Shit was kinda weird.

14 years, 35 weeks ago
Post #47516 Re: EOserv rev 189 Compiled

Ananas, we all make mistakes. I've heard about that mistake a few times. Eventually, I'll get off my lazy ass and finish my quest system and upload all the fixes.

---
http://www.addipop.com
14 years, 35 weeks ago
Post #47517 Re: EOserv rev 189 Compiled
Addison posted: (30th Aug 2010 12:13 pm)

Ananas, we all make mistakes. I've heard about that mistake a few times. Eventually, I'll get off my lazy ass and finish my quest system and upload all the fixes.


Didn't ment to offend you =[, Just had to make sure if it had to be SAFE instead of SAKE cause I couldn't find it anywere ;p
---
"Pineapples and shit."
14 years, 35 weeks ago
Post #47518 Re: EOserv rev 189 Compiled

With this new quest thing, I am unable to make the Wise Man thing happen more than once.  After I finish changing my class, he is unclickable again.  I don't know if this is a problem in Lewis' implementation or if it was always a problem in the original quest code itself,butregardless it makes for a depressingly lackluster Wise Man, unless you actually want people to be able to change their class only once.

edit: See next post, iFail@life

14 years, 35 weeks ago
Page: << 1 2 3 4 5 ... 28 29 >>
Topic is locked.
EOSERV Forum > EOSERV > lewis999's EOserv rev 189