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:  
Sign in to follow this  
charlie

[mangos] Presun postav

Recommended Posts

<form action="" method=POST>
Ucet : <input type="text" name="ucet"><br>
Heslo : <input type="password" name="heslo"><br>
Postava : <input type="text" name="postava"><br>
Cílový účet :<input type="text" name="cil"><br>
<input type="submit" value="odeslat"><input type="reset" value="Reset"><br>

<?php

  $dbhost = "localhost"; // DB Host
  $dbuser = "root"; // DB User 
  $dbpass = ""; // DB user Password
  
  $realmd = "realmd"; // REalmd DB
  $characters = "characters"; // Char DB

function sha_password($user,$pass){
     $user = strtoupper($user);
    $pass = strtoupper($pass);
    
    $SHA1P = ($user.':'.$pass);
    return hash('sha1', $SHA1P);
}




if(isset($_POST[ucet],$_POST[heslo],$_POST[postava],$_POST[cil]))
{

mysql_connect("$dbhost","$dbuser","$dbpass");


$_POST[ucet] = mysql_real_escape_string($_POST[ucet]);
$_POST[heslo] = mysql_real_escape_string($_POST[heslo]);
$_POST[postava] =mysql_real_escape_string($_POST[postava]);
$_POST[cil] = mysql_real_escape_string($_POST[cil]);

$i = sha_password($_POST[ucet],$_POST[heslo]);

  $data = mysql_query("SELECT `id` FROM `$realmd`.`account` WHERE (`username`='$_POST[ucet]') AND (`I`='$i') LIMIT 1");
  
  if(mysql_num_rows($data)==0)
   {
     die("Nenalezen Ucet. Spatne zadane udaje.");
   }
  
  $id = mysql_fetch_array($data);
  $id = $id[id];
  
  
  $data = mysql_query("SELECT `guid` FROM `$characters`.`character` WHERE (`name`='$_POST[postava]') AND (`account`='$id')");
  
  if(mysql_num_rows($data)==0)
   {
    die("Nenalezena postava. Spatne zadane udaje / neexistujici postava.");
   }
  
   $guid = mysql_fetch_array($data);
   $guid = $guid[guid];
  
  
  $data = mysql_query("SELECT `id` FROM `$realmd`.`account` WHERE (`username`='$_POST[cil]') LIMIT 1");

   if(mysql_num_rows($data)==0)
    {
     die("Nenalezen cilovy ucet.");
    }
  
   $cil = mysql_fetch_array($data);
   $cil = $cil[id];
   
   mysql_query("UPDATE `$characters`.`character` SET `account`='$cil' WHERE `guid`='$guid'");

    print("Postava  #$guid($_POST[postava]) byla uspesne presunuta na ucet #$cil ($_POST[cil])");
}

?>

 

Kdyby nekdo chtel udelat nejakou grafiku, vubec bych se nezlobil..

  • Upvote 1

Share this post


Link to post
Share on other sites

Good věc no tak tady to máte se skinem :nw2_guitar:

 

Download:http://filebeam.com/89dd3193fa3cc356168ee89a4a79e43e

Náhled:Nahled.JPG

 

Mysql nastavení je dole !!!

dyžtak napište hodim vám sem kde to bude nahoře :rolleyes:

A napište jestli vám to de jestli sem tam neco omylem nesmáznul <_<

Edited by Barny

Share this post


Link to post
Share on other sites

No teda ale ten kód vypadá příšerně :)

Kdyby někdo chtěl, tak tady je alternativní vzhled, lehounce předělané stránky, které jsem dělala pro jednu guildu, ale vzhledem k tomu, že už se stejně rozpadla, tak to snad nikoho bolet nebude :)

Celá grafika má nějakých 200kb, takže to vás opravdu pálit nebude, je u toho logo ve formátu .psd, takže si ho můžete změnit na cokoliv.

 

Takhle to vypadá,

nahledvp9.th.jpg

 

Tady se to stáhne,

http://filebeam.com/08ebe12d18fd251877c4e323e1cdc347

 

A tady je k tomu heslo.

wowresource

 

Kdyby se někomu chtělo, může do toho přidat i registrace, online status a bude z toho docela použitelná věc :)

 

Share this post


Link to post
Share on other sites

neslo by do toho kodu dopsat treba jeste reamlist treba kdyz mam 2 servery na jednom realmu tak kdyz budu chtit z jednoho serveru previst postavu na druhej

Share this post


Link to post
Share on other sites
neslo by do toho kodu dopsat treba jeste reamlist treba kdyz mam 2 servery na jednom realmu tak kdyz budu chtit z jednoho serveru previst postavu na druhej

