Visualizzazione risultati 1 fino 5 di 5

Discussione: Avatar random

  1. #1
    Guest

    Predefinito Avatar random

    Salve, sto creando un browser game da alcune fonti open source.

    E' da un pò che sbatto e non riesco a trovare la soluzione che funzioni. Praticamente devo assegnare un avatar ad ogni nuovo personaggio che si registra. L'avatar assegnato dovrebbe essere random dalle immagini che ho in una cartella.
    Le immagini si trovano nella cartella /DK/images.

    Mi sapreste dire quale è il codice php?

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,234

    Predefinito

    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    si ho già provato con questo suggerito da te:

    Codice PHP:
    <?php

    $dir
    = "/DK/prova"; // Senza slash finale

    $img = array();
    $img = glob($dir."/*");

    $con = count($img)-1;
    $ran = rand(0,$con);

    echo
    "<img src=\"".$img[$ran]."\" alt=\"\" />";

    ?>
    ma praticamente non mi si visualizza nessuna immagine, solo pagina bianca, ho provato anche a eliminare lo slash dalla variabile $dir, ma niente. Eppure il percorso è corretto e ci sono immagini .png

    poi ho provato con uno javascript e funziona solo che praticamente il mio problema è che l'immagine assegnata in modo casuale poi deve rimanere stabile, ovvero non deve cambiare ad ogni aggiornamento. Cosa dovrei cambiare in questo script?

    Codice:
    <SCRIPT LANGUAGE="JavaScript">
    // qui di seguito i nomi delle immagini
    var imgs = new Array ("/DK/prova/1.png", "/DK/prova/2.png", "/DK/prova/3.png", "/DK/prova/4.png")
    
    // qui il numero delle immagini da visualizzare, dentro la parentesi
    var toShow = new Array (1)
    
    for (var i = 0; i < toShow.length; i++)
    {
       var ok = false
       do
       {
          ok = true
          // scegli un numero a caso
          var x = Math.floor (imgs.length * Math.random ())
    // è diverso dagli altri?
          for (var j = 0; j < i; j++)
             ok = ok && (x != toShow[j])
          if (ok)
             // sì? aggiungilo alla lista delle immagini da visualizzare
             toShow[i] = x
          // no? dichiara fallimento e ricomincia da capo, non serve specificarlo
       }
       while (!ok)
    }
          
    
    
    
    // scelti tutti i numeri? Adesso visualizza le immagini
    for (var i = 0; i < toShow.length; i++)
       document.write ('<IMG SRC="' + imgs[toShow[i]] + '">');
    </script>
    Riassumo un attimo mettendomi nei panni di un nuovo giocatore che si registra al mio browser game.
    Io mi registro, mi viene assegnato un avatar casuale, che poi mi rimane in modo definitivo. Come si fà?

  4. #4
    Guest

    Predefinito

    Lo salvi nel campo della tabella con l'url relativo!
    Posta il tuo schema...basta aggiungere alla query:
    Codice PHP:
    $nome = "user"; $avatar = "avatar generato";
    $query = mysql_query("INSERT INTO table (nome,avatar) VALUES ('$nome','$avatar');

  5. #5
    Guest

    Predefinito

    scusa ma io sono purtroppo alle prime armi.
    Allora ti posto praticamente tutto il codice dove mi appare un avatar che però cambia ad ogni aggiornamento.

    Codice PHP:
    <?php
    $template
    = <<<THEVERYENDOFYOU
    <table width="100%">
    <tr><td class="title"><img src="http://forum.it.altervista.org/images/button_character.gif" alt="Character" title="Character" /></td></tr>
    <tr><td>
    <p>
    <SCRIPT LANGUAGE="JavaScript">
    // qui di seguito i nomi delle immagini
    var imgs = new Array ("/DK/prova/1.png", "/DK/prova/2.png", "/DK/prova/3.png", "/DK/prova/4.png")

    // qui il numero delle immagini da visualizzare, dentro la parentesi
    var toShow = new Array (1)

    for (var i = 0; i < toShow.length; i++)
    {
    var ok = false
    do
    {
    ok = true
    // scegli un numero a caso
    var x = Math.floor (imgs.length * Math.random ())
    // è diverso dagli altri?
    for (var j = 0; j < i; j++)
    ok = ok && (x != toShow[j])
    if (ok)
    // sì? aggiungilo alla lista delle immagini da visualizzare
    toShow[i] = x
    // no? dichiara fallimento e ricomincia da capo, non serve specificarlo
    }
    while (!ok)
    }




    // scelti tutti i numeri? Adesso visualizza le immagini
    for (var i = 0; i < toShow.length; i++)
    document.write ('<IMG SRC="' + imgs[toShow[i]] + '">');
    </script>
    <p>
    <b>{{charname}}</b><br />
    Level: {{level}}<br />
    Exp: {{experience}}<br />
    Gold: {{gold}}<br />
    Bank: {{bank}}<br />
    HP: {{currenthp}}<br />
    MP: {{currentmp}}<br />
    TP: {{currenttp}}<br />
    {{statbars}}<br />
    <a href="javascript:opencharpopup()">Estendi Statistiche</a>
    </td></tr>
    </table><br />

    <table width="100%">
    <tr><td class="title"><img src="http://forum.it.altervista.org/images/button_inventory.gif" alt="Inventory" title="Inventory" /></td></tr>
    <tr><td>
    <table width="100%">
    <tr><td><img src="http://forum.it.altervista.org/images/icon_weapon.gif" alt="Weapon" title="Weapon" /></td><td width="100%">Weapon: {{weaponname}}</td></tr>
    <tr><td><img src="http://forum.it.altervista.org/images/icon_armor.gif" alt="Armor" title="Armor" /></td><td width="100%">Armor: {{armorname}}</td></tr>
    <tr><td><img src="http://forum.it.altervista.org/images/icon_shield.gif" alt="Shield" title="Shield" /></td><td width="100%">Shield: {{shieldname}}</td></tr>
    </table>
    Slot 1: {{slot1name}}<br />
    Slot 2: {{slot2name}}<br />
    Slot 3: {{slot3name}}
    </td></tr>
    </table><br />

    <table width="100%">
    <tr><td class="title"><img src="http://forum.it.altervista.org/images/button_fastspells.gif" alt="Fast Spells" title="Fast Spells" /></td></tr>
    <tr><td>
    {{magiclist}}
    </td></tr>
    </table><br />

    THEVERYENDOFYOU;




    ?>
    Allora il javascript mi associa l'avatar casuale.

    Dove devo inserire questo script?
    Codice PHP:
    $nome = "user"; $avatar = "avatar generato";
    $query = mysql_query("INSERT INTO table (nome,avatar) VALUES ('$nome','$avatar');
    La tabella relativa agli utenti si chiama: dk_users
    all'interno le query: username, avatarid.

    EDIT: sicuramente bisogna cambiare lo script javascript per fare in modo che le immagini non si aggiornino ad ogni refresh della pagina.
    Ultima modifica di logditaly : 14-09-2009 alle ore 23.20.05

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •