[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
Shadow Scape: ✨ Land nuovamente aperta!
La Tana del Ladro: ~ Forte Xantharl - La Rocca dei Burroni ~
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Dalemyr: Pratoverde, festa in tutti i Reami
Entropia Universe: Note sulla versione di Entropia Universe 18.13.0
Gioco più visitato di Aprile 2025: The Last Sparks - Savannah Tales
Enlisted: Rendiamo Enlisted un posto migliore N° 68
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!
I dati del generatore di rank sono stati aggiornati!
One Piece World: Level Up verso l'unicità
Legacy of Magic: Missione Superstizione IIII
Football Team Soccer: Ultimo numero del nostro magazine!
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
Enlisted: Saldi di maggio in Enlisted
Raxhodya Yaoi GdR: Nuova Trama: L'incubo Senza Volto
Shadow Scape: ✨ Chiusura momentanea
Left to Survive → Left To Survive è un gioco FPS con un'ambientazione post-apocalittica in cui gli Zombi hanno schiavizzato la Terra e ne hanno preso il controllo!
The Young Riders Italia - Intervista alla gestione del play by email western The Young Riders Italia
Ansia e GdR - GdR Online per i timidi: Come superare l'Ansia Sociale Virtuale!
Giochi Final Fantasy - Lista completa dei giochi di ruolo online ambientati nel mondo di Final Fantasy
Lucca C&G 2018 - Le dieci cose che ci sono piaciute nella splendida edizione 2018 di Lucca Comics and Games!
NosTale - Con l’aiuto della spada e della bacchetta magica risolverai abilmente intricate missioni e domerai coraggiosamente mostri selvaggi!
Giochi da Tavolo - I giochi da tavolo dei casino online: baccarat, craps e tanti altri!
Ambientazioni GdR - Le ambientazioni migliori per i GDR e il loro potenziale!
Star Trek Federation - Intervista ai gestori del GdR Star Trek Federation ambientato nell'universo creato da Gene Roddenberry!