Hosted by Netsons.com Acquista Rpg Maker XP ora!Acquista Rpg Maker XP ora! Acquista Rpg Maker VX ora!Acquista Rpg Maker VX ora! Acquista Rpg Maker VX Ace ora!Acquista Rpg Maker VX Ace ora! Sito Ufficiale Rpg MakerSito Ufficiale Rpg Maker


Vai al contenuto



49° Screen ContestRISULTATI!
Dall'RM - TVVisiona i Live
Ultimo Prodotto EB/RMRPG Maker DS
Diventa RecensoreCandidati QUI
Diventa RisorsitaCandidati QUI

Toggle shoutbox RM - Chat

Per i nuovi iscritti, leggete il Regolamento QUI. E' severamente vietato richiedere supporto su RPG Maker in Chat! Per ricevere Supporto, fate riferimento alle sezioni apposite!
@  +Gennaron2 : (25 October 2014 - 11:44 PM) Ha risposto al Topic Amos 2 - Il Cristallo Perduto
@  +Gennaron2 : (25 October 2014 - 11:31 PM) Ha risposto al Topic I nostri screen
@  +Gennaron2 : (25 October 2014 - 11:18 PM) Ha risposto al Topic Amos 2 - Il Cristallo Perduto
@  Juunanagou : (25 October 2014 - 02:25 PM) Ha risposto al Topic Progetto di sviluppo:The Dreams World
@  +Geltix : (25 October 2014 - 02:08 PM) Ha risposto al Topic Progetto di sviluppo:The Dreams World
@  Juunanagou : (24 October 2014 - 08:10 PM) Ha risposto al Topic Progetto di sviluppo:The Dreams World
@  Juunanagou : (24 October 2014 - 08:42 AM) Ha risposto al Topic I nostri screen
@  gabrix90 : (24 October 2014 - 08:30 AM) Ha risposto al Topic I nostri screen
@  Juunanagou : (23 October 2014 - 06:42 PM) Ha risposto al Topic Tileset cartoonish + chest
@  Juunanagou : (23 October 2014 - 09:27 AM) Ha risposto al Topic I nostri screen
@  gabrix90 : (23 October 2014 - 08:35 AM) Ha risposto al Topic I nostri screen
@  Juunanagou : (22 October 2014 - 09:45 AM) Ha risposto al Topic I nostri screen
@  gabrix90 : (20 October 2014 - 08:31 AM) Ha risposto al Topic 1° Storyboarding Contest
@  +Old Pat : (19 October 2014 - 09:38 PM) Ha risposto al Topic 1° Storyboarding Contest
@  N0ir Marauder : (19 October 2014 - 09:27 PM) dai raga, scrivete 4 righe per il contest, la community ha bisogno di voi! :D
@  gabrix90 : (19 October 2014 - 02:39 PM) Ha risposto al Topic 1° Storyboarding Contest
@  Juunanagou : (19 October 2014 - 11:55 AM) Ha creato il Topic Tileset cartoonish + chest in Risorse RPG Maker VX/Ace
@  Juunanagou : (19 October 2014 - 11:42 AM) Non l'hanno accettato. sigh. Vabbè. Immagino li rilascerò normalmente comunque.
@  Juunanagou : (18 October 2014 - 10:23 PM) Mandato in restaff °ç° presto spero di poter pubblicare il set. Se non supera il test di qualità lo pubblico comunque lol XD
@  Juunanagou : (18 October 2014 - 01:48 PM) Ha risposto al Topic I nostri screen
@  N0ir Marauder : (18 October 2014 - 12:31 PM) Ha risposto al Topic I nostri screen
@  Juunanagou : (17 October 2014 - 05:58 PM) Ha risposto al Topic I nostri screen
@  Juunanagou : (17 October 2014 - 05:48 PM) nuh ù-ù
@  N0ir Marauder : (17 October 2014 - 05:43 PM) idea per il contest facciamo 100 account fake e partecipiamo anche con quelli X..D
@  N0ir Marauder : (17 October 2014 - 05:42 PM) Ha risposto al Topic I nostri screen
@  Juunanagou : (17 October 2014 - 10:26 AM) Ha risposto al Topic I nostri screen
@  gabrix90 : (17 October 2014 - 09:51 AM) Ha risposto al Topic Renewal
@  gabrix90 : (17 October 2014 - 09:49 AM) Ha risposto al Topic I nostri screen
@  Juunanagou : (16 October 2014 - 07:08 PM) Ha risposto al Topic I nostri screen
@  Juunanagou : (16 October 2014 - 06:26 PM) andiamo gente, domenica finisce il contest e siamo solo in due ç_ç su su scrivete qualcosa çAç

  • Caricamento RM - Countdowns
