Gdrcd 5 Dadi postato il 16/07/2010 20:51:53 nel forum programmazione, gdrcd e open source
1)Sto usando questo pacchetto per provare a creare qualcosa di bello, ma non riesco a superare un problema: vorrei far si che quando un pg usa un' abilità anzichè far nella somma oltre al lancio del dado e al rango la caratteristica intera, sommasse solamente il lancio del dado, il rango e la caratteristica come in D&D.
es. Intelligenza 20 = 5
Intelligenza 18 = 4
Intelligenza 16 = 3
Intelligenza 14 = 2
Intelligenza 12 = 1
Intelligenza 10 = 0
Intelligenza 8 = -1
Intelligenza 6 = -2 ecc.
Esiste un algoritmo che mi permetta di inserire questi valori (cioè 5 anzichè 20)?
2)Inoltre le caratteristiche degli item (ad esempio una spada che da + 1 in forza) non vengono gia sommate alle caratteristiche nella scheda, ma vengono usate solamente nelle prove delle abilità, per questa implementazione non so proprio dove metter le mani...
Grazie.
Pagine → 1 2
16/07/2010 23:16:52 e modificato da tidush il 16/07/2010 23:28:19
Il secondo che mi hai dato è buono(grazie!)... 20/2 - 5= 5 10/2 -5 = 0, solamente che bisogna fare il cast che in php non ho idea di come si faccia, perchè: es. 13/2 - 5= 1,5 invece dovrebbe essere un intero (e quindi 2)
inoltre 11/2 - 5= 0,5 e dovrebbe essere 0 , non 1...
Per la seconda domanda invece devo studiare meglio il linguaggio php lo so, chiedevo solamente se qualcuno l'aveva gia fatto e poteva darmi un suggerimento
17/07/2010 00:12:40
occhio che nel primo caso arrotondi per eccesso nel secondo arrotondi per difetto. Se scegli un metodo di arrotondamento dovresti usare sempre quello altrimenti rischi incongruenze con la progressione
17/07/2010 00:33:48
no infatti bisogna sempre arrotondare per difetto, ho fatto confusione... 13 è + 1 e non è +2, in ogni caso non riesco a fare il cast (le righe interessate sono queste, ma non so dove metterlo (int) (ho provato ovunque ma non funziona)
['car'.$skill['car'].'']).' '.gdrcd_filter('num',$car['car_now']).', '.gdrcd_filter('in', $MESSAGE['chat']['commands']
['sum']).' '.(gdrcd_filter('num',$car['car_now'])+gdrcd_filter('num',$die)+gdrcd_filter('num',$rank['grado'])+gdrcd_filter('in',$bonus['bonus']))."')";
17/07/2010 01:30:28
l'algoritmo che usa dnd 3rd per i bonus e' molto semplice, e' floor((x-10)/2).
Quella delle armi non l'ho capita molto. L'arma "+1" di dnd da +1 al tiro per colpire, ovvero aumenta di +1 l'uso di una abilita', non va certo a dare forza + 1. In ogni caso la modifica andrebbe fatta in scheda.inc.php, facendo una query che, per ogni caratteristica, mi dia la somma dei bonus a quella caratteristica dovuti agli oggetti con posizione diversa da -1 in possesso del pg.
17/07/2010 09:47:44
Prima di tutto grazie per l'interessamento, ma...
non riesco a capire dove va il cast (float)...
riga normale:
['car'.$skill['car'].'']).' '.gdrcd_filter('num',$car [('car_now'-10)/2]).', '.gdrcd_filter('in', $MESSAGE['chat']
riga con float:
['car'.$skill['car'].'']).' '.gdrcd_filter('num',$car [float(('car_now'-10)/2])).', '.gdrcd_filter('in', $MESSAGE['chat']
ho provato a metterlo in tutte le posizioni float ma niente...
Per gli oggetti faber intendo un'altra cosa(non il bonus per colpire)...Se ad esempio hai degli stivali che ti danno +1 in destrezza, vorrei che ti sommasse +1 alla destrezza nella scheda, perchè se te lo va a sommare come adesso solo nell'uso delle abilità dopo è sballato il lancio delle abilità.
Faccio un esempio se mi son spiegato male:
A ha 12 in destrezza
A compra stivali +1 destrezza
la scheda di A rimane 12 in destrezza, e quando vai a fare un lancio abilità, che usa destrezza, con l'algoritmo somma lancio del dado, bonus caratteristica (cioè 1), rango e ITEM (cioè 1)...Quindi la somma parziale è 2, invece dovrebbe essere solo 1, perchè in destrezza in totale A ha 13.
17/07/2010 11:29:24
18/07/2010 01:21:37
ok per la funzione floor, mi ha risolto il primo problema!
ma riguardo a cio che hai detto sui bonus raziali(se intendi tipo elfi = +2 destrezza) non li calcola... (mi pare!)
18/07/2010 11:36:48 e modificato da mr_faber il 18/07/2010 12:19:57
certo che lo fa. prova a prendere la razza del tuo personaggio, assegnare un bonus ad una caratteristica e guarda se non e' aumentata quella caratteristica sul personaggio.
EDIT: Ho fatto unc ontrollino e c'e' un piccolo problema id facile risoluzione.
Il bonus raziale viene visualizzato correttamente in scheda ma non viene applicato allo skill check.
La soluzione e' semplice. Alla linea 19 di ref_header.inc.php c'e' inizia il blocco condizionale dove viene gestito lo skill check. Tra le varie query di select che esegue aggiungere:
18/07/2010 22:53:37 e modificato da tidush il 18/07/2010 23:13:41
non risolve, continua a non calcolarlo..ho aggiunto quelle query li dove andavano aggiunte, poi la riga da modificare risulta cosi (con anche il floor) - ->
gdrcd_filter('num',floor(($car ['car_now']+$racial_bonus['racial_bonus']-10)/2))
mi sembra sia corretta, ma continua a non calcolarlo!
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
deanna ha recensito Roma I Triumviri