Page 3 of 8

Re: Dev Rev 3 release

PostPosted: Mon Jun 18, 2012 8:52 pm
by rl2171
So what will it take to get the rev 3 to be able to use the newer clients?

Usually someone is already on top of those changes in the osRose community :D

Re: Dev Rev 3 release

PostPosted: Mon Jun 18, 2012 10:52 pm
by devalex
@Sousie

I am using a clean copy of the client v323 - I fixed the problem with when picking up drops the client crashes by extracting all the AI, QUESTDATA and STB folders and placing them into the proper server file directories so client/server files match. But any time you un-equip or equip an item to your avatar or custume the client still crashes and when you log back in you can see the change for example:

Character has no mask on
equips flu mask
CRASH
log back in
Character has flu mask on

Still trying to figure this out.

Re: Dev Rev 3 release

PostPosted: Tue Jun 19, 2012 1:53 pm
by PurpleYouko
the server recognises the item and equips it.
Client crashes because the packet the server sends is not compatible with what it expects to receive.

That's what Sousie meant. the slots (and hence the packets) were changed for this version of teh world server.

Re: Dev Rev 3 release

PostPosted: Sat Jun 23, 2012 12:03 am
by brokenshadows
You probably already know this, or when you read it you'll decide i'm a moron, but just in case i'm not, and you don't, i'm finding that the worldserver is crashing when someone tries to go to the Zant map.