to vim ze sou tady 2 ale jestli by nekno neudelal jeste tuhle funkci siklo by se mi to

Share this post


Link to post
Share on other sites
Pro převod charů mezi realmy tu převodník není ani jeden.

ale jde to jednodusse udelat, vytvoris connect pro druhou characters db a ve zdrojacich pripis moznost na druhy realm a vyber acc. Pokud by se na to Charlie vrhl, verim ze to ma za 10 minut hotove :rolleyes:

 

Share this post


Link to post
Share on other sites
ale jde to jednodusse udelat, vytvoris connect pro druhou characters db a ve zdrojacich pripis moznost na druhy realm a vyber acc. Pokud by se na to Charlie vrhl, verim ze to ma za 10 minut hotove :rolleyes:

 

Ovšem to musíš přenést inventář (character_inventory + item_instance), maily,... A navíc kontrolovat všude kolizi GUID s druhým realmem.. Pokud to neuděláš přes export funkci v mangosu.. Nejdřív si rozmysli co znamená přesun mezi accounty a přesun mezi databázemi

  • Upvote 1

Share this post


Link to post
Share on other sites
Ovšem to musíš přenést inventář (character_inventory + item_instance), maily,... A navíc kontrolovat všude kolizi GUID s druhým realmem.. Pokud to neuděláš přes export funkci v mangosu.. Nejdřív si rozmysli co znamená přesun mezi accounty a přesun mezi databázemi

jo, na to jsem si nevzpomnel, tak to uz by mohl byt problem, omlouvam s

Share this post


Link to post
Share on other sites

Byl na to system na UDB.. ale podle me je to zbytecne delat jak to delaji oni.. jednak kdyz se neco zmeni v characters DB a ten system s tim nepocita , tak to muze mazat postavy nebo neco s neam udelat, za druhe nutne udrzovani pri client switchich.. data field atd.. podle me nejlepsi by bylo, poslat na mangos1 writepdump , z tama to nejak dostat do druheho PC a tam pustit loadump...

Share this post


Link to post
Share on other sites

No to spravit ide .... bud exec v php alebo ukladat do DB pripadne suboru a cez shell, perl to raz za cas spustit a previest postavy. V Perli by to nebylo komplikovane, len by to musel niekto napisat :)

Share this post


Link to post
Share on other sites

Mne vypisalo chybu :

 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\skuska\forum.php on line 113

Nenalezen Ucet. Spatne zadane udaje.

 

neviete kde mam chybu ?? vsetky udaje co som zadal su na 100 % funkcné.... pls poradte ...thx ... pouzivam patch 2.4.2 ..za skoru odpoved dakujem

Edited by paЗck

Share this post


Link to post
Share on other sites
Mne vypisalo chybu :

 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\skuska\forum.php on line 113

Nenalezen Ucet. Spatne zadane udaje.

 

neviete kde mam chybu ?? vsetky udaje co som zadal su na 100 % funkcné.... pls poradte ...thx ... pouzivam patch 2.4.2 ..za skoru odpoved dakujem

Nechci do toho kecat (+ je to staré, ale jestli ten nademnou má stejný problém) - 113 řádků to prostě NEMÁ, má to nějakejch 80 maximálně, jestli to dáváš do jiné stránky (fórum.php?!), tak se nediv, že to nefunguje, s tím ti moc lidí neporadí když neví kam to cpeš.

Share this post


Link to post
Share on other sites

Zde komplet funkcni kod:

<form action="" method=POST>
Ucet : <input type="text" name="ucet"><br>
Heslo : <input type="password" name="heslo"><br>
Postava : <input type="text" name="postava"><br>
Cílový účet :<input type="text" name="cil"><br>
<input type="submit" value="odeslat"><input type="reset" value="Reset"><br>

<?php

  $dbhost = "localhost"; // DB Host
  $dbuser = "root"; // DB User
  $dbpass = "passsss"; // DB user Password
  
  $realmd = "realmd"; // REalmd DB
  $characters = "characters"; // Char DB

function sha_password($user,$pass){
     $user = strtoupper($user);
    $pass = strtoupper($pass);
    
    $SHA1P = ($user.':'.$pass);
    return hash('sha1', $SHA1P);
}




