[GDRCD 5.1] dadi chat
[GDRCD 5.1] dadi chat postato il 21/10/2012 13:21:14 nel forum programmazione, open source e hosting e modificato da henry97 il 29/10/2012 19:08:18
Mi scoccia dovervi sempre chiedere ma purtroppo le mie capacità hanno un limite 😵.
Non ho mai modificato quasi nulla nella funzione dei dadi tranne scegliere quali usare nel file config.inc.php togliendo gli altri.
Ora però in chat mi compare un messaggio storpiato:
13:09 Mike usa : 0, dado 13, totale 13
In poche parole compare uno 0 da non so dove e non compare per esempio il dado che ho usato cioè quello da 20 e il risultato cioè 13 m due voci sensa senso.
Io vorrei semplicemente:
13:09 Mike usa : dado 20, risultato 13
Devo modificare in ref_header? Ci sono già andato ma non so cosa toccare e per evitare di fare danni prima chiedo a voi.
Spero qualcuno possa essermi d'aiuto visto che è uno degli ultimi ostacoli.
Pagine → 1 2
21/10/2012 19:50:21
}elseif (gdrcd_filter('get', $_POST['id_stats']) != 'no_stats' && gdrcd_filter('get',$_POST['dice']) != 'no_dice'){
mt_srand((double)microtime()*1000000);
$die=mt_rand(1,gdrcd_filter('num', (int)$_POST['dice']));
Qui trovi il nodo dell'if dove viene creato l'insert nel database con il testo che vedi in chat. Il testo per i dati lo crea direttamente inviandolo nella stringa di query devi operare qui nello specifico:
Hai successivamnete a queste righe:
$car = gdrcd_query("ecc.. ecc...
$racial_bonus = gdrcd_query("ecc... ec....
e poi c'è la riga che ti interessa:
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['uses']).' '.gdrcd_filter('in',$PARAMETERS['names']['stats']['car'.$id_stats[1]]).': '.gdrcd_filter('in',$PARAMETERS['names']['stats']['car'.$id_stats[1].'']).' '.gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus']).', '.gdrcd_filter('in', $MESSAGE['chat']['commands']['use_skills']['die']).' '.gdrcd_filter('num',$die).', '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['sum']).' '.(gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus'])+gdrcd_filter('num',$die)+gdrcd_filter('num',$rank['grado'])+gdrcd_filter('in',$bonus['bonus']))."')");
Puoi farlo diventare:
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['uses']).': '.gdrcd_filter('in', $MESSAGE['chat']['commands']['use_skills']['die']).' '.gdrcd_filter('num',$die).', '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['sum']).' '.gdrcd_filter('num',$die)."')");
Dovresti risolvere, se hai necessità di utilizzare il parametro per visualizzare ed utilizzare le skill nella scheda ma queste non creano e non danno nessun modifica o bonus sui dadi fai così, fatti un backup perchè se poi un giorno invece vuoi aggiungere ai dadi punteggi skill, bonus raziali ecc.. rimetti quello che c'era prima configurando il vocabolario ad hoc.
21/10/2012 19:56:45
No non ho nessuna necessità collegata alle skill anche perchè non ne ho.
Grazie come sempre, proverò subito.
21/10/2012 20:06:29
In parte ha risolto il problema ma in parte è ancora confuso il messaggio:
20:04 Mike usa: dado 18, totale 18
Vorrei:
20:04 Mike usa: dado 20, risultato 18
Continua a comparire lo stesso risultato nei due valori, tiro un d20 e compare 18 in entrambi.
21/10/2012 21:01:09
Se non ti serve il sistema delle skill allora ripristina il codice che ti ho segnalato e piuttosto modifica nel config l'impostazione delle skill "spegnendo" la funzionalità così il tiro di dado ti va singolo senza l'aggiunta dei poter e dei bonus e ti pesca tra l'altro nel vocabolario i parametri che non dovrebbero riportare "risultato" dato che con il tutto il resto di solito fa la somma per questo viene scritto in quel modo.
Cmq basta che cerchi nel vocabolario quel "risultato" che è $MESSAGE['chat']['commands']['use_skills']['sum'] e lo modfichi oppure ancora megio almeno lasci le variabili del pacchetto base li un giorno dovessero servirti cambi nella query così, togli il MESSAGE e metti la stringa fissa "risultato ".gdrcd_filter('num',$die) così:
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['uses']).': '.gdrcd_filter('in', $MESSAGE['chat']['commands']['use_skills']['die']).' '.gdrcd_filter('num',$die).', '.gdrcd_filter('in','risultato '.gdrcd_filter('num',$die)."')");
21/10/2012 21:16:49
Aspetta, leggendo ho fatto un po di confusione.
Ricapitoliamo:
metto l'ultimo codice dove mi avevi detto di mettere l'altro prima,
messo ma ora non compare nulla in chat XD
non ho capito cosa devo modificare in config o vocabulary?
21/10/2012 22:24:18
Pardon ho fatto io troppa confusione scrivendo di tutto. Sono possibilità differenti.
1. ripristini il file ref_header.inc.php com'era e in config modifichi il parametro:
$PARAMETERS['mode']['skillsystem']='OFF';
//ON: E' attivato il sistema di gioco con punteggi, abilità e tiri di dado.
//OFF: E' attivato il sistema di gioco solo interpretativo
Se metti OFF questo parametro e lasci ON il parametro:
$PARAMETERS['mode']['dices']='ON';
//ON: E' attivato il tiro di dado.
//OFF: Non è attivato il tiro di dado
dovresti poter usare i dadi senza che ti compaia quella scritta aggiuntiva.
Secondo me la più corretta e pulita così lasci il sistema intatto, io avevo capito ti servisse la lista skill e la gestione di queste ma le volevi escludere dal dado. Visto che non usi proprio le skill invece tanto vale disattivarle soltanto, rimetti la query originale e così ti utilizza il ref_header direttamente la query successiva (è un'altra quella che usa solo i dadi senza skill è già prevista) e così domani che ti servono le skill basta che le attivi dal config.
2. Non tocchi vocabolario e metti invece il testo "risultato"
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['uses']).': '.gdrcd_filter('in', $MESSAGE['chat']['commands']['use_skills']['die']).' '.gdrcd_filter('num',$die).', '.gdrcd_filter('in','risultato '.gdrcd_filter('num',$die)."')");
(Si è quella che ti ho già indicato come query da modificare prima è ulteriormente modificata)
in maniera statica nella query di prima così comparirà il testo giusto e non tocchi il vocabolario, un domani se devi usare il sistema skill e dadi di gdrcd devi ricordarti solo di riportare questa query com'era in versione originale.
3. lasci il file così com'è e apri il vocabolary modificando questa voce:
$MESSAGE['chat']['commands']['use_skills']['sum']='totale';
Invece che totale ci scrivi "risultato". Come sopra partendo dal presupposto che hai cmq la query modificata se un giorno ti serve il sistema di skill e dadi di gdrcd devi modificare la query e riportarla come in ogirinale e qui in più devi ricordarti poi di sistemare questa voce del vocabolario.
21/10/2012 22:36:11
Eh era già tutto così anche prima, ma non compare nulla, aspetta che riprovo
21/10/2012 22:46:26 e modificato da henry97 il 21/10/2012 22:57:35
Riprovato ma proprio non va.
Le due opzioni ON/OFF erano già impostate così, il codice che all'inizio mi avevi detto di modificare l'ho reinserito originale e ho messo quello che mi hai dato dopo.
EDIT: Vedendo che non ne parli mai mi viene il dubbio che tu abbia capito che il problema è la parola 'risultato'.
Il mio problema è il fatto che non mi visualizza il dado che lancio ma solo ripete due volte il risultato del lancio cioè:
dado 18, totale 18
dado 20, risultato 18
22/10/2012 03:06:18
In realtà non capisco come mai ti entri nella sezione di calcolo dadi più stats se il parametro sul config è impostato su off per le skill e su on per i dadi. Inoltre ho dado un occhiata al codice ora ho notato che è previsto già che faccia quello che chiedi quindi o hai un problema nel tuo file o si tratta di un bug nel ref_header, domani metto su il base e faccio un paio di test in caso vedo di tirare su una patchettina se il problema è effettivamente nel file originale.
Intanto prova a fare così:
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['uses']).': '.$chat_dice_msg.', '.gdrcd_filter('in','risultato '.gdrcd_filter('num',$die)."')");
Dovresti riuscire a risolvere il problema.
22/10/2012 17:04:52 e modificato da henry97 il 01/11/2012 16:53:54
RISOLTO
Posto la soluzione se qualcuno dovesse averne bisogno:
SOLUZIONE BY RADISH
- Sostituisco il codice 'Tiro su caratteristica' con questo:
/** * Tiro su caratteristica
* @author Blancks
*/
$racial_bonus = gdrcd_query("SELECT
bonus_car".gdrcd_filter('num',$id_stats[1])." AS racial_bonus FROM
razza WHERE id_razza IN (SELECT id_razza FROM personaggio WHERE
nome='".$_SESSION['login']."')");
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario,
ora, tipo, testo ) VALUES (".$_SESSION['luogo'].",
'".$_SESSION['sesso'].";".$_SESSION['img_razza']."',
'".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].'
'.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']
['uses']).' '.gdrcd_filter('in',$PARAMETERS['names']['stats']
['car'.$id_stats[1]]).': '.gdrcd_filter('in',$PARAMETERS['names']
['stats']['car'.$id_stats[1].'']).'
'.gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus']).',
'.gdrcd_filter('in', $MESSAGE['chat']['commands']['use_skills']
['die']).' '.gdrcd_filter('num',$die).',
'.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']
['sum']).'
'.(gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus'])+g
drcd_filter('num',$die)+gdrcd_filter('num',$rank['grado'])+gdrcd_filte
r('in',$bonus['bonus']))."')");
} else if (gdrcd_filter('get',$_POST['dice'])!='no_dice'){
mt_srand((double)microtime()*1000000);
$die=mt_rand(1,gdrcd_filter('num',$_POST['dice']));
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario,
ora, tipo, testo ) VALUES (".$_SESSION['luogo'].",
'".$_SESSION['sesso'].";".$_SESSION['img_razza']."',
'".$_SESSION['login']."', '', NOW(), 'D', '".$_SESSION['login'].'
'.gdrcd_filter('in',$MESSAGE['chat']['commands']['die']
['cast']).gdrcd_filter('num',$_POST['dice']).':
'.gdrcd_filter('in',$MESSAGE['chat']['commands']['die']['sum']).'
'.gdrcd_filter('num',$die)."')");
} else if (gdrcd_filter('get',$_POST['id_item'])!='no_item'){
$item=explode('-', gdrcd_filter('in',$_POST['id_item']));
if ($item[1]==1){
$query="DELETE FROM clgpersonaggiooggetto WHERE nome
='".$_SESSION['login']."' AND
id_oggetto='".gdrcd_filter('num',$item[0])."' LIMIT 1";
} elseif ($item[1]>1){
$query="UPDATE clgpersonaggiooggetto SET cariche = cariche -1 WHERE
nome ='".$_SESSION['login']."' AND
id_oggetto='".gdrcd_filter('num',$item[0])."' LIMIT 1";
}
gdrcd_query($query);
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario,
ora, tipo, testo ) VALUES (".$_SESSION['luogo'].",
'".$_SESSION['sesso'].";".$_SESSION['img_razza']."',
'".$_SESSION['login']."', '', NOW(), 'O', '".$_SESSION['login'].'
'.gdrcd_filter('in',$MESSAGE['chat']['commands']['die']['item']).':
'.gdrcd_filter('in',$item[2])."')");
}
}
- in vocabulary metto:
$MESSAGE['chat']['commands']['die']['cast']='Lancia dado ';
E OTTENGO:
17:00 Mike Lancia dado 20: Risultato 8
TESTATO!
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Project Entropy ↗
Seconda Era ↗
Cafuné ↗
Enlisted ↗
Tibia ↗
World of the Sea Battle ↗
The Coven ↗
Sea of Conquest ↗
Storie di Agarthi ↗
World of Warship ↗