VGOEmulator.net

A Development Project for the Vanguard:Saga of Heroes MMO

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • Portal
  • Project Manager
  • Bug Tracker
  • Server List
  • Wiki
  • Donate
  • Login
  • Register
  • Board index Bugs Server Bugs Server Bugs (Closed)
  • Search

Bug 53: (Lokked) Separator Issues

Closed Server Bugs

Moderators: Community Managers, Developers

Locked
  • Print view
Advanced search
11 posts
  • 1
  • 2
  • Next
BugTracker
Posts: 810
Joined: Wed Aug 28, 2013 9:40 am
Bug 53: (Lokked) Separator Issues
  • Quote

Post by BugTracker » Sun Dec 14, 2014 2:59 pm

Bug ID       : 53 - Faction Commands (.faction) do... 
Bug Date     : 2014/11/22 02:21:17
Assigned To  : Ratief
Priority     : High

Category     : VGClient
Sub-Category : Other
Severity     : Standard
Reproducible : Every time
Details:
Faction Commands (.faction) does no work

.faction displays the syntax for using the command
.faction set Cyrcle 661 5000 does not work. ID 661 (or Rindol Field) was pulled from the Faction list on the DB Editor. Should set Rindol Field faction to 5000.
.faction set Cyrcle Rindol Field 5000 comes with the following error "Command Error: No such faction (Rindol)."
.faction set Cyrcle "Rindol Field" 5000 comes with nothing returned.
.faction get returns error "Command Error: internal error"

Originated From World: New Telon (1)
Chunk                : Khal (85)
Location             : -2433 -50516 1611
Top

Lokked
Principle Developer
Principle Developer
Posts: 600
Joined: Wed Aug 06, 2014 3:15 pm
Re: Bug 53: Faction Commands (.faction) do...
  • Quote

Post by Lokked » Mon Dec 15, 2014 11:32 am

The Separator object uses the space as a separator. We either need to do away with the names and use IDs only (along with a lookup table for the user) or remove spaces and punctuation from the name and communicate this to content devs.
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: Bug 53: Faction Commands (.faction) do...
  • Quote

Post by John Adams » Wed Dec 17, 2014 8:07 am

In EQ2, our Sep stuff allowed for quotations to encapsulate multi word strings. Does VGO's not do this? If not, it needs to. I'd like to get away from our current pattern of ID-only, I happen to like strings
Top

Lokked
Principle Developer
Principle Developer
Posts: 600
Joined: Wed Aug 06, 2014 3:15 pm
Re: Bug 53: Faction Commands (.faction) do...
  • Quote

Post by Lokked » Wed Dec 17, 2014 10:58 am

Makes sense. I was thinking of another approach, where space-separated data would be scrunched together into 1 word (not in the DB, but when the list is created in memory from the DB records) and for certain commands using the Separator object, it would also squish words together.

I think it would be more flexible doing something with quotes. I don't know if the system currently does that (I don't know much about Separator except how to use it in Commands).
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: Bug 53: Faction Commands (.faction) do...
  • Quote

Post by John Adams » Wed Dec 17, 2014 5:22 pm

Here's how EQ2 did it. Oddly, in Seperator.h (spelled wrong, Scatman loves that!)

