hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 10:49



Jelenlévő felhasználók

Jelenleg 260 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 259 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Player Infó
HozzászólásElküldve: 2014.03.29. 16:59 
Offline
Felfüggesztve
Avatar

Csatlakozott: 2013.06.09. 18:47
Hozzászólások: 2004
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 220 alkalommal
Üdv!


Egy egyszerű kérdést szeretnék feltenni kedves motomoto.


Hogyan tudok kiírni Játékos infót játékosoknak?


PL.: Mindenki saját magának lássa az Infóit.

Infók amiket le kellene kérni:

Játékos neve: xy
Steam ID: xy
User ID: xy
KM/h: xy
Mennyi métert tettem meg?: xy
Ölések: xy
Lövések: xy
Fejlövés: xy
Késsel öltem: xy
Hányszor ugrottam?: xy
Hányszor álltam spectatorba?: xy

Ezek kellenének bele.
A hely mindegy, csak fehérrel írja ezeket az infókat. Ahogy hallottam, értesz EventScripthez, ez sem fog problémát okozni. :)

Köszönöm előre is :)

_________________
Ha elnyerte valamelyik témában a hozzászólásom a tetszésedet melyet olvastál, akkor egy egyszerű gombnyomással kifejezheted, hogy tetszett.

Ők köszönték meg Anonymous1337 nek ezt a hozzászólást: motomoto (2014.05.11. 10:16)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Player Infó
HozzászólásElküldve: 2014.03.29. 17:33 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2011.09.18. 13:01
Hozzászólások: 4270
Megköszönt másnak: 55 alkalommal
Megköszönték neki: 513 alkalommal
Fingom sincs miez de hasonlit a kep szerint amit kertel :)

Eventscripts Forráskód: [ Mindet kijelol ]
  1. from es import AddonInfo, ServerVar, addons, getplayerhandle, getplayerprop, getplayersteamid, getplayername, getplayerlocation, getuserid, doblock
  2. from repeat import create as repeat_create
  3. from usermsg import keyhint
  4. from playerlib import getUseridList
  5. from cfglib import AddonCFG
  6.  
  7. class PlayerInfo(object):
  8. def __init__(self, userid):
  9. self.userid = int(userid)
  10. self.name = getplayername(self.userid)
  11. self.steamid = getplayersteamid(self.userid)
  12. self.resetAttributes()
  13. def resetAttributes(self):
  14. self.kills = 0
  15. self.shots = 0
  16. self.headshots = 0
  17. self.knife_kills = 0
  18. self.jumps = 0
  19. self.max_speed = 0
  20. self.walked_distance = 0
  21. self._old_location = None
  22. def calculateDistance(self):
  23. new_location = getplayerlocation(self.userid)
  24. if not self._old_location:
  25. self._old_location = new_location
  26. return
  27. if new_location == self._old_location:
  28. return
  29. self.walked_distance += getDistance(self._old_location, new_location)
  30. self._old_location = new_location
  31. def getSpeed(self):
  32. self._x = getplayerprop(self.userid,'CBasePlayer.localdata.m_vecVelocity[0]')
  33. self._y = getplayerprop(self.userid,'CBasePlayer.localdata.m_vecVelocity[1]')
  34. self._z = getplayerprop(self.userid,'CBasePlayer.localdata.m_vecVelocity[2]')
  35. self._speed = int(round((self._x*self._x + self._y*self._y + self._z*self._z)**0.5, 2) / float(37) * 1.6)
  36. if self._speed > self.max_speed:
  37. self.max_speed = self._speed
  38. return "%s Km/h" %self._speed
  39. def getSpecs(self):
  40. return getSpecs(self.userid)
  41. def getPlayerInfo(self):
  42. self._player_info_dict = {
  43. "player" : self.name,
  44. "steamid" : self.steamid,
  45. "userid" : self.userid,
  46. "speed" : self.speed,
  47. "max_speed" : "%s Km/h" %self.max_speed,
  48. "walked_distance" : "%s Meters" %round(self.walked_distance, 2),
  49. "specs" : self.specs,
  50. "kills" : self.kills,
  51. "shots" : self.shots,
  52. "headshots" : self.headshots,
  53. "knife_kills" : self.knife_kills,
  54. "jumps" : self.jumps
  55. }
  56. return self._player_info_dict
  57. specs = property(getSpecs)
  58. speed = property(getSpeed)
  59. player_info_dict = property(getPlayerInfo)
  60.  
  61.  
  62. info = AddonInfo()
  63. info.name = 'Info Display'
  64. info.version = 1.3
  65. info.basename = 'info_display'
  66. info.url = 'http://addons.eventscripts.com/addons/view/info_display'
  67. info.author = 'Dead Man Walker'
  68.  
  69. player_info = {}
  70.  
  71. PLAYER_INFO_ITEMS = [
  72. "player",
  73. "steamid",
  74. "userid",
  75. "speed",
  76. "max_speed",
  77. "walked_distance",
  78. "specs",
  79. "kills",
  80. "shots",
  81. "headshots",
  82. "knife_kills",
  83. "jumps"
  84. ]
  85.  
  86. def load():
  87. global loop_players
  88. createCfg()
  89. doblock('corelib/noisy_on')
  90. loop_players = repeat_create('loop_players', loopPlayers)
  91. loop_players.start(LOOP_INTERVAL, 0)
  92. for userid in getUseridList('#alive'):
  93. player_info[userid] = PlayerInfo(userid)
  94.  
  95. def unload():
  96. if DISPLAYED_ITEMS:
  97. if "walked_distance" in DISPLAYED_ITEMS:
  98. addons.unregisterTickListener(loopDistance)
  99. loop_players.delete()
  100. doblock('corelib/noisy_off')
  101.  
  102. def es_map_start(event_var):
  103. if DISPLAYED_ITEMS:
  104. if "walked_distance" in DISPLAYED_ITEMS:
  105. addons.unregisterTickListener(loopDistance)
  106. createCfg()
  107. player_info.clear()
  108.  
  109. def player_spawn(event_var):
  110. userid = int(event_var['userid'])
  111. player_info[userid] = PlayerInfo(userid)
  112.  
  113. def round_start(event_var):
  114. for inst in player_info.values():
  115. inst.resetAttributes()
  116.  
  117. def weapon_fire(event_var):
  118. if event_var['weapon'] != "knife":
  119. userid = int(event_var['userid'])
  120. player_info[userid].shots += 1
  121.  
  122. def player_hurt(event_var):
  123. victim = int(event_var['userid'])
  124. attacker = int(event_var['attacker'])
  125. from es import msg
  126. if attacker not in (victim, 0) and getplayerprop(victim, "CCSPlayer.baseclass.pl.deadflag"):
  127. player_info[attacker].kills += 1
  128. if event_var['hitgroup'] == '1':
  129. player_info[attacker].headshots += 1
  130. if event_var['weapon'] == 'knife':
  131. player_info[attacker].knife_kills += 1
  132.  
  133. def player_jump(event_var):
  134. userid = int(event_var['userid'])
  135. player_info[userid].jumps += 1
  136.  
  137. def player_changename(event_var):
  138. player_info[int(event_var['userid'])].name = event_var['newname']
  139.  
  140.  
  141. def getDistance(loc1, loc2):
  142. return (sum((loc1[x] - loc2[x]) ** 2 for x in xrange(3)) ** 0.5)* 0.0254
  143.  
  144. def getSpec(index):
  145. for userid in filter(lambda temp: not getplayerprop(temp, "CCSPlayer.baseclass.pl.deadflag"), getUseridList('#all')):
  146. if getplayerhandle(userid) == index:
  147. return userid
  148. return -1
  149.  
  150. def getSpecs(player):
  151. specs = set()
  152. for userid in getUseridList('#human,#dead'):
  153. if getplayerprop(userid, 'CBasePlayer.m_hObserverTarget'):
  154. speced_userid = getuserid(getplayerprop(userid, 'CBasePlayer.m_hObserverTarget'))
  155. if player == speced_userid:
  156. specs.add(getplayername(userid))
  157. specs_str = ""
  158. for name in specs:
  159. specs_str += "\n - " + name
  160. if not specs_str:
  161. specs_str = 0
  162. return specs_str
  163.  
  164. def display(display_player, player):
  165. if not DISPLAYED_ITEMS:
  166. return
  167. if player not in player_info:
  168. return
  169. player_info_string = ""
  170. for item in DISPLAYED_ITEMS:
  171. player_info_string += '\n%s: %s' %(item.replace('_', ' ').capitalize(), player_info[player].player_info_dict[item])
  172. keyhint(display_player, player_info_string)
  173.  
  174. def loopPlayers():
  175. userid_list = getUseridList('#all')
  176. if not userid_list:
  177. return
  178. for player in userid_list:
  179. if getplayerprop(player, "CCSPlayer.baseclass.pl.deadflag"):
  180. target = getSpec(getplayerprop(player, 'CBasePlayer.m_hObserverTarget'))
  181. if target == -1:
  182. continue
  183. display(player, target)
  184. else:
  185. display(player, player)
  186.  
  187. def loopDistance():
  188. for inst in player_info.values():
  189. inst.calculateDistance()
  190.  
  191. def createCfg():
  192. global LOOP_INTERVAL, DISPLAYED_ITEMS
  193. LOOP_INTERVAL = 0.1
  194. cfg = AddonCFG(ServerVar('eventscripts_gamedir') + "/cfg/" + info.basename + ".cfg")
  195. cfg.text("*****************************************************************")
  196. cfg.text("*** Info Display Config")
  197. cfg.text("*****************************************************************")
  198. cfg.text(' ')
  199. CFG_DISPLAYED_ITEMS = str(cfg.cvar('displayed_items', "", 'Type in the chosen items of the list below in the order at which they will be displayed. Seperate with a semicolon (;)'))
  200. LOOP_INTERVAL = float(cfg.cvar('loop_interval', 0.2, 'Interval to refresh the display'))
  201. cfg.text(' ')
  202. cfg.text('List of items:')
  203. for item in PLAYER_INFO_ITEMS:
  204. cfg.text('-' + item)
  205. cfg.write()
  206. cfg.execute()
  207.  
  208. if CFG_DISPLAYED_ITEMS.strip():
  209. DISPLAYED_ITEMS = CFG_DISPLAYED_ITEMS.strip().split(';')
  210. for item in DISPLAYED_ITEMS:
  211. if not item:
  212. DISPLAYED_ITEMS.remove(item)
  213. continue
  214. if item not in PLAYER_INFO_ITEMS:
  215. DISPLAYED_ITEMS.remove(item)
  216. if "walked_distance" in DISPLAYED_ITEMS:
  217. addons.registerTickListener(loopDistance)
  218. else:
  219. DISPLAYED_ITEMS = False
  220.  
  221.  
  222.  