Foto
System Mod

Keyboard Input



  • Per cortesia connettiti per rispondere
8 risposte a questa discussione

#1 OFFLINE   +NoosiTD

NoosiTD

    Maker Viandante

  • +Utenti RM
  • 150 messaggi
  • LocalitàCasa mia, Villaputzu, Sardegna, Italia, Europa, Terra, Via Lattea
  • Ruolo:
    Eventer
  • Progetto 2k/2k3:
    NetWork Dungeons
  • Progetto XP:
    N\A
  • Progetto VX:
    N\A
  • Progetto Ace:
    N\A
  • Tool:
    Quaderno, matita

Inviato 26 March 2012 - 02:29 PM

Nome Script: Keyboard Input
Versione: 3.0
Autore/i: Keroro

Informazioni:
Porting per VX-ACE dello script YEM Keyboard Script per VX.
Rimpiazza lo Scene_Name facendo inserire direttamente da tastiera.
TODO: Gestire la punteggiatura

Screenshots:
Spoiler


Istruzioni:
Creare una nuova tab sotto Materials e incollare lo script.
Oltre a modificare lo Scene_Name modifica la classe Input consentendo,
al programmatore volenteroso di utilizzare tutti le lettere e i numeri tramite sintassi:

if Input.press(:VK_A)
#se premo la lettera a
end
if Input.press(:NUM5) or Input.press(:PAD5)
#se premo il numero 5 sulla tastiera o sul numpad
end

Script:
#===============================================================================
# Keyboard Input - Porting to VX-ACE
# By Keroro - cris87@gmail.com
# Version 3.0
# Last Date Updated. 2012.03.17
#===============================================================================
#
# OriginalWij and Yanfly Collaboration - Keyboard Input
# Last Date Updated: 2010.06.12
# Level: Normal
#
# This is a utility script that provides the functionality to return inputs
# from the keyboard as well as free up more keys to be used in the Input module.
# This script will also replace Scene_Name and allow for direct keyboard input
# to type in an actor's name as well as fix the maximum characters shown from
# the default base script.
#
#===============================================================================

$imported = {} if $imported == nil
$imported["KeyboardInput"] = true



class << Input
  #--------------------------------------------------------------------------
  # Aliases (Mods - Linked to Module) - Created by OriginalWij
  #--------------------------------------------------------------------------
  alias ow_dt_i_press press? unless $@
  alias ow_dt_i_trigger trigger? unless $@
  alias ow_dt_i_repeat repeat? unless $@
  alias ow_dt_i_update update unless $@
end

