1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# Plan to build this out over time as necessary
DEFAULT_PLAYER = {
accountID: 0,
account: 'no_name',
name: 'no_name',
impLevel: 0
}
def db_insert_player(db_hash)
# anything in the hash overrides defaults
player = DEFAULT_PLAYER.merge(db_hash)
client = connect_to_db(@server_database)
query = "INSERT INTO [#{@server_database}].[dbo].[Player] ([notes], [accountID], [account], \
[name], [gender], [race], [classFullName], [classType], [visualKey], [alignment], [confRoom], \
[impLevel], \
[ancestor], [ancestorID], [facet], [land], [map], [xCord], [yCord], [zCord], [dirPointer], \
[stunned], [floating], [dead], [fighterSpecialization], [level], [exp], [hits], [hitsMax], \
[hitsAdjustment], [hitsDoctored], [stamina], [stamLeft], [staminaAdjustment], [mana], \
[manaMax], [manaAdjustment], [age], [roundsPlayed], [numKills], [numDeaths], [bankGold], \
[strength], [dexterity], [intelligence], [wisdom], [constitution], [charisma], [strengthAdd], \
[dexterityAdd], [birthday], [lastOnline], [deleteDate], [currentKarma], [lifetimeKarma], \
[lifetimeMarks], [pvpKills], [pvpDeaths], [playersKilled], [playersFlagged], [UW_hitsMax], \
[UW_hitsAdjustment], [UW_staminaMax], [UW_staminaAdjustment], [UW_manaMax], \
[UW_manaAdjustment], [UW_intestines], [UW_liver], [UW_lungs], [UW_stomach]) \
VALUES (N'', #{player[:accountID]}, \
N'#{player[:account]}', \
N'#{player[:name]}', \
1, N'Illyria', N'Fighter', \
N'Fighter', N'male_fighter_pc_brown', 1, 0, #{player[:impLevel]}, 0, 0, 0, 0, 0, 42, 27, 0, \
N'v', 0, 3, 0, N'None', 4, 4996, 36, 36, 0, 0, 10, 10, 0, 0, 0, 0, 806, 806, 8, \
0, 0, 17, 18, 10, 17, 8, 18, 1, 1, CAST(0x0000A4FC0001D163 AS DateTime), \
CAST(0x0000A4FC001A5F6A AS DateTime), CAST(0x0000979200000000 AS DateTime), \
0, 0, 0, 0, 0, N'', N'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)"
result = client.execute(query)
affected_rows = result.do
fail "Unable to insert player!" if 1 != affected_rows
end
|