i first thought it was because i wasn't using vfsedit to export all of the files correctly, but i've done that 3 times now (and this is the second install i've done...completely wiped the first one thinking i installed or compiled something wrong)...

So, because i have no idea what i'm doing, and because i'm not sure if it's me or the rev, And because i'm not sure if you know about it or not...although i'm probably sure it's just something i'm doing wrong...here's the warning i see in the worldserver.log, just as it crashes.

When using the /go 2 command:
  1. Fri Jun 22 18:48:16 2012 - [INFO]: - User 'brokenshadows'(#1005850) logged in with character 'Marionetta'
  2. Fri Jun 22 18:48:16 2012 - [DEBUG]: - ASPD: 98
  3. Fri Jun 22 18:48:16 2012 - [DEBUG]: - ASPD: 0.000000
  4. Fri Jun 22 18:48:16 2012 - [INFO]: - XP rate rate calculated as = 1
  5. Fri Jun 22 18:48:16 2012 - [INFO]: - Base drop increased by 0 for Marionetta
  6. Fri Jun 22 18:48:16 2012 - [DEBUG]: - ASPD: 98
  7. Fri Jun 22 18:48:16 2012 - [DEBUG]: - ASPD: 0.000000
  8. Fri Jun 22 18:48:16 2012 - [INFO]: - XP rate rate calculated as = 1
  9. Fri Jun 22 18:48:16 2012 - [INFO]: - Base drop increased by 0 for Marionetta
  10. Fri Jun 22 18:48:29 2012 - [INFO]: - User 'brokenshadows'(#1005850) assigned id #14745
  11. Fri Jun 22 18:48:35 2012 - [INFO]: - CID 14745 has already been cleared?
  12. Fri Jun 22 18:48:35 2012 - [GM ACTION]: -  Marionetta : /go 2
  13. Fri Jun 22 18:48:35 2012 - [WARNING]: - reached waypoint.current position 5108.109375 5168.063477


When using the gate from the Luxem Tower map:
  1. Fri Jun 22 18:53:29 2012 - [INFO]: - Data Saved for char 'Marionetta'
  2. Fri Jun 22 18:53:40 2012 - [INFO]: - Gate 11 found, offset 0
  3. Fri Jun 22 18:53:41 2012 - [INFO]: - CID 14747 has already been cleared?
  4. Fri Jun 22 18:53:41 2012 - [WARNING]: - reached waypoint.current position 5108.512207 5184.593750


also, i too am having client crashes any time anything is put into, or removed from, either my inventory, or my character...but i know that's already know, and i'll wait patiently for someone to fix it...because i have no idea how to even start figuring that one out...

i mean, hell...it was an accomplishment for me to figure out that i needed to set my account level to 400 in order to use the /gmskills command...that's how much i know about any of this :( i've spent the better part of last night and today reading through the forums, and searching on google to find a clue, but i really have no idea where i should be looking, much less what i'm looking for...

Re: Dev Rev 3 release

PostPosted: Sat Jun 23, 2012 5:44 pm
by PurpleYouko
Hmmmm

Shouldn't be reaching ANY waypoints.... ever

Waypoints are only supposed to be used by specific monsters in a Tower Defense event which hasn't even been fully coded yt.
Certainly should not be outputting that log when you use the go command.

Re: Dev Rev 3 release

PostPosted: Sat Jun 23, 2012 5:52 pm
by brokenshadows
not sure why it would be then...i haven't changed anything except the the server configs (lanip, external ip, etc) and the exp/drop rate...

if you let me know what logs/whatevers you'd need to look at, i'll be happy to get those for you tonight when i get home from work... :D

::edit::
i just purged all the log files in the Log folder, restarted the servers, logged in, used the /go command for 1-17, and it only crashed in 2. i'm attaching the new log files in zip format...

::edit2:: i noticed that the list_waypoints.sql file only had entries for "mapid 2", so just for grins and giggles, i tried to empty the table and use the "/go 2" command again...

same error :(

yes, i know...whatever it is i'm trying, i seem to have better luck shooting in the dark...with a bb gun...with my eyes closed...

Re: Dev Rev 3 release

PostPosted: Sun Jun 24, 2012 2:31 pm
by PurpleYouko
the reason list-waypoints only has entries for map 2 is because that's where i was testing it the last time I worked on the project.

It's not anything you're doing wrong.
It's just highly unfinished.

Re: Dev Rev 3 release

PostPosted: Sun Jun 24, 2012 4:03 pm
by brokenshadows
do i need to go through the worldserver code and look for where it's referencing waypoints and comment it out...or is that completely off base?

i'm willing to try and track down whatever is causing the problem, but i'm a bit leery of doing it blindly, breaking it, and not knowing how to undo what i did :P

Re: Dev Rev 3 release

PostPosted: Sun Jun 24, 2012 6:53 pm
by PurpleYouko
look in mainprocesses.cpp and find the section of code that I bracketted with notes saying that this is handling TD stuff.
Should start with something like
if(thismob->TD)
Or something like that. Can't remember the exact code.
You can safely comment out that entire conditional.

Re: Dev Rev 3 release

PostPosted: Mon Jun 25, 2012 3:00 am
by brokenshadows
Okay, here's what i commented out:

  1.            //PY spawn TD Mobs
  2.             //if(map->id < 100)  //too many damn maps when we include Pedion.
  3.             //{
  4.                 //PY TD stuff
  5.             //    if(GServer->WPList[map->id][1].WPType != 0) //this map has waypoints defined
  6.             //    {
  7.             //        if(GServer->TDMap == map->id && GServer->TDSpawnCount > 0) //this is the current TD map and there are unspawned monsters
  8.             //        {
  9.             //            clock_t etime = clock() - GServer->TDSpawnTimer;
  10.             //            if(etime > GServer->TDSpawnRate)
  11.             //            {
  12.             //                //spawn a monster
  13.             //                CMonster* thismon = map->AddMonster(GServer->TDSpawnType, GServer->WPList[map->id][1].pos, 0, NULL, NULL, 0,true );
  14.             //                GServer->TDSpawnCount --; //decrement the spawn counter
  15.             //                thismon->sp_aip = 9999; //Don't want this mob doing any AIP stuff
  16.             //                thismon->TD = true;
  17.             //               thismon->NextWayPoint = 2;
  18.             //                //set monster's destiny position to first (non-start) waypoint'
  19.             //                thismon->Position->destiny.x = GServer->WPList[map->id][2].pos.x;
  20.             //                thismon->Position->destiny.y = GServer->WPList[map->id][2].pos.y;
  21.             //                thismon->thisnpc->stance = 0;
  22.             //                thismon->Stats->Move_Speed = thismon->GetMoveSpeed();
  23.             //                thismon->SetStats(false);
  24.             //                GServer->TDMonCount ++;
  25.             //                Log(MSG_WARNING,"TD Monster spawned with mspd %i. Current TD Monster Count is %i",thismon->Stats->Move_Speed,GServer->TDMonCount);
  26.             //                Log(MSG_WARNING,"moving to next position %f %f",thismon->Position->destiny.x,thismon->Position->destiny.y);
  27.             //                GServer->TDSpawnTimer = clock();
  28.             //                //send a move packet
  29.             //                BEGINPACKET( pak, 0x797 );
  30.             //                ADDWORD    ( pak, thismon->clientid );
  31.             //                ADDWORD    ( pak, 0x0000 );
  32.             //                ADDWORD    ( pak, thismon->Stats->Move_Speed );
  33.             //                ADDFLOAT   ( pak, thismon->Position->destiny.x*100 );
  34.             //                ADDFLOAT   ( pak, thismon->Position->destiny.y*100 );
  35.             //                ADDWORD    ( pak, 0xcdcd );
  36.             //                ADDBYTE    ( pak, thismon->thisnpc->stance );
  37.             //                GServer->SendToVisible(&pak, thismon);
  38.             //            }
  39.             //        }
  40.             //    }
  41.             //}


and

  1.                    //PY doing TD stuff
  2.                     //if(monster->TD && map->id < 100)  //too many damn maps when we include Pedion.)
  3.                     //{
  4.                         //if monster is at the current target waypoint it needs to head to the next one or commit suicide.
  5.                     //    monster->UpdatePosition(false);
  6.                     //    if(monster->Position->current.x == monster->Position->destiny.x && monster->Position->current.y == monster->Position->destiny.y)
  7.                     //    { //reached a waypoint
  8.                     //        Log(MSG_WARNING,"reached waypoint.current position %f %f",monster->Position->destiny.x,monster->Position->destiny.y);
  9.                     //        if(GServer->WPList[map->id][monster->NextWayPoint].WPType == 3)
  10.                     //        {
  11.                                 //it's the final point
  12.                                 //now remove monster
  13.                     //           monster->Stats->HP = -1;
  14.                     //            monster->suicide = true;
  15.                     //            GServer->TDMonCount --; //decrement TD monster count
  16.                     //            Log(MSG_WARNING,"TD monster reached target and suicided. Current TD Monster Count is %i",GServer->TDMonCount);
  17.                                 //Also need to do stuff to reduce life of target. todo later
  18.                                 //delete monster
  19.                     //            BEGINPACKET( pak, 0x799 );
  20.                     //            ADDWORD    ( pak, monster->clientid );
  21.                     //            ADDWORD    ( pak, monster->clientid );
  22.                     //            ADDDWORD   ( pak, monster->thisnpc->hp * monster->thisnpc->level );
  23.                     //            ADDDWORD   ( pak, 16 );
  24.                     //            GServer->SendToVisible( &pak, monster );
  25.                     //        }
  26.                     //        else //hasn't arrived at final point. move to next
  27.                     //        {
  28.                     //            Log(MSG_WARNING,"TD monster reached waypoint %i",monster->NextWayPoint);
  29.                     //            monster->NextWayPoint ++; //increment the waypoint
  30.                     //            monster->Position->destiny.x = GServer->WPList[map->id][monster->NextWayPoint].pos.x;
  31.                     //            monster->Position->destiny.y = GServer->WPList[map->id][monster->NextWayPoint].pos.y;
  32.                     //            Log(MSG_WARNING,"moving to next position %f %f",monster->Position->destiny.x,monster->Position->destiny.y);
  33.                     //        }
  34.                     //    }
  35.                     //    //send a move packet whether the monster reached waypoint or not
  36.                     //    BEGINPACKET( pak, 0x797 );
  37.                     //    ADDWORD    ( pak, monster->clientid );
  38.                     //    ADDWORD    ( pak, 0x0000 );
  39.                     //    ADDWORD    ( pak, monster->Stats->Move_Speed );
  40.                     //    ADDFLOAT   ( pak, monster->Position->destiny.x*100 );
  41.                     //    ADDFLOAT   ( pak, monster->Position->destiny.y*100 );
  42.                     //    ADDWORD    ( pak, 0xcdcd );
  43.                     //    ADDBYTE    ( pak, monster->thisnpc->stance );
  44.                     //    GServer->SendToVisible(&pak, monster);
  45.                     //}
  46.  


aaaaaaaaand, now Zant works! ::glee::

i've not checked them all...going through that process tonight...but it seems that the vendors and quest givers all act like they're supposed to...

however, there's one small annoying thing...there seems to be no menu delay in talking to npc's...have to be really quick with the mouse button, or you'll find yourself three levels deep in the dialogue...but i'll search through the forums to see if that's come up before :D

thanks for your help...and patience :lol: