Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  

chronos

WoWResource Developer
  • Content count

    849
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by chronos

  1. Nove sidlo SDB & MoDB

    Původní SDB forum nejspíš už skončilo, ale SVN repozitář stále eixstuje, takže pokud chceš revizi 209, tak můžeš stáhnout full z http://opensvn.csie.org/NewSDB/ a aplikovat changesety. Full rev 208 je tady http://opensvn.csie.org/NewSDB/full/Full%2...angeset_208.zip a changeset je zde http://opensvn.csie.org/NewSDB/Changesets/...mangos_4439.sql.
  2. Potřebuješ sledovat dvě fóra: SilverDB - http://sdb.unix7.net/forums/ MaNGOS - http://www.mangosproject.org/ Tam najdeš odakzy na místa, odkud to stáhnout.
  3. Při logování do hry pád WoW

    Pokaždé, když se to u nás někomu stane, tak pomůže, když GM dá .namego <jméno hráče> a přesune ho jinam. Pak to tomu hráči normálně naběhne. Ale těch errorů může být více druhů.
  4. WoWResource - servery

    No osobně bych uvítal spíše systém načítání údajů o serverech přímo ze serverů. Takto, jak je to teď, je to dosti statické. Mělo by to probíhat formou XML souboru v nějaké definovaném formátu jako třeba: <?xml version="1.0" encoding="iso-8859-2"?> <server> <name>Free WoW server</name> <realm_host>realm1.no-ip.com</realm_host> <admin>Boss</admin> <homepage>http://wow.borec.cz/</homepage> <registration>http://wow.borec.cz/minimanager/</registration> <realm> <name>MaNGOS</name> <online>56</online> <max_online>150</max_online> <uptime>1264443</uptime> <version>2.1.3</version> <xp_rate>Normal</xp_rate> </realm> <realm> <name>MaNGOS Fun</name> <online>43</online> <max_online>50</max_online> <uptime>1264443</uptime> <version>2.0.12</version> <xp_rate>Very High</xp_rate> </realm> </server> Jednotlivé možné položky by se upřesnily a definoval formát dat. Používá se k tomu také nějaký předpisový soubor DTD a jiné. Tento systém by umožnil sledovat i dynamicky dění na wow serverech. Správci by si prostě změnili obsah souuboru u sebe a nemuseli by editovat nastavení na webu. K tomut systému by se pak vytvořil skript pro generování těchto dat pro různé emulátory. Byl by tedy jednotný systém pro načítání informacích o WoW serverech. Na každém serveru by mohl být pro úsporu soubor server_info.xml, který by obsahoval rozsáhlejší informace o serveru a načítal by se jenom třeba jednou za hodinu a pak soubor online.xml, který by se kontroloval třeba co 10 minut a obsahoval by buď jenom počet hráčů a pár dalších údajů nebo celý seznam hráčů jak tomu je u www.wowstatus.net, který používá ještě starý xml soubor z WoWEmu. Osobně si myslím, že tohle je ta správná cesta pro zobrazování statusu serverů. Jinak ten předchozí grafický styl se mi líbil více. Teď je to takové hrubé, neučesané. No a místo toho partnerského programu, kde je nutné se složitě registrovat by jste mohli spíš nabídnout nějaký banner zobrazujíécí online status jako na wowstatus.net. A není nutné ho přenášet jako obrázek, ale generovat na serverech pomocí PHP skriptu. No a pak už stačí jenom sledovat jaké bylo použité identifikační číslo a podle toho automaticky přidělovat hvězdičky. Stejně jako u reklamních systémů nebo systémmů pro sledovaní návštěvnosti stránek.
  5. Posledni updaty MaNGOSu

    S tím bych úplně nesouhlasil. Vždy záleží také v jaké formě je obsah databáze. Už od verze 4300 zamakali krutě na stabilitě, takže nám jel server bez pádu i celý den při 50 hráčích. Ovšem hned po aktualizaci to padalo co minutu dokud jsem nepromazal tabulku petů. Pak už to jelo solidně, ale přesto za určitých okolností to někteří hráči opakovaně shazovali. Ale neměl jsem sílu zjišťovat, kde je co špatně v databázi. Nyní jsem nahodil revizi 4393 a SDB 208 a jede už 5 hodin bez pádu tak věřím, že se to zase zlepšilo...
  6. System status

    Zajímavé, taky Virníka nemám rád, protože mě vyfakoval u něj ve foru, když jsem měl nějaké dotazy a připomínky k jeho návodu na rozjetí mangosu pod linuxem. Nakonec mi vynadal a to forum uzamkl. No MRTG jsem taky nějak nerozjel a přišlo mi to docela unixově uchylné. PHP sice na takové věci není primárně určené, ale kdo se má furt učit další jazyka na nějaké shellové skripty... Zjištění zatížení CPU jsem hledal nějakou dobu na inetu než jsem našel nějaký příklad. function CpuUsage() { global $cpuIDLEprev, $cpuSYSTprev, $cpuUSERprev; // get processor usage seconds for pct stats ### $File = fopen('/proc/stat', 'r'); $Row = fgets($File); fclose($File); $Parts = explode(' ', $Row); $cpuUSER = $Parts[2] + $Parts[3]; $cpuSYST = $Parts[4]; $cpuIDLE = $Parts[5]; $cpuUSERdiff = ($cpuUSER - $cpuUSERprev); $cpuSYSTdiff = ($cpuSYST - $cpuSYSTprev); $cpuIDLEdiff = ($cpuIDLE - $cpuIDLEprev); $cpuIDLEdiffTOTAL = (($cpuUSERdiff + $cpuSYSTdiff) + $cpuIDLEdiff); if ($cpuIDLEdiffTOTAL > 0) { $cpuUSERcent = ($cpuUSERdiff / $cpuIDLEdiffTOTAL) * 100; $cpuSYSTcent = ($cpuSYSTdiff / $cpuIDLEdiffTOTAL) * 100; $cpuIDLEcent = ($cpuIDLEdiff / $cpuIDLEdiffTOTAL * 100); } else { $cpuUSERcent=0; $cpuSYSTcent=0; $cpuIDLEcent=0; } $cpuUSERprev=$cpuUSER; $cpuSYSTprev=$cpuSYST; $cpuIDLEprev=$cpuIDLE; return(100-round($cpuIDLEcent*100)/100); } U paměti je to poněkud diskutabilní, protože linux ti řekne několik různých údajů. Na zobrazení vytížení paměti přes konzolu je dobrý příkaz htop. Jinak co se mi osvědčilo jako nejspíš správné je zde: function MemoryUsage() { $Output = array(); exec('free -m', $Output); $Row = $Output[2]; while(strpos($Row, ' ') !== false) $Row = str_replace(' ', ' ', $Row); // Zkrati dlouhe mezery na jednoznakove $RowParts = explode(' ', $Row); return($RowParts[2]); } Volné místo na disku zjišťuju přes funkci disk_free_space('/'); Počet hráčů online přes: $Database->query('SELECT COUNT(*) FROM account WHERE online=1'); A ještě tu mám jeden takový svůj nedokonalý skript na zjišťování zatížení sítě: function GetNetworkStat() { // Get last values $File = fopen('/tmp/traffic', 'r'); $LastResult = unserialize(fgets($File)); fclose($File); $Result = array('time' => time()); $Output = array(); exec('cat /proc/net/dev', $Output); array_shift($Output); array_shift($Output); foreach($Output as $Item) { while(strpos($Item, ' ') !== false) $Item = str_replace(' ', ' ', $Item); $Item = explode(':', $Item); $Interface = trim($Item[0]); $Item = explode(' ', trim($Item[1])); $Period = time() - $LastResult['time']; $Result[$Interface] = array('down' => $Item[0], 'up' => $Item[8]); $Result[$Interface]['down_avg'] = round(($Result[$Interface]['down'] - $LastResult[$Interface]['down']) / $Period); $Result[$Interface]['up_avg'] = round(($Result[$Interface]['up'] - $LastResult[$Interface]['up']) / $Period); if($Result[$Interface]['down_avg'] < 0) $Result[$Interface]['down_avg'] = 0; if($Result[$Interface]['up_avg'] < 0) $Result[$Interface]['up_avg'] = 0; } // Save last values $File = fopen('/tmp/traffic', 'w+'); fputs($File, serialize($Result)); fclose($File); return($Result); } Načítá to všechny rozhranní a mezi měřením dávám Sleep(60), ale dělí se tam uběhnutým časem, takže může být i jiný čas. Mezivýsledky to ukládá do tempu, aby ten skript šel spouštět opakovaně, ale může si to mezivýsledky pamatovat i v proměnných, když si to někdo předělá. No a jako výsledek to vrací pole, kde se dají hodnoty vyčíst třeba jako $NetworkStat = GetNetworkStat(); echo($NetworkStat['eth0']['up_avg']); echo($NetworkStat['eth0']['down_avg']); Si to předělej jak uznáš za vhodné. Snad ti to nějak pomůže
  7. System status

    No já to třeba láduju do databáze přes PHP, což může někomu připadat nechutné, ale je to funkční. K nahlédnutí je to zde: http://game-server.zdechov.net/statistic/?Measure=5. Když běžel server na windows xp, tak jsem to tam tlačil přes Delphi. Jinak doporučuju začít stáhnutím už hotových systému jako je MRTG. Pak se ti podaří něco podobného jako má jeden maník na serveru http://wow.fakaheda.eu/mrtg/. Hodně štestí...
  8. [php - mysql] Zjištění levelu hráče

    Tyhle údaje najdeš ve zdrojových kódech v souboru src/game/UpdateFields.h. Ale některé položky se tam přepočítávají z počátečních indexů. Nedávno jsem si to přepočítával pro verzi 2.1.3. Při čtení z databáze je však potřeba k těm číslům přičíst jedničku. Pak třeba UNIT_FIELD_LEVEL je místo 34 přes databázi index 35. Plný seznam je zde: OBJECT_FIELD_GUID 0 OBJECT_FIELD_TYPE 2 OBJECT_FIELD_ENTRY 3 OBJECT_FIELD_SCALE_X 4 OBJECT_FIELD_PADDING 5 OBJECT_END 6 ITEM_FIELD_OWNER 6 ITEM_FIELD_CONTAINED 8 ITEM_FIELD_CREATOR 10 ITEM_FIELD_GIFTCREATOR 12 ITEM_FIELD_STACK_COUNT 14 ITEM_FIELD_DURATION 15 ITEM_FIELD_SPELL_CHARGES 16 ITEM_FIELD_FLAGS 21 ITEM_FIELD_ENCHANTMENT 22 ITEM_FIELD_PROPERTY_SEED 55 ITEM_FIELD_SUFFIX_FACTOR 55 ITEM_FIELD_RANDOM_PROPERTIES_ID 56 ITEM_FIELD_ITEM_TEXT_ID 57 ITEM_FIELD_DURABILITY 58 ITEM_FIELD_MAXDURABILITY 59 ITEM_END 60 CONTAINER_FIELD_NUM_SLOTS 60 CONTAINER_ALIGN_PAD 61 CONTAINER_FIELD_SLOT_1 62 CONTAINER_END 134 UNIT_FIELD_CHARM 6 UNIT_FIELD_SUMMON 8 UNIT_FIELD_CHARMEDBY 10 UNIT_FIELD_SUMMONEDBY 12 UNIT_FIELD_CREATEDBY 14 UNIT_FIELD_TARGET 16 UNIT_FIELD_PERSUADED 18 UNIT_FIELD_CHANNEL_OBJECT 20 UNIT_FIELD_HEALTH 22 UNIT_FIELD_POWER1 23 UNIT_FIELD_POWER2 24 UNIT_FIELD_POWER3 25 UNIT_FIELD_POWER4 26 UNIT_FIELD_POWER5 27 UNIT_FIELD_MAXHEALTH 28 UNIT_FIELD_MAXPOWER1 29 UNIT_FIELD_MAXPOWER2 30 UNIT_FIELD_MAXPOWER3 31 UNIT_FIELD_MAXPOWER4 32 UNIT_FIELD_MAXPOWER5 33 UNIT_FIELD_LEVEL 34 UNIT_FIELD_FACTIONTEMPLATE 35 UNIT_FIELD_BYTES_0 36 UNIT_VIRTUAL_ITEM_SLOT_DISPLAY 37 UNIT_VIRTUAL_ITEM_INFO 40 UNIT_FIELD_FLAGS 46 UNIT_FIELD_FLAGS_2 47 UNIT_FIELD_AURA 48 UNIT_FIELD_AURAFLAGS 104 UNIT_FIELD_AURALEVELS 111 UNIT_FIELD_AURAAPPLICATIONS 125 UNIT_FIELD_AURASTATE 139 UNIT_FIELD_BASEATTACKTIME 140 UNIT_FIELD_OFFHANDATTACKTIME 141 UNIT_FIELD_RANGEDATTACKTIME 142 UNIT_FIELD_BOUNDINGRADIUS 143 UNIT_FIELD_COMBATREACH 144 UNIT_FIELD_DISPLAYID 145 UNIT_FIELD_NATIVEDISPLAYID 146 UNIT_FIELD_MOUNTDISPLAYID 147 UNIT_FIELD_MINDAMAGE 148 UNIT_FIELD_MAXDAMAGE 149 UNIT_FIELD_MINOFFHANDDAMAGE 150 UNIT_FIELD_MAXOFFHANDDAMAGE 151 UNIT_FIELD_BYTES_1 152 UNIT_FIELD_PETNUMBER 153 UNIT_FIELD_PET_NAME_TIMESTAMP 154 UNIT_FIELD_PETEXPERIENCE 155 UNIT_FIELD_PETNEXTLEVELEXP 156 UNIT_DYNAMIC_FLAGS 157 UNIT_CHANNEL_SPELL 158 UNIT_MOD_CAST_SPEED 159 UNIT_CREATED_BY_SPELL 160 UNIT_NPC_FLAGS 161 UNIT_NPC_EMOTESTATE 162 UNIT_TRAINING_POINTS 163 UNIT_FIELD_STAT0 164 UNIT_FIELD_STAT1 165 UNIT_FIELD_STAT2 166 UNIT_FIELD_STAT3 167 UNIT_FIELD_STAT4 168 UNIT_FIELD_POSSTAT0 169 UNIT_FIELD_POSSTAT1 170 UNIT_FIELD_POSSTAT2 171 UNIT_FIELD_POSSTAT3 172 UNIT_FIELD_POSSTAT4 173 UNIT_FIELD_NEGSTAT0 174 UNIT_FIELD_NEGSTAT1 175 UNIT_FIELD_NEGSTAT2 176 UNIT_FIELD_NEGSTAT3 177 UNIT_FIELD_NEGSTAT4 178 UNIT_FIELD_RESISTANCES 179 UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE 186 UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE 193 UNIT_FIELD_BASE_MANA 200 UNIT_FIELD_BASE_HEALTH 201 UNIT_FIELD_BYTES_2 202 UNIT_FIELD_ATTACK_POWER 203 UNIT_FIELD_ATTACK_POWER_MODS 204 UNIT_FIELD_ATTACK_POWER_MULTIPLIER 205 UNIT_FIELD_RANGED_ATTACK_POWER 206 UNIT_FIELD_RANGED_ATTACK_POWER_MODS 207 UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER 208 UNIT_FIELD_MINRANGEDDAMAGE 209 UNIT_FIELD_MAXRANGEDDAMAGE 210 UNIT_FIELD_POWER_COST_MODIFIER 211 UNIT_FIELD_POWER_COST_MULTIPLIER 218 UNIT_FIELD_PADDING 225 UNIT_END 226 PLAYER_DUEL_ARBITER 226 PLAYER_FLAGS 228 PLAYER_GUILDID 229 PLAYER_GUILDRANK 230 PLAYER_BYTES 231 PLAYER_BYTES_2 232 PLAYER_BYTES_3 233 PLAYER_DUEL_TEAM 234 PLAYER_GUILD_TIMESTAMP 235 PLAYER_QUEST_LOG_1_1 236 PLAYER_QUEST_LOG_1_2 237 PLAYER_QUEST_LOG_2_1 239 PLAYER_QUEST_LOG_2_2 240 PLAYER_QUEST_LOG_3_1 242 PLAYER_QUEST_LOG_3_2 243 PLAYER_QUEST_LOG_4_1 245 PLAYER_QUEST_LOG_4_2 246 PLAYER_QUEST_LOG_5_1 248 PLAYER_QUEST_LOG_5_2 249 PLAYER_QUEST_LOG_6_1 251 PLAYER_QUEST_LOG_6_2 252 PLAYER_QUEST_LOG_7_1 254 PLAYER_QUEST_LOG_7_2 255 PLAYER_QUEST_LOG_8_1 257 PLAYER_QUEST_LOG_8_2 258 PLAYER_QUEST_LOG_9_1 260 PLAYER_QUEST_LOG_9_2 261 PLAYER_QUEST_LOG_10_1 263 PLAYER_QUEST_LOG_10_2 264 PLAYER_QUEST_LOG_11_1 266 PLAYER_QUEST_LOG_11_2 267 PLAYER_QUEST_LOG_12_1 269 PLAYER_QUEST_LOG_12_2 270 PLAYER_QUEST_LOG_13_1 272 PLAYER_QUEST_LOG_13_2 273 PLAYER_QUEST_LOG_14_1 275 PLAYER_QUEST_LOG_14_2 276 PLAYER_QUEST_LOG_15_1 278 PLAYER_QUEST_LOG_15_2 279 PLAYER_QUEST_LOG_16_1 281 PLAYER_QUEST_LOG_16_2 282 PLAYER_QUEST_LOG_17_1 284 PLAYER_QUEST_LOG_17_2 285 PLAYER_QUEST_LOG_18_1 287 PLAYER_QUEST_LOG_18_2 288 PLAYER_QUEST_LOG_19_1 290 PLAYER_QUEST_LOG_19_2 291 PLAYER_QUEST_LOG_20_1 293 PLAYER_QUEST_LOG_20_2 294 PLAYER_QUEST_LOG_21_1 296 PLAYER_QUEST_LOG_21_2 297 PLAYER_QUEST_LOG_22_1 299 PLAYER_QUEST_LOG_22_2 300 PLAYER_QUEST_LOG_23_1 302 PLAYER_QUEST_LOG_23_2 303 PLAYER_QUEST_LOG_24_1 305 PLAYER_QUEST_LOG_24_2 306 PLAYER_QUEST_LOG_25_1 308 PLAYER_QUEST_LOG_25_2 309 PLAYER_VISIBLE_ITEM_1_CREATOR 311 PLAYER_VISIBLE_ITEM_1_0 313 PLAYER_VISIBLE_ITEM_1_PROPERTIES 325 PLAYER_VISIBLE_ITEM_1_PAD 326 PLAYER_VISIBLE_ITEM_2_CREATOR 327 PLAYER_VISIBLE_ITEM_2_0 329 PLAYER_VISIBLE_ITEM_2_PROPERTIES 341 PLAYER_VISIBLE_ITEM_2_PAD 342 PLAYER_VISIBLE_ITEM_3_CREATOR 343 PLAYER_VISIBLE_ITEM_3_0 345 PLAYER_VISIBLE_ITEM_3_PROPERTIES 357 PLAYER_VISIBLE_ITEM_3_PAD 358 PLAYER_VISIBLE_ITEM_4_CREATOR 359 PLAYER_VISIBLE_ITEM_4_0 361 PLAYER_VISIBLE_ITEM_4_PROPERTIES 373 PLAYER_VISIBLE_ITEM_4_PAD 374 PLAYER_VISIBLE_ITEM_5_CREATOR 375 PLAYER_VISIBLE_ITEM_5_0 377 PLAYER_VISIBLE_ITEM_5_PROPERTIES 389 PLAYER_VISIBLE_ITEM_5_PAD 390 PLAYER_VISIBLE_ITEM_6_CREATOR 391 PLAYER_VISIBLE_ITEM_6_0 393 PLAYER_VISIBLE_ITEM_6_PROPERTIES 405 PLAYER_VISIBLE_ITEM_6_PAD 406 PLAYER_VISIBLE_ITEM_7_CREATOR 407 PLAYER_VISIBLE_ITEM_7_0 409 PLAYER_VISIBLE_ITEM_7_PROPERTIES 421 PLAYER_VISIBLE_ITEM_7_PAD 422 PLAYER_VISIBLE_ITEM_8_CREATOR 423 PLAYER_VISIBLE_ITEM_8_0 425 PLAYER_VISIBLE_ITEM_8_PROPERTIES 437 PLAYER_VISIBLE_ITEM_8_PAD 438 PLAYER_VISIBLE_ITEM_9_CREATOR 439 PLAYER_VISIBLE_ITEM_9_0 441 PLAYER_VISIBLE_ITEM_9_PROPERTIES 453 PLAYER_VISIBLE_ITEM_9_PAD 454 PLAYER_VISIBLE_ITEM_10_CREATOR 455 PLAYER_VISIBLE_ITEM_10_0 457 PLAYER_VISIBLE_ITEM_10_PROPERTIES 469 PLAYER_VISIBLE_ITEM_10_PAD 470 PLAYER_VISIBLE_ITEM_11_CREATOR 471 PLAYER_VISIBLE_ITEM_11_0 473 PLAYER_VISIBLE_ITEM_11_PROPERTIES 485 PLAYER_VISIBLE_ITEM_11_PAD 486 PLAYER_VISIBLE_ITEM_12_CREATOR 487 PLAYER_VISIBLE_ITEM_12_0 489 PLAYER_VISIBLE_ITEM_12_PROPERTIES 501 PLAYER_VISIBLE_ITEM_12_PAD 502 PLAYER_VISIBLE_ITEM_13_CREATOR 503 PLAYER_VISIBLE_ITEM_13_0 505 PLAYER_VISIBLE_ITEM_13_PROPERTIES 517 PLAYER_VISIBLE_ITEM_13_PAD 518 PLAYER_VISIBLE_ITEM_14_CREATOR 519 PLAYER_VISIBLE_ITEM_14_0 521 PLAYER_VISIBLE_ITEM_14_PROPERTIES 533 PLAYER_VISIBLE_ITEM_14_PAD 534 PLAYER_VISIBLE_ITEM_15_CREATOR 535 PLAYER_VISIBLE_ITEM_15_0 537 PLAYER_VISIBLE_ITEM_15_PROPERTIES 549 PLAYER_VISIBLE_ITEM_15_PAD 550 PLAYER_VISIBLE_ITEM_16_CREATOR 551 PLAYER_VISIBLE_ITEM_16_0 553 PLAYER_VISIBLE_ITEM_16_PROPERTIES 565 PLAYER_VISIBLE_ITEM_16_PAD 566 PLAYER_VISIBLE_ITEM_17_CREATOR 567 PLAYER_VISIBLE_ITEM_17_0 569 PLAYER_VISIBLE_ITEM_17_PROPERTIES 581 PLAYER_VISIBLE_ITEM_17_PAD 582 PLAYER_VISIBLE_ITEM_18_CREATOR 583 PLAYER_VISIBLE_ITEM_18_0 585 PLAYER_VISIBLE_ITEM_18_PROPERTIES 597 PLAYER_VISIBLE_ITEM_18_PAD 598 PLAYER_VISIBLE_ITEM_19_CREATOR 599 PLAYER_VISIBLE_ITEM_19_0 601 PLAYER_VISIBLE_ITEM_19_PROPERTIES 613 PLAYER_VISIBLE_ITEM_19_PAD 614 PLAYER_CHOSEN_TITLE 615 PLAYER_FIELD_INV_SLOT_HEAD 616 PLAYER_FIELD_PACK_SLOT_1 662 PLAYER_FIELD_BANK_SLOT_1 694 PLAYER_FIELD_BANKBAG_SLOT_1 750 PLAYER_FIELD_VENDORBUYBACK_SLOT_1 764 PLAYER_FIELD_KEYRING_SLOT_1 788 PLAYER_FARSIGHT 852 PLAYER__FIELD_KNOWN_TITLES 854 PLAYER_XP 856 PLAYER_NEXT_LEVEL_XP 857 PLAYER_SKILL_INFO_1_1 858 PLAYER_CHARACTER_POINTS1 1242 PLAYER_CHARACTER_POINTS2 1243 PLAYER_TRACK_CREATURES 1244 PLAYER_TRACK_RESOURCES 1245 PLAYER_BLOCK_PERCENTAGE 1246 PLAYER_DODGE_PERCENTAGE 1247 PLAYER_PARRY_PERCENTAGE 1248 PLAYER_CRIT_PERCENTAGE 1249 PLAYER_RANGED_CRIT_PERCENTAGE 1250 PLAYER_OFFHAND_CRIT_PERCENTAGE 1251 PLAYER_SPELL_CRIT_PERCENTAGE1 1252 PLAYER_HOLY_SPELL_CRIT_PERCENTAGE 1253 PLAYER_FIRE_SPELL_CRIT_PERCENTAGE 1254 PLAYER_NATURE_SPELL_CRIT_PERCENTAGE 1255 PLAYER_FROST_SPELL_CRIT_PERCENTAGE 1256 PLAYER_SHADOW_SPELL_CRIT_PERCENTAGE 1257 PLAYER_ARCANE_SPELL_CRIT_PERCENTAGE 1258 PLAYER_EXPLORED_ZONES_1 1259 PLAYER_REST_STATE_EXPERIENCE 1323 PLAYER_FIELD_COINAGE 1324 PLAYER_FIELD_MOD_DAMAGE_DONE_POS 1325 PLAYER_FIELD_MOD_DAMAGE_DONE_NEG 1332 PLAYER_FIELD_MOD_DAMAGE_DONE_PCT 1339 PLAYER_FIELD_MOD_HEALING_DONE_POS 1346 PLAYER_FIELD_MOD_TARGET_RESISTANCE 1347 PLAYER_FIELD_BYTES 1348 PLAYER_AMMO_ID 1349 PLAYER_SELF_RES_SPELL 1350 PLAYER_FIELD_PVP_MEDALS 1351 PLAYER_FIELD_BUYBACK_PRICE_1 1352 PLAYER_FIELD_BUYBACK_TIMESTAMP_1 1364 PLAYER_FIELD_KILLS 1376 PLAYER_FIELD_TODAY_CONTRIBUTION 1377 PLAYER_FIELD_YESTERDAY_CONTRIBUTION 1378 PLAYER_FIELD_LIFETIME_HONORBALE_KILLS 1379 PLAYER_FIELD_BYTES2 1380 PLAYER_FIELD_WATCHED_FACTION_INDEX 1381 PLAYER_FIELD_COMBAT_RATING_1 1382 PLAYER_FIELD_ALL_WEAPONS_SKILL_RATING 1382 PLAYER_FIELD_DEFENCE_RATING 1383 PLAYER_FIELD_DODGE_RATING 1384 PLAYER_FIELD_PARRY_RATING 1385 PLAYER_FIELD_BLOCK_RATING 1386 PLAYER_FIELD_MELEE_HIT_RATING 1387 PLAYER_FIELD_RANGED_HIT_RATING 1388 PLAYER_FIELD_SPELL_HIT_RATING 1389 PLAYER_FIELD_MELEE_CRIT_RATING 1390 PLAYER_FIELD_RANGED_CRIT_RATING 1391 PLAYER_FIELD_SPELL_CRIT_RATING 1392 PLAYER_FIELD_HIT_RATING 1393 PLAYER_FIELD_CRIT_RATING 1394 PLAYER_FIELD_UNK3_RATING 1395 PLAYER_FIELD_UNK4_RATING 1396 PLAYER_FIELD_UNK5_RATING 1397 PLAYER_FIELD_RESILIENCE_RATING 1398 PLAYER_FIELD_MELEE_HASTE_RATING 1399 PLAYER_FIELD_RANGED_HASTE_RATING 1401 PLAYER_FIELD_SPELL_HASTE_RATING 1402 PLAYER_FIELD_MELEE_WEAPON_SKILL_RATING 1403 PLAYER_FIELD_OFFHAND_WEAPON_SKILL_RATING 1404 PLAYER_FIELD_RANGED_WEAPON_SKILL_RATING 1405 PLAYER_FIELD_ARENA_TEAM_INFO_1_1 1405 PLAYER_FIELD_ARENA_TEAM_ID_2v2 1405 PLAYER_FIELD_ARENA_TEAM_ID_3v3 1410 PLAYER_FIELD_ARENA_TEAM_ID_5v5 1415 PLAYER_FIELD_HONOR_CURRENCY 1420 PLAYER_FIELD_ARENA_CURRENCY 1421 PLAYER_FIELD_MOD_MANA_REGEN 1422 PLAYER_FIELD_MOD_MANA_REGEN_INTERRUPT 1423 PLAYER_FIELD_MAX_LEVEL 1424 PLAYER_FIELD_DAILY_QUESTS_1 1425 PLAYER_FIELD_PADDING 1435 PLAYER_END 1436 OBJECT_FIELD_CREATED_BY 6 GAMEOBJECT_DISPLAYID 8 GAMEOBJECT_FLAGS 9 GAMEOBJECT_ROTATION 10 GAMEOBJECT_STATE 14 GAMEOBJECT_POS_X 15 GAMEOBJECT_POS_Y 16 GAMEOBJECT_POS_Z 17 GAMEOBJECT_FACING 18 GAMEOBJECT_DYN_FLAGS 19 GAMEOBJECT_FACTION 20 GAMEOBJECT_TYPE_ID 21 GAMEOBJECT_LEVEL 22 GAMEOBJECT_ARTKIT 23 GAMEOBJECT_ANIMPROGRESS 24 GAMEOBJECT_PADDING 25 GAMEOBJECT_END 26 DYNAMICOBJECT_CASTER 6 DYNAMICOBJECT_BYTES 8 DYNAMICOBJECT_SPELLID 9 DYNAMICOBJECT_RADIUS 10 DYNAMICOBJECT_POS_X 11 DYNAMICOBJECT_POS_Y 12 DYNAMICOBJECT_POS_Z 13 DYNAMICOBJECT_FACING 14 DYNAMICOBJECT_PAD 15 DYNAMICOBJECT_END 16 CORPSE_FIELD_OWNER 6 CORPSE_FIELD_FACING 8 CORPSE_FIELD_POS_X 9 CORPSE_FIELD_POS_Y 10 CORPSE_FIELD_POS_Z 11 CORPSE_FIELD_DISPLAY_ID 12 CORPSE_FIELD_ITEM 13 CORPSE_FIELD_BYTES_1 32 CORPSE_FIELD_BYTES_2 33 CORPSE_FIELD_GUILD 34 CORPSE_FIELD_FLAGS 35 CORPSE_FIELD_DYNAMIC_FLAGS 36 CORPSE_FIELD_PAD 37 CORPSE_END 38
  9. Realmstatus

    Tak to mě teda nenapadlo, že to bude blokované No musíš najít jiný hosting. Třeba na www.pipni.cz majá blokované jenom disable_functions leak, pfsockopen, shell_exec, syslog, proc_open Takže fsockopen by tam jít použít měl. To chce pohledat a odzkoušet přes phpinfo()...
  10. Realmstatus

    Pošli sem výpis obsahu tabulky realmlist. Nejspíš budeš mít špatně nějaké sloupce s adresou a portem nebo sloupec dbinfo.
  11. Přeložené questy

    No to snad ukáže čas. Tak my třeba píšeme na webu, že jsme český server, ale stejně máme questy anglicky a hru taky A nebude to 5 GB patch. V první fázi by překládaly maximálně texty a obrázky UI hry. Když se podíváš do mpq souborů, tak zjistíš, že se jedná hlavně o soubor locale-enUS.MPQ (ten by pak byl locale-csCZ.MPG) a samozřejmě i soubory patchů. A to jsou stovky MB. WoW klient už totiž má vícejazyčnou podporu. Později se může přistoupit třeba k dabingu
  12. Přeložené questy

    Tak třeba ne patch, ale rovnou celé mpq soubory, když na to exitují programy jako winmpq. A pokud jde o velikost souborů, tak to díky torrentům není problém. Ale já na to rozhodně čas nemám.
  13. nutně potřebuju addony

    Nějaký balík addonů lze stáhnout ze spojky.
  14. Přeložené questy

    Překládat by se mělo včetně diakritiky a do databáze se to přetransformuje přes nějakou funkci SQL nebo PHP. A časem až někdo stvoří český font do wow a bude třeba překládat i samotnou hru, tak už nebude potřeba všude tu diakritiku doplňovat.
  15. Přeložené questy

    Jasně, ale nějak začí musíš. Ty překlady by měly probíhat v několika vlnách, tak aby to někdo přeložil na hrubo a později to další lidi znova procházeli a zlepšovali. Přeložit to dokonaly by byl ze začátku přípiš velký skok.
  16. Přeložené questy

    Tak nějak, kvalita překladu bude asi hodně kolísat. Tak jsem navrhoval autorovi, aby tam zařídil hlasování. Že jeden quest třeba přeloží tři lidi a ostatní budou hlasovat, který z nich se jim nejvíc líbí. Není to dokonalé řešení, ale vyfiltruje se alespoň něco. No a pak tam nemá rozlišené české a slovenské questy. Taky tam chybí nějaké solidní pokyny, jakože by měli lidi překládat názvy a jména nějak, a že by měli používat i diakritiku, protože do databáze se to pak může exportovat prozatím bez ní převáděním. Jinak tam napráskal plno nekvalitně přeložených questů z wowemu a podle toho to pak vypadá. Jestli budu mít někdy čas, tak mu to pomůžu předělat, ale teď musím řešit jiné projekty.
  17. Přeložené questy

    Zkus to znova http://wow.zdechov.net/quests/FormRegistrace.php Tam byl špatný název souboru Formregistrace.php místo FormRegistrace.php.
  18. Přeložené questy

    Ještě existuje další projekt na překládání questů, kde je možné výsledky i stáhnout. http://wow.zdechov.net/quests/ Momentálně systém nebyl úplně funkční, protože při přeinstalování serveru z windows na linux se rozlišují velká a malá písmena v názvech souborů. Celé jsem to nějak zkorigoval, tak doufám, že jsem na nic nezapoměl. No a autor se tomu nějak poslední dobu nevěnuje. Ale pokud by byl zájem, tak věřím, že by na tom ještě zapracoval. Jo a má tam importované nějaké přeložené questy z wowemu a snad i spolupracuje s těmi lidmi z wow.netgames.sk.
  19. [php - mysql] Zjištění levelu hráče

    Onehdá jsem to na svém serveru sepisoval formou návodu: Řekněme, že potřebujeme vypsat jména všech online hráčů. Zavoláme povel: SELECT name FROM `character` WHERE online=1 Pokud chceme, ale načíst také ke každé postavě např. level, tak to už je problém, protože level není uveden v samostatném sloupci. Pak nestačí: SELECT name, level FROM `character` WHERE online=1 ale je potřeba provést načtení ze sloupce data, ve kterém je okolo 1400 položek různých významů oddělených mezerou. Ze sloupce data lze údaj vytáhnout pomocí PHP což ukazuje symbolicky příklad: $Result = $Database->query('SELECT name, data FROM `character` WHERE online=1'); $Row = $Result->fetch_array(); $Data = $Row['data']; $DataItems = explode(' ', $Data); $Level = $DataItems[34]; Vhodnější způsob je však načíst tyto data s použitím SQL funkce na vybrání jedné položky s určitým indexem. K tomu slouží SQL funkce SUBSTRING_INDEX a příkaz pak vypadá nějak takto: SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(data," ", 35), " ", -1)*1 as level FROM `character` WHERE online=1 nebo s přetypováním z řetězce na číslo: SELECT CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data," ", 35), " ", -1) AS UNSIGNED) as level FROM `character` WHERE online=1 Číslo 35 zde udává index položky v poli, která v sobě nese údaj o levelu. Díky tomu, že je zpracováno vybrání položky už na straně serveru, tak je dále možné použít údaj pro vyhledávání. Např. vypsat postavy seřazené podle levelu. SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(data," ", 35), " ", -1)*1 as level FROM `character` WHERE online=1 ORDER BY level
×