From 0403b685a98f194ba0f43d65a3b7a679bba13da4 Mon Sep 17 00:00:00 2001 From: RedSparr0w Date: Wed, 26 Feb 2020 12:34:36 +1300 Subject: [PATCH] Add timePlayed to playerDetails --- .../entity/player/info/PlayerDetails.class | Bin 7232 -> 7441 bytes .../player/info/portal/PlayerSQLManager.class | Bin 8973 -> 9043 bytes .../entity/player/info/PlayerDetails.java | 25 ++++++++++++++++-- .../player/info/portal/PlayerSQLManager.java | 3 ++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/CompiledServer/production/RS-2009/org/crandor/game/node/entity/player/info/PlayerDetails.class b/CompiledServer/production/RS-2009/org/crandor/game/node/entity/player/info/PlayerDetails.class index 83cf566203ac621393a4ceb1c35a64170c77a232..ba559d6350e0f27e794026ddf7dfcabb2dd04741 100644 GIT binary patch literal 7441 zcmbtY3wT^b75*pL>~1zUZL>{VXek8!3h6dcpdx}I_{2B95ET{Q;1hxW%-rtYy}2nVG~YLKX6~GS z{_~hKvwh@+d+rCYL`7p*hn*4J9zzX2SC2#R`3QE!P=}o|xFdo)V~CnBUx?tY7#hr% z(YhDif3j{&n%(u-gS$n#N1DCT+#ADvxL>3%#@KvGw)wIQ9}wv)5j-fzl`EnGW}!}zn1=~D1H;gZ$=cGez97Zg^fa)p6pU%}4y=L*RIdnldE=K9mgbhhM_Mw0oAJ(4aY zo$R@}WIk6Y*_mXwp6Wd<vZ=E}$Wu2uTuc|T^oBw_wcWnJPG;=vK(e<~ zaIypPJ#QC_7v>863bn%yTh*yhpRtRjRBph@a=f07E;&PK?Jh2e4h@&m8#$p6*=A>r z6wcd)Vp`Oow{nd>zlxh}lS$vUMK3P-k%_wx9e`I{NlHB3*1sVOI$ z-Y`70EnV1XZ_DU7<@)T*X1n0X*qscO1|53zgen&M&2p389qE$oWQwFXBY>IksMDci z_*>^Qc8$FyyYIX%JHKz=qJ055#Rk$P7fK-&g!IaZMfwd#mLR5{Q|wL`hF05jdDJPg z&q`Xw%ybu1k3n&YB5<0k-FVZHLeT_&vz-~{I$FeJo>DB&o19wNI(e=ENu^^~(%Cts zvZaAOsdfIV!lrG6lw+^3;uT_SO&<$MOT`r0Z+-Os|gf?@hfFc@}MN&M& z)YU?$wNqp9Lj{ZZ-0hZ0iA|T?x2nItz#76$IpzhD-=HhC#ZhOz{82pKn`Sx4nEWvJ z(h{H5`z;2Q3t^hssdCFHv!x*$udzO^{6%5qt9`Wy&R;E@j8hbj9|tzMC|c+QJ$2$Z^_K}= zrQBF}9a0KMPa45ZNDE!qU|}ORS=fwC5&X@<-|+?uXGn7@x-FcB?g;*2;aQAW=s~X- z+;8DLWGrmKRts72<8hPTxhfO_wmpL9Ec_GyvT(Xk__u}s;3f2lMoQ-o7X8Fs+>R~6-FAvq(RRmhjs61kqTdGFY zN)u9OZfmJ}U&^6h&hy{aB5z6~$-9tJLtD$RTcXTp-*M0z}yvkqga(I)I4)(rlW=hZ6lQ*SS^_<-Bu3B$`-#-5GtgJtTH|Dsz)%$t<{y%S> z_%jaYuh4b;@j4B0DU_7rQt@=px}|&8A>Fg)u&fZsEDXA5$qilz+`wsT6pe{yOc}+r1gD!4cOpKD>4^oSXil_^Vn$-Y7-o)Q)*X81bJ;F}#deVU z&7>FR@UI0&Vjkz0@^1zIdaxD_eX^ZZ_dJ%p3BL;-MOC&vw_I zleoHu-y(?xYBvt5Y%l-C02C2MNyE-G%gV437gkAGcfooICL0};xC@~%9DE(^4{aUA z?45~P-SJy3#JDM%j2H&!ahl0>{NN?QZ^;kkFoUCk`X?mOVH;J%-mb3}k#^8FMv#AYN#s7mj#n0jt2g3e7j*@*RnApdPW}=8)AlIysw#7D&GpbE@t!U6|E8T5-e#R>*xVR$LWm#SFg{M+FkOx?Bmo zR?PNWacrRS2g*Ay(o9&$d8iu4FyFuVa*uwre6IMj!u5hrKjGJ38>s)mvVM=d|19p` z`Y;*{jRm`8IEFTX^W31Si?`MWOjX?;*jb(u#QS(E5&0u0nBP%;ey4kYD)xOC*Sh*% z=QjG4&+#Z%iq3VoK0rC*R~`&h{s?XeP+sU)&Ic-g6gRrcRYz>0|A<}0N^hMUSn#n*akjTyWxU0N^;gk1cIB^)?f_@^GlgJel5Ruoc5cxzP zktRQpD+7t#5=^AYPvlw>xo!d?@|+eTpA5#D=f}EYvh>7#~GPrXL0;^BR8{)pJ3z}A}=-atTCJzZ#VL^F)WKOH}X7@R~UKr y7*2|>H1c%8TxDcFVHU?%8+oC~YmChLvN+yBc?@g)=j%R?@Aj0--e+|3fA%F3vT+mu literal 7232 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 delta 2811 zcmb7FX<${w75=`w_cAy4jU+rFA%KB^5KZzBG^HQ~V}M|QM3x|gMP*eG5|*%-B3Hr^ z1%t~Im4Hc*O&~%ra!EiDs)lM;YZvWa+giJ;U2UW7nR{O__Fw;;Ioq5$=bJNU-YTpu zbl&*%?0EorJY{1ojwu{hXtMB}!U-DzoV3tv;gp5vEwos8LE*Fo*I3S2XtmI0;jD#o z3NKoC$-;RHFI%`^;i84FD7<3fRSU0KXt!|5!dET4Zs83JU$gLa8wvPEl7mWoGfBv| z6uxaE3vb%^4&JiyU3|~R_wfVc_O?0i9UHyzLu2@nAwRYe!cT1c6hAZK&kgy7jd$@& zLw;rB*Lct9eq-Z({MK;4v+;ZU!Ek>xXZ*>=pYefX4*Af=NBE14zv6G^q`w>SAI9;Y z=FE?c_%9p(Hr9{OVdE2@`_#sNJdUtQCddv3#DzhdAtu^Xw2Usvrp>U8N@~MhVMsSa zl5ILE?5-HGQHEm{uauQNEcUdanQAf3$i2c$XYVlkuy2@GF~epG`x(+diJ2T=$Uuu% zTO4G}gKcK<8k^TL+gNfe=9*wpLxxzq&a6WX8K!u>B5!C>2}csr@)WA&(*azXv*p9?WfhvxOy`4Bw){(J6>f@9u-l(w- z>oqpuUg8FE%!p04(wr)MS#gx+mpEE+jOISF?&z z$41TjxJgl>-fuiNo88siqPSIa8@DUgXgp+;5AZ?79hw7nii8FY+h;lrQd0mXxwhj>`=h~~4{sdp#DIJjRV!{Xd5V%I z-j6l(d9PcrN!S2P(CeXNO?`(sCXn`B;(@k!KD<(tTd~cLgVFIg$>)$&mi+<-pTRY) z7=2276TEn4!~pZr4GX;F{Fuq{n8bF}_@Ts2d5PDwVoaTb?k1XxY*_}mxXCP$o-T58 zT;#jB*+qe;8sMwOx)|4r@txXUzP8ZCgickeue!xWQKu@+S50&=sZ$m4Rg)bT#a-eJ z^wn}oNvCHIUv;aCDK4gVYBNRasWV-}D)l{i*I(A_u9`>rq^Rp9et!$P&#a1iT1TjNA9+4`v?0XcCNgX4Qi5MOio2fN| zKnHAv-JhU9;R%H&LwHK`LD0b-L7@(NeGoWOHYbW{Q!5tNK|PNp&2cz{zpJ?mAb0;? zID`!XCR#MIv<=Gyu23uP$w_xYE|%{>+`OW>(@j$Fd!Z2Bg|CyO_6kZ*%Ui6MdKzR< z>_;ygz$lr{V{u4&<1k8b1ha5dUh6UGmgCYPP0}kTWcr-+5FF!|b{WA<*ynf>ST%{zhIHm$=f|=|7Y~a;`vl({v zk@Aw9cH~PJRn%jo-&oG*xYSrvE5ZO0IKZW19& zf`xO0UtNbjU0g-;nY#&CkBqK?8<89hbROiaDT!V}qNEmWzKprdQQ_O<2F?oJ=cJcj z#8A8>`SENs0#cs4qt(UM5uY34r`*n7{H$h~-2d~tQXM{_ThQc_8XuP1_dbZvZ65T$ So8S4|=4Ah)A)fWlIQn0n_)nk! diff --git a/Server/src/org/crandor/game/node/entity/player/info/PlayerDetails.java b/Server/src/org/crandor/game/node/entity/player/info/PlayerDetails.java index 2041b3cf6..b01eb1cc9 100644 --- a/Server/src/org/crandor/game/node/entity/player/info/PlayerDetails.java +++ b/Server/src/org/crandor/game/node/entity/player/info/PlayerDetails.java @@ -50,11 +50,16 @@ public class PlayerDetails { * The unique id of the account. */ private int uid; - + /** * The account's last game login. */ private long lastLogin = -1; + + /** + * The account's last game login. + */ + private long timePlayed = 0; /** * The time the player is muted for. @@ -370,7 +375,7 @@ public class PlayerDetails { public void setIcon(Icon icon) { this.icon = icon; } - + /** * Gets the lastLogin. * @return the lastLogin. @@ -386,6 +391,22 @@ public class PlayerDetails { public void setLastLogin(long lastLogin) { this.lastLogin = lastLogin; } + + /** + * Gets the timePlayed. + * @return the timePlayed. + */ + public long getTimePlayed() { + return timePlayed; + } + + /** + * Sets the timePlayed. + * @param timePlayed the timePlayed to set + */ + public void setTimePlayed(long timePlayed) { + this.timePlayed = timePlayed; + } /** * Sets the mute time. diff --git a/Server/src/org/crandor/game/node/entity/player/info/portal/PlayerSQLManager.java b/Server/src/org/crandor/game/node/entity/player/info/portal/PlayerSQLManager.java index d96bcb230..ce4b24abb 100644 --- a/Server/src/org/crandor/game/node/entity/player/info/portal/PlayerSQLManager.java +++ b/Server/src/org/crandor/game/node/entity/player/info/portal/PlayerSQLManager.java @@ -87,6 +87,7 @@ public final class PlayerSQLManager { details.setRights(Rights.forId((int) table.getColumn("rights").getValue())); details.setDonatorType(DonatorType.forId((int) table.getColumn("donatorType").getValue())); details.setLastLogin(System.currentTimeMillis()); + details.setTimePlayed((long) table.getColumn("timePlayed").getValue()); return true; } @@ -113,7 +114,7 @@ public final class PlayerSQLManager { table.getColumn("netWorth").updateValue(player.getMonitor().getNetworth()); table.getColumn("lastGameIp").updateValue(player.getDetails().getIpAddress()); table.getColumn("ironManMode").updateValue(player.getIronmanManager().getMode().name()); - table.getColumn("timePlayed").updateValue((long) table.getColumn("timePlayed").getValue() + (System.currentTimeMillis() - player.getDetails().getLastLogin())); + table.getColumn("timePlayed").updateValue(player.getDetails().getTimePlayed() + (System.currentTimeMillis() - player.getDetails().getLastLogin())); table.getColumn("ip").updateValue(getAddressLog((String) table.getColumn("ip").getValue(), details.getInfo().getIp())); table.getColumn("mac").updateValue(getAddressLog((String) table.getColumn("mac").getValue(), details.getInfo().getMac())); table.getColumn("serial").updateValue(getAddressLog((String) table.getColumn("serial").getValue(), details.getInfo().getSerial()));