View Single Post
  #2  
Old 10-25-2002, 10:59 PM
Xarslik
Hill Giant
 
Join Date: Oct 2002
Location: System.Web
Posts: 107
Default

As of now the starting point is read from the PlayerProfile struct created after the creation of your character. The current zone information is stored based upon the starting zone selected at the client. Right now there is no code that retrieves the starting point from a database variable, therefore you must edit the code manually and recompile if you wish to change the start point globally. However this does NOT change bind points.

Anyway, find the "CreateCharacter" method declaration (actual line is "bool Database::CreateCharacter(int32 account_id, PlayerProfile_Struct* pp) {"), and within it look for:
Code:
    end += sprintf(end, "UPDATE character_ SET zonename=\'%s\', x = %f, y = %f, z = %f, profile=", GetZoneName(pp->current_zone), pp->x, pp->y, pp->z);
Then, comment out\remove the "GetZoneName(pp->current_zone)" part, and replace it with the zone's short name (eg "arena"). Then if you wish to change the location you start in it, change pp->x, pp->y, and pp->z to the new loc. So, for example, if you wanted to set the start zone as Temple of Veeshan, at /loc 1030, -100, 50 - you would use the following code:
Code:
end += sprintf(end, "UPDATE character_ SET zonename=\'%s\', x = %f, y = %f, z = %f, profile=", "templeveeshan", -100.0f, 1030.0f, 50.0f);
Hope that helps.
__________________
~ Xarslik
[ Xarslik's Arena Challenge Server ]
Reply With Quote