module Input
  #--------------------------------------------------------------------------
  # constants - Created by OriginalWij and Yanfly and Keroro
  #--------------------------------------------------------------------------
  VALUES = {}   
  VALUES[:VK_A] = 65; VALUES[:VK_B] = 66; VALUES[:VK_C] = 67;
  VALUES[:VK_D] = 68; VALUES[:VK_E] = 69; VALUES[:VK_F] = 70;
  VALUES[:VK_G] = 71; VALUES[:VK_H] = 72; VALUES[:VK_I] = 73;
  VALUES[:VK_J] = 74; VALUES[:VK_K] = 75; VALUES[:VK_L] = 76
  VALUES[:VK_M] = 77; VALUES[:VK_N] = 78; VALUES[:VK_O] = 79;
  VALUES[:VK_P] = 80; VALUES[:VK_Q] = 81; VALUES[:VK_R] = 82;
  VALUES[:VK_S] = 83; VALUES[:VK_T] = 84; VALUES[:VK_U] = 85;
  VALUES[:VK_V] = 86; VALUES[:VK_W] = 87; VALUES[:VK_X] = 88
  VALUES[:VK_Y] = 89; VALUES[:VK_Z] = 90;
  LETTERS = [:VK_A,:VK_B,:VK_C,:VK_D,:VK_E,:VK_F,:VK_G,:VK_H,:VK_I,:VK_J, 
             :VK_K,:VK_L,:VK_M,:VK_N,:VK_O,:VK_P,:VK_Q,:VK_R,:VK_S,:VK_T, 
             :VK_U,:VK_V,:VK_W,:VK_X,:VK_Y,:VK_Z]
  VALUES[:NUM0] = 48; VALUES[:NUM1] = 49; VALUES[:NUM2] = 50;
  VALUES[:NUM3] = 51; VALUES[:NUM4] = 52; VALUES[:NUM5] = 53; 
  VALUES[:NUM6] = 54; VALUES[:NUM7] = 55; VALUES[:NUM8] = 56;
  VALUES[:NUM9] = 57; VALUES[:PAD0] = 96; VALUES[:PAD1] = 97;
  VALUES[:PAD2] = 98; VALUES[:PAD3] = 99; VALUES[:PAD4] = 100;
  VALUES[:PAD5] = 101; VALUES[:PAD6] = 102; VALUES[:PAD7] = 103;
  VALUES[:PAD8] = 104; VALUES[:PAD9] = 105;
  NUMBERS = [:NUM0,:NUM1,:NUM2,:NUM3,:NUM4,:NUM5,:NUM6,:NUM7,:NUM8,:NUM9]
  NUMPAD = [:PAD0,:PAD1,:PAD2,:PAD3,:PAD4,:PAD5,:PAD6,:PAD7,:PAD8,:PAD9]
 VALUES[:ENTER] = 13;
  VALUES[:SPACE] = 32;
  VALUES[:ESC] = 27;
  VALUES[:BACK] = 8;
  VALUES[:PGUP] = 33;
  VALUES[:PGDN] = 34;
  VALUES[:CAPS] = 20;
#TODO: aggiungere tags per punteggiatura

  #--------------------------------------------------------------------------
  # initial module settings - Created by OriginalWij and Yanfly
  #--------------------------------------------------------------------------
  GetKeyState = Win32API.new("user32", "GetAsyncKeyState", "i", "i")
  GetCapState = Win32API.new("user32", "GetKeyState", "i", "i")
  KeyRepeatCounter = {}
  module_function
  #--------------------------------------------------------------------------
  # alias method: update - Created by OriginalWij and Keroro
  #--------------------------------------------------------------------------
  def update
        ow_dt_i_update
        for key in KeyRepeatCounter.keys
          if (GetKeyState.call(VALUES[key]).abs & 0x8000 == 0x8000)
                        KeyRepeatCounter[key] += 1
          else
                        KeyRepeatCounter.delete(key)
          end
        end
  end
 #--------------------------------------------------------------------------
  # alias method: press? - Created by OriginalWij and Keroro
  #--------------------------------------------------------------------------
  def press?(key)
        return ow_dt_i_press(key) if !VALUES.has_key?(key)
        return true unless KeyRepeatCounter[key].nil?
        return key_pressed?(key)
  end
  #--------------------------------------------------------------------------
  # alias method: trigger? - Created by OriginalWij and Keroro
  #--------------------------------------------------------------------------
  def trigger?(key)
        return ow_dt_i_trigger(key) if !VALUES.has_key?(key)
        count = KeyRepeatCounter[key]
        return ((count == 0) or (count.nil? ? key_pressed?(key) : false))
  end
  #--------------------------------------------------------------------------
  # alias method: repeat? - Created by OriginalWij and Keroro
  #--------------------------------------------------------------------------
  def repeat?(key)
        return ow_dt_i_trigger(key) if !VALUES.has_key?(key)
        count = KeyRepeatCounter[key]
        return true if count == 0
        if count.nil?
          return key_pressed?(key)
        else
          return (count >= 23 and (count - 23) % 6 == 0)
        end
  end
  #--------------------------------------------------------------------------
  # new method: key_pressed? - Created by OriginalWij and Keroro
  #--------------------------------------------------------------------------
  def key_pressed?(key)
        if (GetKeyState.call(VALUES[key]).abs & 0x8000 == 0x8000)
          KeyRepeatCounter[key] = 0
          return true
        end
        return false
  end

  #--------------------------------------------------------------------------
  # new method: typing? - Created by Yanfly and Keroro
  #--------------------------------------------------------------------------
  def typing?
        return true if repeat?(:SPACE)
        for key in LETTERS
          return true if repeat?(key)
        end
        for key in NUMBERS
          return true if repeat?(key)
        end
        return false
  end

  #--------------------------------------------------------------------------
  # new method: key_type - Created by Yanfly and Keroro
 #--------------------------------------------------------------------------

        def key_type
        return " " if repeat?(:SPACE)
        for key in LETTERS
          next unless repeat?(key)
          return upcase? ? key.to_s[3].upcase : key.to_s[3].downcase
        end
        for key in NUMBERS
          return key.to_s[3] if repeat?(key)
        end
        for key in NUMPADS
          return key.to_s[3] if repeat?(key)
        end

        return ""
  end
  #--------------------------------------------------------------------------
  # new method: upcase? - Created by Yanfly
  #--------------------------------------------------------------------------
  def upcase?
        return !press?(:SHIFT) if GetCapState.call(VALUES[:CAPS]) == 1
        return true if press?(:SHIFT)
        return false
  end