Code: Select all

    Seperator(const char* message, char div = ' ', int16 in_maxargnum = 10, int16 arglen = 100, bool iObeyQuotes = false, char div2 = '\t', char div3 = 0, bool iSkipEmpty = true) {        int i;        argnum = 0;        msg = strdup(message);        this->maxargnum = in_maxargnum;        argplus = new const char *[maxargnum+1];        arg = new char *[maxargnum+1];        for (i=0; i<=maxargnum; i++) {            argplus[i]=arg[i] = new char[arglen+1];            memset(arg[i], 0, arglen+1);        }        int len = strlen(message);        int s = 0, l = 0;        bool inarg = (!iSkipEmpty || !(message[0] == div || message[0] == div2 || message[0] == div3));        bool inquote = (iObeyQuotes && (message[0] == '\"' || message[0] == '\''));        argplus[0] = message;        if (len == 0)            return;        for (i=0; i<len; i++) {//            cout << i << ": 0x" << hex << (int) message[i] << dec << " " << message[i] << endl;            if (inarg) {                if ((inquote == false && (message[i] == div || message[i] == div2 || message[i] == div3)) || (inquote && (message[i] == '\'' || message[i] == '\"') && (message[i+1] == div || message[i+1] == div2 || message[i+1] == div3 || message[i+1] == 0))) {                    inquote = false;                                        l = i-s;                                        if (l >= arglen)                        l = arglen;                    if (l){                        if(l > 1 && (argplus[argnum][0] == '\'' || argplus[argnum][0] == '\"')){                            l--;                            memcpy(arg[argnum], argplus[argnum]+1, l);                        }                        else                            memcpy(arg[argnum], argplus[argnum], l);                    }                    arg[argnum][l] = 0;                    argnum++;                    if (iSkipEmpty)                        inarg = false;                    else {                        s=i+1;                        argplus[argnum] = &message[s];                    }                }            }            else if (iObeyQuotes && (message[i] == '\"' || message[i] == '\'')) {                inquote = true;            }            else {                s = i;                argplus[argnum] = &message[s];                if (!(message[i] == div || message[i] == div2 || message[i] == div3)) {                    inarg = true;                }            }            if (argnum > maxargnum)                break;        }        if (inarg && argnum <= maxargnum) {            l = i-s;            if (l >= arglen)                l = arglen;            if (l)                memcpy(arg[argnum], argplus[argnum], l);        }    }]
The function was const char blah = sep->argplus[index]

example use:

Code: Select all

        else if (strncmp(command, "create", length) == 0 && sep->arg[1])         {            const char* guild_name = sep->argplus[0]; 
/guild create My Guild

No quotes, just anything from that index to the end of the command string was... arg PLUS everything after [index]


But I think if you use quotes, the arg becomes 1 arg. Like in /spawn create npc 1 1 50 'Fierce NPC Named Lokked'

Code: Select all

Syntax: /spawn create [spawn type] [race type] [class type] [level] [name] (difficulty) (size)

spawn->SetName(sep->arg[4])
arg[4] = the name in quotes

Hope this helps. No need to scrunch
Top

BugTracker
Posts: 810
Joined: Wed Aug 28, 2013 9:40 am
Bug 53: (Lokked) Faction Commands (.faction) do... (Re-assigned)
  • Quote

Post by BugTracker » Sun Jan 11, 2015 11:20 am

Bug ID       : 53 - Faction Commands (.faction) do... (Re-assigned)
Bug Date     : 2014/11/22 02:21:17
Reassigned To: Lokked
Priority     : High

Category     : VGClient
Sub-Category : Other
Severity     : Standard
Reproducible : Every time
Details:
Faction Commands (.faction) does no work

.faction displays the syntax for using the command
.faction set Cyrcle 661 5000 does not work. ID 661 (or Rindol Field) was pulled from the Faction list on the DB Editor. Should set Rindol Field faction to 5000.
.faction set Cyrcle Rindol Field 5000 comes with the following error "Command Error: No such faction (Rindol)."
.faction set Cyrcle "Rindol Field" 5000 comes with nothing returned.
.faction get returns error "Command Error: internal error"

Originated From World: New Telon (1)
Chunk                : Khal (85)
Location             : -2433 -50516 1611
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: Bug 53: (Lokked) Separator Issues
  • Quote

Post by John Adams » Sun Jan 11, 2015 11:21 am

Changed this to Lokked after our discussion above - also testing Bug Tracker's ability to post a Re-assignment
Top

BugTracker
Posts: 810
Joined: Wed Aug 28, 2013 9:40 am
Bug 53: (Ratief) Faction Commands (.faction) do... (Re-assig
  • Quote

Post by BugTracker » Wed Jan 21, 2015 7:29 pm

Bug ID       : 53 - Faction Commands (.faction) do... (Re-assigned)
Bug Date     : 2014/11/22 02:21:17
Reassigned To: Ratief
Priority     : Medium

Category     : VGClient
Sub-Category : Other
Severity     : Standard
Reproducible : Every time
Details:
Faction Commands (.faction) does no work

.faction displays the syntax for using the command
.faction set Cyrcle 661 5000 does not work. ID 661 (or Rindol Field) was pulled from the Faction list on the DB Editor. Should set Rindol Field faction to 5000.
.faction set Cyrcle Rindol Field 5000 comes with the following error "Command Error: No such faction (Rindol)."
.faction set Cyrcle "Rindol Field" 5000 comes with nothing returned.
.faction get returns error "Command Error: internal error"

Originated From World: New Telon (1)
Chunk                : Khal (85)
Location             : -2433 -50516 1611
Last edited by John Adams on Wed Jan 21, 2015 7:30 pm, edited 1 time in total.
Reason: No idea why this was assigned to Lokked; Faction is Ratief's code
Top

Lokked
Principle Developer
Principle Developer
Posts: 600
Joined: Wed Aug 06, 2014 3:15 pm
Re: Bug 53: (Lokked) Separator Issues
  • Quote

Post by Lokked » Wed Jan 21, 2015 9:53 pm

John, this is more of a Separator issue than Faction. It's a general issue with Commands. It can be assigned to me. The Subject Lines in this thread are confusing, lol. I'll change assignment.
Top

BugTracker
Posts: 810
Joined: Wed Aug 28, 2013 9:40 am
Bug 53: (Lokked) Separate Issue (Re-assigned)
  • Quote

Post by BugTracker » Wed Jan 21, 2015 9:54 pm

Bug ID       : 53 - Separate Issue (Re-assigned)
Bug Date     : 2014/11/22 02:21:17
Reassigned To: Lokked
Priority     : Medium

Category     : VGClient
Sub-Category : Other
Severity     : Standard
Reproducible : Every time
Details:
Faction Commands (.faction) does no work

.faction displays the syntax for using the command
.faction set Cyrcle 661 5000 does not work. ID 661 (or Rindol Field) was pulled from the Faction list on the DB Editor. Should set Rindol Field faction to 5000.
.faction set Cyrcle Rindol Field 5000 comes with the following error "Command Error: No such faction (Rindol)."
.faction set Cyrcle "Rindol Field" 5000 comes with nothing returned.
.faction get returns error "Command Error: internal error"

Originated From World: New Telon (1)
Chunk                : Khal (85)
Location             : -2433 -50516 1611
Top


Locked
  • Print view

11 posts
  • 1
  • 2
  • Next

Return to “Server Bugs (Closed)”

Jump to
  • Information
  • ↳   Announcements
  • ↳   Dev Chats
  • ↳   Events
  • Community
  • ↳   General Discussions
  • ↳   VGO Team Help Requests
  • ↳   Introductions
  • ↳   Game Features
  • ↳   Wish List
  • ↳   Off-Topic
  • Support
  • ↳   How-To's
  • ↳   General Support
  • ↳   Windows
  • ↳   Linux
  • Bugs
  • ↳   Server Bugs
  • ↳   Server Bugs (Closed)
  • ↳   Content Bugs
  • ↳   Content Bugs (Closed)
  • ↳   Database Bugs
  • ↳   Tools Bugs
  • Board index
  • All times are UTC-07:00
  • Delete cookies
  • Contact us
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD