Visualizzazione risultati 1 fino 10 di 10

Discussione: aggiornare risorse browsergame [era: aiuto funzione php]

  1. #1
    Guest

    Predefinito aggiornare risorse browsergame [era: aiuto funzione php]

    ciao a tutti, a tempo perso stò cercando di creare un browser game stile "mafia wars" quello di zynga; sono sorto a un problema, come la maggior parte dei BG tutti hanno un'energia che viene utilizzate per compiere azioni ma come faccio per far ricaricare automaticamente e col passare del tempo l'energia? anche quando la pagina viene chiusa! per caso c'è qualche funzione in phpmyadmin che incrementa dei numeri con il passare del tempo? oppure come dovrei fare?
    grazie a chi mi aiuta

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Hai due strade:

    Utilizzare il cron job (li trovi tra i tool del pannello).

    Oppure inventarti un modo che al caricamento di una pagina vada ad aggiornare i valori per tutti i giocatori salvandoti la data dell'ultimo aggiornamento e incrementando il valore in base al tempo trascorso.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    grazie mille, però il cron job minimo me lo aggiornerebbe ogni ora, in minuti non si pùò fare!
    quindi non mi resta che la seconda strada, però non saprei da dove cominciare! i veri BG che sistema usano per fare ciò?

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Direi che i veri BG hanno dei server dedicati.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    e quindi con i server di loro proprietà usano i cronotab?

  6. #6
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Ultima modifica di alemoppo : 05-03-2013 alle ore 15.59.33

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Grazie alemoppo, ho quasi risolto; finchè sono online li faccio fare un refresh automatico ogni tot tempo e con un submit automatico lo invio al db!
    Invece per quando un utente non è online avevo pensato che prima di uscire gli viene un'alert o un confirm e dando l'ok aggiorna il timestamp! Ora il mio problema è: come faccio a mettere un form che invia dati dentro un'alert o un confirm?!
    Grazie

  8. #8
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Citazione Originalmente inviato da bylori Visualizza messaggio
    finchè sono online li faccio fare un refresh automatico ogni tot tempo e con un submit automatico lo invio al db!
    Ogni secondo fai fare un refresh della pagina? {a questo punto ti conviene usare ajax}.

    Mi sa che non hai capito come ho suggerito nell'altra discussione: ogni volta che hai bisogno di sapere quante risorse ha (e quindi al caricamento della pagina dell'utente), sottrai il timestamp attuale con quello salvato. Così trovi i secondi che sono passati da quella volta. Quale volta? Beh, questo devi deciderlo tu, ovvero ogni quanto vuoi aggiornare il timestamp? Ogni volta che spende le risorse? Boh, dipende da come funziona il browsergame.
    Tramite javascript, poi, fai un incremento ( ogni secondo ??? ) alle risorse che ti sei calcolato all'inizio della generazione della pagina... giusto per far vedere al giocatore che le risorse stanno aumentando... Anche se in realtà le vere risorse che utilizzi sono la differenza tra il timestamp attuale e quello salvato dall'altra volta. Le risorse che aumentano via javascript non devi salvarle, anche perché l'utente potrebbe farle lievitare artificialmente senza troppi problemi .

    Ciao!

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ogni secondo fai fare un refresh della pagina? {a questo punto ti conviene usare ajax}.
    attualmente il refresh è ogni 60 secondi per comodità mia, appena il bg sarà finito lo aumente a 5/10 minuti (ancora devo decidere), l'energia viene usata in continuazione è c'è un limite prefissato che ad ogni livello aumenta, non è come le risorse che possono incrementarsi in base allo spazio nei granaii xD il mio non è un bg simile a travian (non devi costruire una città) e in stile mafia wars di zynga (un gioco su facebook), e l'energia mentre online deve ricaricarsi!!
    io avevo scelto l'opzione dell'alert (o del confirm) così che quando esce o chiude il browser si apre questo alert (o confirm) che cliccando "ok" aggiorna il timestamp!
    invece quando rientra dopo il login si apre ancora l'alert per questa volta con scritto quanto tempo è passato da quando si è disconnesso e calcola quanta energia deve ricaricare e cliccando ok aggiorna l'energia!!

    tu mi consigli ajax? però non lo mastico :D e mi complicherei la vita :p e poi il metodo che ho adottato finchè resta online sembra funzionare bene :D

    la mia domanda è se è possibile inviare dati al db da un'alert (o confirm :D)!
    te sapresti come fare? perchè ho cercato su google ma non trovo quello che voglio fare!!

  10. #10
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Un'alert non può inviare nulla. È soltanto una finestra.
    Per fare quello che vorresti, potresti usare eventi come onBeforeUnload e simili: invocano una funzione quando si chiude il sito. Però funzionano soltanto per schede, e non per la chiusura dell'intero browser: se hai più schede aperte e ne chiudi una, allora in quel caso onBeforeUnload e simili funzionano. Invece se hai una sola scheda e la chiudi, oppure hai più schede aperte e chiudi il browser, questi metodi non funzionano.
    Infine, ti consiglio di non basarti su javascript, perché non tutti lo tengono attivato.

    p.s: l'uso degli alert infastidisce soltanto l'utente. Perché gli alert e non un semplice pulsante sul sito?

    Ciao!

Regole di scrittura

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