if(isset($_POST[ucet],$_POST[heslo],$_POST[postava],$_POST[cil]))
{

mysql_connect("$dbhost","$dbuser","$dbpass");


$_POST[ucet] = mysql_real_escape_string($_POST[ucet]);
$_POST[heslo] = mysql_real_escape_string($_POST[heslo]);
$_POST[postava] =mysql_real_escape_string($_POST[postava]);
$_POST[cil] = mysql_real_escape_string($_POST[cil]);

$i = sha_password($_POST[ucet],$_POST[heslo]);

  $data = mysql_query("SELECT `id` FROM `$realmd`.`account` WHERE (`username`='$_POST[ucet]') AND (`sha_pass_hash`='$i') LIMIT 1");
  
  if(mysql_num_rows($data)==0)
   {
     die("Nenalezen Ucet. Spatne zadane udaje.");
   }
  
  $id = mysql_fetch_array($data);
  $id = $id[id];
  
  
  $data = mysql_query("SELECT `guid` FROM `$characters`.`characters` WHERE (`name`='$_POST[postava]') AND (`account`='$id')");
  
  if(mysql_num_rows($data)==0)
   {
    die("Nenalezena postava. Spatne zadane udaje / neexistujici postava.");
   }
  
   $guid = mysql_fetch_array($data);
   $guid = $guid[guid];
  
  
  $data = mysql_query("SELECT `id` FROM `$realmd`.`account` WHERE (`username`='$_POST[cil]') LIMIT 1");

   if(mysql_num_rows($data)==0)
    {
     die("Nenalezen cilovy ucet.");
    }
  
   $cil = mysql_fetch_array($data);
   $cil = $cil[id];
  
   mysql_query("UPDATE `$characters`.`characters` SET `account`='$cil' WHERE `guid`='$guid'");

    print("Postava  #$guid($_POST[postava]) byla uspesne presunuta na ucet #$cil ($_POST[cil])");
}

?>

Share this post


Link to post
Share on other sites

Tohle by mělo odchytit tu tvoji chybku s 10ti a více charaktery..neozkoušeno.

 

<form action="" method=POST>
Ucet : <input type="text" name="ucet"><br>
Heslo : <input type="password" name="heslo"><br>
Postava : <input type="text" name="postava"><br>
Cílový účet :<input type="text" name="cil"><br>
<input type="submit" value="odeslat"><input type="reset" value="Reset"><br>

<?php

  $dbhost = ""; // DB Host
  $dbuser = ""; // DB User
  $dbpass = ""; // DB user Password
  
  $realmd = "realmd"; // REalmd DB
  $characters = "characters"; // Char DB

function sha_password($user,$pass){
     $user = strtoupper($user);
    $pass = strtoupper($pass);
    
    $SHA1P = ($user.':'.$pass);
    return hash('sha1', $SHA1P);
}




if(isset($_POST['ucet'],$_POST['heslo'],$_POST['postava'],$_POST['cil']))
{

mysql_connect("$dbhost","$dbuser","$dbpass");


$_POST['ucet'] = mysql_real_escape_string($_POST['ucet']);
$_POST['heslo'] = mysql_real_escape_string($_POST['heslo']);
$_POST['postava'] =mysql_real_escape_string($_POST['postava']);
$_POST['cil'] = mysql_real_escape_string($_POST['cil']);

$i = sha_password($_POST['ucet'],$_POST['heslo']);

  $data = mysql_query("SELECT `id` FROM `$realmd`.`account` WHERE (`username`='$_POST[ucet]') AND (`sha_pass_hash`='$i') LIMIT 1");
  
  if(mysql_num_rows($data)==0)
   {
     die("Nenalezen Ucet. Spatne zadane udaje.");
   }
  
  $id = mysql_fetch_array($data);
  $id = $id['id'];
  
  
  $data = mysql_query("SELECT `guid` FROM `$characters`.`characters` WHERE (`name`='$_POST[postava]') AND (`account`='$id')");
  
  if(mysql_num_rows($data)==0)
   {
    die("Nenalezena postava. Spatne zadane udaje / neexistujici postava.");
   }
  
   $guid = mysql_fetch_array($data);
   $guid = $guid['guid'];
  
  $data = mysql_query("SELECT `id` FROM `$realmd`.`account` WHERE (`username`='$_POST[cil]') LIMIT 1");

   if(mysql_num_rows($data)==0)
    {
     die("Nenalezen cilovy ucet.");
    }
  
   $cil = mysql_fetch_array($data);
   $cil = $cil['id'];
   
   $data = mysql_query("SELECT count(*) as `rows` FROM `$characters`.`characters` WHERE (`account`='$cil')");
   $count = mysql_fetch_array($data);
   if ($count['rows'] > 9)
   {
   die ("Na jednom účtu je možné mít pouze 10 postav. Přesun neúspěšný.");
   }
   mysql_query("UPDATE `$characters`.`characters` SET `account`='$cil' WHERE `guid`='$guid'");

    print("Postava  #$guid($_POST[postava]) byla uspesne presunuta na ucet #$cil ($_POST[cil])");
}

?>

Edited by axxxa

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×