end #Input


#===============================================================================
# Window_NameEdit
#===============================================================================

class Window_NameEdit < Window_Base

  #--------------------------------------------------------------------------
  # overwrite method: initialize
  #--------------------------------------------------------------------------
  def initialize(actor, max_char)
        dw = Graphics.width - 176
        dy = (Graphics.height - 128) / 2
        if $game_message.visible
          difference = Graphics.height - 128
          case $game_message.position
          when 0; dy += 64
          when 1; dy += 0
          when 2; dy -= 64
         end
        end
        super(88, dy, dw, 128)
        @actor = actor
        @name = actor.name
        @max_char = max_char
        name_array = @name.split(//)[0...@max_char]
        @name = ""
        for i in 0...name_array.size
          @name += name_array[i]
        end
        @default_name = @name
        @index = name_array.size
        self.active = false
        refresh
  end

  #--------------------------------------------------------------------------
  # overwrite method: item_rect
  #--------------------------------------------------------------------------
 def item_rect(index)
        if index == @max_char
          rect = Rect.new(0, 0, 0, 0)
        else
          rect = Rect.new(0, 0, 0, 0)
          rect.x = 112 + index * 12
          rect.y = 36
          rect.width = 24
          rect.height = line_height
        end
        return rect
  end

end # Window_NameEdit

#===============================================================================
# Scene_Base
#===============================================================================

class Scene_Base

  #--------------------------------------------------------------------------
  # new method: name_entry
  #--------------------------------------------------------------------------
  def name_entry(actor_id, max_char)
        @name_actor_id = actor_id
        @name_entry_max = max_char       start_name_entry
        end_name_entry
  end

  #--------------------------------------------------------------------------
  # new method: start_name_entry
  #--------------------------------------------------------------------------
  def start_name_entry
        Graphics.freeze
        actor = $game_actors[@name_actor_id]
        @edit_window = Window_NameEdit.new(actor, @name_entry_max)
        Graphics.transition(10)
        loop do
          update_name_entry
          if Input.repeat?(:BACK) and @edit_window.index > 0
                Sound.play_cancel
                @edit_window.back
          elsif Input.typing? and @edit_window.index != @edit_window.max_char
                Sound.play_cursor
                @edit_window.add(Input.key_type)
          elsif Input.trigger?(:ENTER)
                Sound.play_ok
                actor.name = @edit_window.name
                break
          elsif Input.trigger?(:ESC)
                Sound.play_cancel
                break
          end
       end
  end

  #--------------------------------------------------------------------------
  # new method: update_name_entry
  #--------------------------------------------------------------------------
  def update_name_entry
        Graphics.update
        Input.update
        if SceneManager.scene.is_a?(Scene_Map)
          $game_map.update
          @spriteset.update
        elsif SceneManager.scene.is_a?(Scene_Battle)
          Graphics.update
          Input.update
          $game_system.update
          $game_troop.update
          @spriteset.update
          @message_window.update
        end
        @edit_window.update
  end

  #--------------------------------------------------------------------------
  # end_name_entry
 #--------------------------------------------------------------------------
  def end_name_entry
        @edit_window.dispose
        @edit_window = nil
        @name_actor_id = nil
        @name_entry_max = nil
  end
end # Scene_Base

#===============================================================================
# Game_Interpreter
#===============================================================================

class Game_Interpreter

  #--------------------------------------------------------------------------
  # overwrite method: command_303 (Name Input Processing)
  #--------------------------------------------------------------------------
  def command_303
        if $data_actors[@params[0]] != nil
          SceneManager.scene.name_entry(@params[0], @params[1])
        end
        @index += 1
        return false
  end

end # Game_Interpreter

Incompatibilità:
Nessuna incompatibilità

Note dell'Autore:
In modalità finestra il mouse compare e scompare, a schermo intero invece resta nascosto.
Progetto in Lavorazione : ⓝⓔⓣⓦⓞⓡⓚ ⓓⓤⓝⓖⓔⓞⓝⓢ




[spoiler=]Trama: 70%
Grafica 10 %
Mapping 1%
Database 60% [/spoiler]
Contest Vinti finora : [spoiler=]Nessuno.[/spoiler]

#2 OFFLINE   mikb89

mikb89

    RM - Dreamers

  • RM - Dreamers
  • 638 messaggi
  • Ruolo:
    Scripter
  • Progetto VX:
    CTAF e DF:A
  • Tool:
    VX finché non completo questi.

Inviato 26 March 2012 - 07:11 PM

Gli hai chiesto se lo potevi postare? Perché Keroro è anche qui.
Immagine inserita Immagine inserita
Immagine inseritaImmagine inserita

Immagine inserita Immagine inserita Immagine inserita Immagine inserita Immagine inserita Immagine inserita
Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita

Immagine inserita
Immagine inseritaImmagine inseritaImmagine inserita

Immagine inseritamikb89's Character Maker Immagine inseritaRM CopyPaste Immagine inseritaScript Templater Immagine inseritaRM Chara Converter NEW

Immagine inseritaImmagine inserita

Citazioni pescate sul forum:
Spoiler

#3 OFFLINE   +NoosiTD

NoosiTD

    Maker Viandante

  • +Utenti RM
  • 150 messaggi
  • LocalitàCasa mia, Villaputzu, Sardegna, Italia, Europa, Terra, Via Lattea
  • Ruolo:
    Eventer
  • Progetto 2k/2k3:
    NetWork Dungeons
  • Progetto XP:
    N\A
  • Progetto VX:
    N\A
  • Progetto Ace:
    N\A
  • Tool:
    Quaderno, matita

Inviato 26 March 2012 - 07:31 PM

Sì, gliel'ho chiesto ^^
Progetto in Lavorazione : ⓝⓔⓣⓦⓞⓡⓚ ⓓⓤⓝⓖⓔⓞⓝⓢ




[spoiler=]Trama: 70%
Grafica 10 %
Mapping 1%
Database 60% [/spoiler]
Contest Vinti finora : [spoiler=]Nessuno.[/spoiler]

#4 OFFLINE   +Keroro

Keroro

    Nuovo Arrivato

  • +Utenti RM
  • 9 messaggi
  • Progetto Ace:
    Supernatural

Inviato 29 March 2012 - 05:28 PM

Me lo hai chiesto ma non hai atteso una risposta visto che l'mp l'ho letto solo oggi :grossourire

La mia politica è che li pubblico io perché ci continuo a lavorare sopra, se volessi mettere la versione aggiornata dovrei creare un nuovo topic -.-

Se non l'ho pubblicato prima è perché non mi sembrava che qui servisse a qualcuno.. lieto di sbagliarmi nel caso!

#5 OFFLINE   mikb89

mikb89

    RM - Dreamers

  • RM - Dreamers
  • 638 messaggi
  • Ruolo:
    Scripter
  • Progetto VX:
    CTAF e DF:A
  • Tool:
    VX finché non completo questi.

Inviato 30 March 2012 - 07:06 PM

Beh, qui ci sono molti utilizzatori di Ace, mi pare, perché pensavi non servisse a nessuno?

Noosi se l'avessero fatto a me mi sarei incazzato di brutto ^^

Cmq, Keroro, te lo chiedo mentre ci sono: si potrebbero includere in qualche modo i tasti di un eventuale gamepad?
Immagine inserita Immagine inserita
Immagine inseritaImmagine inserita

Immagine inserita Immagine inserita Immagine inserita Immagine inserita Immagine inserita Immagine inserita
Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita

Immagine inserita
Immagine inseritaImmagine inseritaImmagine inserita

Immagine inseritamikb89's Character Maker Immagine inseritaRM CopyPaste Immagine inseritaScript Templater Immagine inseritaRM Chara Converter NEW

Immagine inseritaImmagine inserita

Citazioni pescate sul forum:
Spoiler

#6 OFFLINE   Ally

Ally

    undefined method 'stupid_title' found for nil:NilClass

  • RpgMkr Staff Admin
  • 6875 messaggi
  • LocalitàChocolate Land
  • Ruolo:
    Mapper
  • Progetto VX:
    Essence
  • Tool:
    RM2k/2k3

RM - Awards

5 3 3

Inviato 31 March 2012 - 01:31 AM

Credo che Noosi voleva solo rendersi utile e partecipe.
Dovrei poter riuscire a cambiare l'autore del topic...keroro va bene? Così puoi modificare e aggiornare direttamente tu ;)
Immagine inserita"We know you love making and playing games, so we put a game maker inside your game." - RPG Maker
Spoiler

#7 OFFLINE   +Keroro

Keroro

    Nuovo Arrivato

  • +Utenti RM
  • 9 messaggi
  • Progetto Ace:
    Supernatural

Inviato 31 March 2012 - 09:29 AM

@Ally: Ottimo se ci riesci ^^
@Mikb89: Recupero un Gamepad il mese prossimo, non prevedo però di lavorare sugli assi quindi il movimento sarà quello predefinito nell'ace (cioè genera eventi UP-LEFT-DOWN-RIGHT), riguardo alla pressione dei tasti si può fare!

#8 OFFLINE   mikb89

mikb89

    RM - Dreamers

  • RM - Dreamers
  • 638 messaggi
  • Ruolo:
    Scripter
  • Progetto VX:
    CTAF e DF:A
  • Tool:
    VX finché non completo questi.

Inviato 31 March 2012 - 11:29 AM

Credo che Noosi voleva solo rendersi utile e partecipe.

Beh, certo ^^
Ma io credo mi sarei arrabbiato comunque xD magari poi avrei capito, ma intanto mi sarei arrabbiato!

Keroro, sarebbe fantastico! E io poi lo userei per lo script a due giocatori che per l'Ace conto di sviluppare ancora meglio di quello per VX, se non hai nulla in contrario ^^
Immagine inserita Immagine inserita
Immagine inseritaImmagine inserita

Immagine inserita Immagine inserita Immagine inserita Immagine inserita Immagine inserita Immagine inserita
Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita Immagine inseritaImmagine inseritaImmagine inserita

Immagine inserita
Immagine inseritaImmagine inseritaImmagine inserita

Immagine inseritamikb89's Character Maker Immagine inseritaRM CopyPaste Immagine inseritaScript Templater Immagine inseritaRM Chara Converter NEW

Immagine inseritaImmagine inserita

Citazioni pescate sul forum:
Spoiler

#9 OFFLINE   +Keroro

Keroro

    Nuovo Arrivato

  • +Utenti RM
  • 9 messaggi
  • Progetto Ace:
    Supernatural

Inviato 31 March 2012 - 01:52 PM

No problem, anche se credo che con due giocatori ci voglia almeno un action battle system per rendere il gioco divertente, personalmente Sapphire IV non mi piace u.u





Anche taggato con System Mod

0 utente(i) stanno leggendo questa discussione

0 utenti, 0 ospiti, 0 utenti anonimi