
#1 = 50 bots (1000 polys .b3d models each - not seen on screen)
#2 = current polycount (and hey... only 10MB out of 64MB videomem used, doesn't show on screen)
#3 = main character

Type player ;---------------------------- game specific ;identification Field id Field side ;which side player takes (1=humans, 2=elves) Field run ;TRUE/FALSE - whether character is running or not Field charavailableflag ;whether player mouse clicks affect ground Field actionCurrent Field actionOld Field actionAvailableFlag ;TRUE/FALSE whether character is in combat or otherwise not controllable Field gravity# Field animationDeathDoneFlag ;indicates whether player has done death animation or not Field labelImage[2] ;player label in-game ;entities - everything which must be deleted after session (check out function playersDelete) Field pivot ;pivot Field ghostPivot ;ghost pivot - to determine other players' REAL positions Field mesh ;model Field walksoundloop Field shadowSprite ;player shadow ;linker (slot 0 is for warrior sprites) Field playerLink[256] Field playerLinkOld[256] Field linkerSprite[256] Field linkerFlag[256] Field linkerSpriteAlpha#[256] ;sets the alpha value of the linker sprite ;player race Field race ;0=none, 1=dwarf, 2=elf, 3=human, 4=dark elf Field race_new ;the race which character chooses as a new race ;player gui Field labelmodifier ;how many pixels left will the player name make the player label to appear (remember to change when changing player name in game) Field barModifier ;similar to label modifier... ;game stats Field ctr_side_change Field waypoint Field waypointReachedFlag ;equipment :: 1=right hand, 2=left hand, !!!3=back Field equipmentMesh[PLAYEREQUIPMENTSLOTAMOUNT] Field equipmentChildPointer[PLAYEREQUIPMENTSLOTAMOUNT] ;lefthand2, righthand2, !!!needs also "back" child bone Field equipmentTypeId[PLAYEREQUIPMENTSLOTAMOUNT] ;current equipment type IDs so that game knows what equipment to create in respawn place Field equipmentTypeIdOld[PLAYEREQUIPMENTSLOTAMOUNT] ;defines the ids before changing weapons on hands Field armorRating Field pick$ Field ticks ;each tick = 100 ms, this is used for testing flag capture for example ;battle Field target ;target player pivot Field target_id ;target player id Field target_side ;target side ;flags Field flag_moving ;check whether character is currently moving Field flag_capturing ;check whether character is currently capturing flagpoint Field flag_attacking ;check if attacking Field flagpointRespawnId ;the flagpoint player has chosen to be his respawn place ;network Field netmessagessent ;amount of packets sent ;game stats Field statDeaths ;how many times player was killed - MOST something... Field statSpentRPs ;how much resourcepoints spent - this can be used to count "player price" - how valuable for the team Field statIndividualkills ;how many individual (not part of group) kills - LONE WOLF MARK Field statAssistedkills ;how many kills done by some other group member - this can be used to count MOST VALUABLE LEADER Field statLoyaltykills ;how many kills under group leader - MOST LOYAL WARRIOR Field statTraitormarks ;how many times changed side - TRAITOR Field controlledTroopsCount ;how many member belong to your group ;some elements Field speedOriginal# Field speedCurrent# Field manaCurrent Field manaMax ;combat skills Field rank ;RANK_WARRIOR = 1, RANK_GROUPLEADER = 2 Field attributeStrengthCurrent Field attributeStrengthMax Field attributeConstitutionCurrent Field attributeConstitutionMax Field attributeMindCurrent Field attributeMindMax Field attributeDexterityCurrent Field attributeDexterityMax Field attributePerceptionCurrent Field attributePerceptionMax Field skillMeleeAttackOriginal Field skillMeleeDefenseOriginal Field skillMeleeDamageOriginal Field skillBowAttackOriginal Field skillBowDamageOriginal Field skillMeleeAttackCurrent Field skillMeleeDefenseCurrent Field skillMeleeDamageCurrent Field skillBowAttackCurrent Field skillBowDamageCurrent Field hitpointsCurrent Field hitpointsMax Field hitpointsLost Field moraleCurrent Field bonusLeadership Field combatAvailableFlag Field combatTicks ;-----------------rpg elements ;role thingies Field name$ ;attributes Field foodpoints Field foodpointsmax Field carrypoints Field endurance_points Field endurance_delay ;knowledge Field booklore Field itemlore Field animallore Field weaponlore End Type
!!!add here identification for PLAYER ID = CURRENT ID (so that sprites are made for own player only) For i=0 To 256 f\linkerSprite[i] = CreateSprite() : EntityColor f\linkerSprite[i], 20, 250, 20 : SpriteViewMode f\linkerSprite[i], 2 : EntityAlpha f\linkerSprite[i],0 : EntityOrder f\linkerSprite[i], -1 f\linkerFlag[i] = 0 Next
If (f\id = g_player_id)
GAME LOGIC (LOOPS ETC.) TAKEN OFF 2ms before updateworld (game logic) 8ms after updateworld 32ms after renderworld GAME LOGIC (LOOPS ETC.) ON 2ms before updateworld (game logic) 8ms after updateworld 32ms after renderworld