_________________
Idk. Csak ugy funbooo.
Kép

Ők köszönték meg DeteCT0R nek ezt a hozzászólást: motomoto (2014.05.11. 10:16)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Player Infó
HozzászólásElküldve: 2014.03.29. 20:12 
Offline
Tud valamit
Avatar

Csatlakozott: 2013.04.01. 12:11
Hozzászólások: 119
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 16 alkalommal
Öcsém mennyi baromságot kértél... állítom neked, hogy ez csak amolyan "mit tud motomoto" féle kérdés.
User ID Steam ID egy kutya.
Nem hiszem hogy az ilyen specis eszement dolgokat lehet eventel számoltatni.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Player Infó
HozzászólásElküldve: 2014.05.10. 21:06 
Offline
Beavatott
Avatar

Csatlakozott: 2013.08.12. 16:32
Hozzászólások: 69
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 8 alkalommal
Na tehát először is bocsánat, hogy sokáig nem válaszolok csak mostanában nem is nagyon cs-tem de most itt vagyok és irkálok :)
amit tudok megteszek megnézem, az infókat hogy szeretnéd? táblába vagy chat-be?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Player Infó
HozzászólásElküldve: 2014.05.10. 21:15 
Offline
Beavatott
Avatar

Csatlakozott: 2013.08.12. 16:32
Hozzászólások: 69
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 8 alkalommal
név: es_tell event_var(name)
steam id: es_tell event_var(networkid)
useridvel mit akarsz? azt meg sem lehet jeleníteni, mivel az akkor kell ha a játékossal akarsz kezdeni valamit azt maga a játékos nem láthatja
km: http://addons.eventscripts.com/addons/view/tempoadvert
hányszor ugrottam: ez megint érdekes. Nem is tudom, hogy minek meg meg se tudom csinálni szint úgy a lövések száma.
fejlövés: azt is meglehet csinálni :)
késsel ölés azt is meglehet
hányszor álltam specbe: ez is furcsa és ezt se tudom sajna :)
ölések: ezt is meglehet.
de tulajdon képen mit szeretnél ezekkel mert igazából sokkal egyszerűbb leszedni egy multi menüt vagy a mani_admin_plugin-nak az adottságait ki használni amiket kértél 70%- a benne van :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Player Infó
HozzászólásElküldve: 2014.05.11. 00:21 
Offline
Felfüggesztve
Avatar

Csatlakozott: 2013.06.09. 18:47
Hozzászólások: 2004
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 220 alkalommal
Megírtam.


Tárgytalan.

_________________
Ha elnyerte valamelyik témában a hozzászólásom a tetszésedet melyet olvastál, akkor egy egyszerű gombnyomással kifejezheted, hogy tetszett.


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 6 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole