[GDRCD5]Richiesta codice monte ore postato il 27/11/2010 18:17:42 nel forum programmazione, gdrcd, open source, hosting
Semplicemente, c'è qualcuno che ha creato/ha ottenuto un codice funzionante per il calcolo di un monte ore e/o per la ricarica automatica della salute? Se si, è possibile averlo? grazie e scusate la schiettezza^^
Pagine → 1
27/11/2010 19:19:49
27/11/2010 19:52:29
Non c'è esattamente un codice, sto guardando come base uno vecchio che mi hanno passato da vedere, ma c'entra poco.. in pratica, per quello che serve a me, nello specifico dovrebbe controllare (automaticamente o su attivazione manuale, in base alle possibilità) un parametro che verifichi che nelle ultime 24 ore non c'è stato un "refresh". dopodichè controlla se la salute degli utenti è minore della salute massima, e se non sono morti la incrementa, e resetta il parametro di controllo.
L'altra sua funzione separata è quella di contare il tempo di gioco di un player, salvarlo nel db, dopodichè al refresh di cui sopra assegna exp extra in base al tempo (con un tetto massimo)e dia lo stipendio (quindi disabilitando la funzione dello stipendio della banca).
Sto provando a mangiarci sopra, ma finora ho solo risultati molto deludenti (infatti mastico ancora poco poco di php) e comunque mi sembra una funzione "comoda" anche per altre land, per cui se questo post diventasse anche una futura risorsa per GDRCD5 sarebbe fantastico.
Intanto grazie per la risposta...
27/11/2010 21:25:19
27/11/2010 21:48:12
grazie della dritta proverò a smanettarci sopra.
Per quanto riguarda la seconda parte si parla proprio di tempo giocato, per cui il parcheggiamento gratuito non conta in quanto non si azione.
intanto grazie mille, proverò a vedere se combino qualcosa di buono! in caso positivo posterò il codice!
28/11/2010 19:21:26 e modificato da ntg production il 28/11/2010 19:37:27
ok ,proverò a spiegarlo con il diagramma che sto seguendo per tentativi. Per chiarezza non è un codice, ma solo come ho scritto le cose per semplicità:
la parte di calcolo del tempo di gioco sarebbe così:
all'invio dell'azione del pg:
variabile del Personaggio $ultima_azione //orario azione precedente
variabile del Personaggio $monte_ore // la somma del tempo di gioco
variabile di funzione $azione_corrente //orario ultima azione
variabile di funzione $tempo_corrente //il tempo di stacco tra le ultime due azioni
parametro $tempo_min //il minimo di tempo tra azioni inviate
parametro $tempo_max //il max di tempo tra azioni inviate
parametro $max_monte_ore //il massimo di tempo accumulabile
$tempo corrente = $azione_corrente - $ultima azione
se ($monte_ore < $max_monte_ore){
se ($tempo corrente > $tempo_min){
se ($tempo_corrente < $tempo_max){
se ($monteore + tempo_azione > $max_monteore){
$monte_ore = $max_monte_ore;
}
altrimenti {
$monte_ore = $monte_ore + $tempo_corrente;
}
}
}
}
$ultima_azione = $azione_corrente;
questo succede invece allo scadere della giornata, ovviamente si può settare l'orario di calcolo delle 24 ore dall'ora preferita:
per ogni personaggio:
se ($salute < $salute_max){
se ($salute + $recupero > $salute_max){
$salute = $salute_max;}
altrimenti{
$salute = $salute + $recupero)
la variabile di recupero può essere fissa oppure dipendente dalel stat del personaggio, io preferirei la seconda, per dire.
questo invece succede allo scattare della settimana (io vorrei fare un conteggio settimanale di exp e soldi, però si potrebbe fare come si vuole):
per ogni personaggio:
parametro $min_monte_ore //il minimo di tempo che si richiede per ricevere i bonus;
variabile di funzione
$soldi_pg = $soldi_pg + $stipendio pg x 2; //come se il pg avesse lavorato poco, questo succede se un player non gioca il minimo;
se ($monte_ore >= $min_monte_ore) {
$soldi_pg = $soldi_pg + $stipendio_pg x 3 + floor(($monte_ore - $min_monte_ore)/$min_monte_ore) x $stipendio_pg; //se il player gioca il minimo prende lo stipendio di 5 giorni lavorativi, se gioca di più prende gli "straordinari", quindi da 1 a 2 stipendi extra;
$exp_pg = $exp_pg + $bonus_exp x 2 + floor(($monte_ore - $min_monte_ore)/$min_monte_ore) x $sbonus_exp; // il minimo sindacale di gioco aggiudica exp extra, giocando di più si ottengono incrementi equivalenti a quelli dello stipendio;
}
$monte_ore = 0; //questo accade a prescindere dallo stato del monte ore, allo scattare settimanale della funzione ogni monte ore viene riportato a 0.
Questo è quanto. spero di non aver omesso nulla... e per adesso torno a vedere se ottengo qualcosa di funzionale... grazie e ciau!
14/12/2010 16:21:03
ok, dopo un pò di tentativi, almeno la ricarica salute sono riuscito a terminarla (anche se è migliorabile, però almeno questa versione funziona)...
c'è da inserire il codice in una pagina apposta, io l'ho messa accessibile come opzione dal menù gestione per lasciare l'accesso ai solo addetti ai lavori^^
Il codice controlla se c'è stata una cura dall'ultima data registrata in Timeup, dopodichè aumenta la salute di tutti i pg.
Ovviamente, funziona una volta al dì^^
Enjoy!
25/02/2018 15:16:18
Porto in up il topic perchè nonostante non figurino errori, la salute non viene incrementata nè è presente alcun tasto per il controllo giornaliero sulla salute di tutti i personaggi. Qualcuno ha risolto?
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
aik ha risposto alla discussione: IA e gdr: idee di sviluppo
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Storie di Agarthi: Preparando il terreno per la nuova sezione domande
Il gestore di The Coven ha risposto alla recensione di blackmines
Hogwarts Ends: Studenti, all'opera: stage estivi ad Hogsmeade!
La Tana del Ladro: Finalmente il Disgelo
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
Hikaru No Tohei - Le Luci di Tohei: Butanews! - Manutenzione: Hikanoto 2.0! 👷♂️🛑
FragPunk: Copricapo "Horsing Around"
Enlisted: Aggiornamento "Forest Shadows" live!
anneth ha risposto alla discussione: [GDRCRD 5.6.0.5] Funzione deprecata da vecchio codice a nuovo
Football Team Soccer → Diventa una stella del calcio! Crea, allena ed equipaggia il tuo giocatore. Unisciti a un club e vinci in Football Team Game!
staff shadowland ha aperto una nuova discussione: [GDRCRD 5.6.0.5] Funzione deprecata da vecchio codice a nuovo
Underworld of Rome: 20 anni di UoR ! Quest tematiche
The Coven: Side quest conclusa ed introdotta una nuova razza
blue_berry ha aperto un annuncio di ricerca: Fantasy d'autore ricerca Programmatore
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
Giochi Guerre Mondiali - Lista completa dei giochi di ruolo online ambientati durante le guerre mondiali
Creazione Gdr - Guida teorica alla creazione di un gdr play by chat a cura di Kaname. Non sbagliare i primi passi!
Scontornare Immagini - Scontornare immagini online e gratis grazie a Remove.bg!
Cavalieri dello Zodiaco - Lista completa dei giochi di ruolo online ambientati nel mondo dei Cavalieri dello Zodiaco
My Hero Academia GDR - Intervista al forunder del play by forum My Hero Academia GDR Become a Hero!
Brakebills GDR - Intervista alle gestrice del play by forum ispirato ad Harry Potter Brakebills GDR
Cookie Law - Cookie Law Europea: come adeguare velocemente il proprio gioco grazie ad Iubenda
Dipendenze - Role-playing game: nuova droga elettronica?