[GDRCD 5.x] Tutorial: incremento/decremento multiplo abilità
Pagine → 1 2
10/11/2021 10:51:09 e modificato da betsutamashi il 10/11/2021 10:58:44
Ho aggiunto questa funzione e va tutto perfettamente, ma ho riscontrato l'errore qui sotto riportato:
irenes ha scritto: segnalo un piccolo "bug". Non so neanche se è il termine giusto.
Sostanzialmente notavo che è possibile far arrivare un'abilità oltre al cap massimo stabilito per un'abilità.
Non è possibile portare l'abilità oltre al 10 SOLO se l'abilità che si cerca di aumentare è già ad un punteggio di 10 o superiore a 10.
C'è un modo per far sì che il nostro mitico tastino "+" non compaia più, ancora in fase di attribuzione punti, se un tizio ha già portato l'abilità al cap massimo impostato?
Mi chiedo se qualcuno l'ha risolto o come si possa risolvere, grazie!
21/06/2025 07:40:56 e modificato da staff shadowland il 21/06/2025 07:52:06
Riesumo questa discussione avendo riscontrato il medesimo Bug. Qualcuno è riuscito a risolverlo?
betsutamashi ha scritto: Ho aggiunto questa funzione e va tutto perfettamente, ma ho riscontrato l'errore qui sotto riportato:
[quote]irenes ha scritto: segnalo un piccolo "bug". Non so neanche se è il termine giusto.
Sostanzialmente notavo che è possibile far arrivare un'abilità oltre al cap massimo stabilito per un'abilità.
Non è possibile portare l'abilità oltre al 10 SOLO se l'abilità che si cerca di aumentare è già ad un punteggio di 10 o superiore a 10.
C'è un modo per far sì che il nostro mitico tastino "+" non compaia più, ancora in fase di attribuzione punti, se un tizio ha già portato l'abilità al cap massimo impostato?
Mi chiedo se qualcuno l'ha risolto o come si possa risolvere, grazie![/quote]
Credo ci sia qualcosa che non vada in questo punto di incremento/decremento poiché il sistema non tiene conto del cap impostato come limite.
<?php /*Stampo il form di incremento se il pg ha abbastanza px*/
if((((($ranks[$row['id_abilita']]+1)*$PARAMETERS['settings']['px_x_rank_abilita'])<=($px_totali_pg-$px_spesi))&&
(gdrcd_filter('get',$_REQUEST['pg'])==$_SESSION['login'])&&
($ranks[$row['id_abilita']]<$PARAMETERS['settings']['skills_cap_abilita'])) || (gdrcd_filter('get',$_REQUEST['pg'])==$_SESSION['login']) ||
($_SESSION['permessi']>=SUPERUSER)){ ?>
<a href="javascript:void(0);" class="skill_incr" data-skillid="<?php echo $row['id_abilita'] ?>">[+]</a>
<a href="javascript:void(0);" class="skill_decr" data-skillid="<?php echo $row['id_abilita'] ?>">[-]</a>
<?php } else { echo ' ';} ?>
21/06/2025 10:16:31
Hai già provato a modificare il cap nel file includes/gdrcdskills.js?
Se non ricordo male basta modificare la funzione maxSkillRank con il parametro desiderato e l'aumento si blocca. Ad esempio per impostare il cap a 10, basta modificare questo:
/* Il risultato di questa funzione determina il valore massimo raggiungibile per una skill */
function maxSkillRank(skillContainer) {
return 100;
}
con questo:
/* Il risultato di questa funzione determina il valore massimo raggiungibile per una skill */
function maxSkillRank(skillContainer) {
return 10;
}
21/06/2025 15:19:37
Avendo inserito anche io il pacchetto confermo che modificando l'impostazione da 100 a 10 il "+" scompare ! ^^
23/06/2025 15:40:19
Potrei essermi accorto delle risposte "recenti" a questo thread soltanto oggi, non vogliatemene. 👀
backwaters ha scritto: Hai già provato a modificare il cap nel file includes/gdrcdskills.js?
Se non ricordo male basta modificare la funzione maxSkillRank con il parametro desiderato e l'aumento si blocca.
Questa è una possibile soluzione al problema, confermo.
Il Problema
La libreria ha un suo parametro per stabilire il valore massimo di una skill, che si trova nel punto indicato da backwaters.
Di conseguenza non si allinea in automatico al valore di configurazione che viene salvato nel file di config di gdrcd qui:
$PARAMETERS['settings']['skills_cap'] = 10;
Dopo aver salvato la skill ad un valore non consentito, al refresh della pagina il PHP si accorge che la skill è sopra il limite massimo e non mostra più (correttamente, in questo caso) il tastino per l'incremento.
Soluzione n.2
La soluzione più comoda, a mio personale avviso, sarebbe quella di permettere alla libreria di allineare la sua "conoscenza" del massimo valore di una skill col valore salvato nel file config.inc.php.
Per fare questo, bisogna ritornare al punto 3 della guida, e aggiungere la parte che ho evidenziato con i commenti:
</div><!-- Elenco abilità -->
<script type="text/javascript">
var gdrcdSkills = new gdrcdSkills(
'#skillpoints',
'.skill',
'.skill_incr',
'.skill_decr',
function(rank) {
return <?php echo gdrcd_filter('num', $PARAMETERS['settings']['px_x_rank']); ?> * rank;
},
// Questo è il pezzo da aggiungere! Occhio alla virgola subito prima ;)
function(skillContainer) {
return <?php echo gdrcd_filter('num', $PARAMETERS['settings']['skills_cap']); ?>;
}
// Fine. Tutto il resto è invariato.
);
<?php if ($_SESSION['permessi']>=MODERATOR) { ?>
gdrcdSkills.allowMasterDecrement(true);
<?php } ?>
</script>
<?php } ?>
In questa maniera, se modificate il parametro dal file di configurazione di gdrcd dovrebbe cambiare in automatico anche il massimale consentito ai fini della modifica skill con questo metodo.
Spero di essere riuscito ad esprimermi in maniera comprensibile, nel caso tornerò a sbirciare eventuali risposte a questo topic 👻
24/06/2025 06:52:50
Grazie a chi ha risposto dando soluzioni. Per il 1° metodo suggerito, il + a me non scompare ma per ora pare che i punti si fermino al limite impostato nel file JS.
Ho provato anche il 2° metodo suggerito ma lì è come se finisse per bloccarsi tutto, il codice non permette di compiere operazioni in sintesi.
Ancora grazie a tutti, spero che altri abbiano risolto, io personalmente ho ripristinato il vecchio metodo del pacchetto cercando di rivederlo un pochino :)
24/06/2025 12:58:21
staff shadowland ha scritto: Grazie a chi ha risposto dando soluzioni. Per il 1° metodo suggerito, il + a me non scompare ma per ora pare che i punti si fermino al limite impostato nel file JS.
Ho provato anche il 2° metodo suggerito ma lì è come se finisse per bloccarsi tutto, il codice non permette di compiere operazioni in sintesi.
Ancora grazie a tutti, spero che altri abbiano risolto, io personalmente ho ripristinato il vecchio metodo del pacchetto cercando di rivederlo un pochino :)
Il metodo 2 funziona benissimo, l'unica cosa alla quale devi dare attenzione è la virgola (segnalata dallo stesso creatore, assente nel codice di partenza) prima della // di aggiunta ^^
Senza metterla i due pulsanti non restituiscono alcuna modifica, con la virgola tutto torna perfettamente funzionante ^^
24/06/2025 16:42:57
Sì ho fatto attenzione e non funziona.
Ho un codice rimaneggiato, potrebbe essere che contrasta con altro ma alla fine ho risolto in altro modo :)
24/06/2025 19:15:50
staff shadowland ha scritto: Sì ho fatto attenzione e non funziona.
Ho un codice rimaneggiato, potrebbe essere che contrasta con altro ma alla fine ho risolto in altro modo :)
Certo, potrebbero esserci diversi motivi per cui non funziona.
Una cosa importante che mi viene in mente che potrebbe far fallire questa funzione nel modo che hai descritto sono le classi css mancanti, o forse malformate, sugli elementi html indicati nella guida ad inizio topic.
Se hai risolto diversamente va bene, ma nel caso trovi il mio contatto discord nel profilo ;)
PS: ho aggiornato anche il codice nel messaggio in apertura del thread, così la guida non risulta frammentata nella discussione.
06/07/2025 23:35:10
Compaio anche io su questo topic per dire che ho cercato di seguire la guida alla lettera e sì, sembra che prenda tutto correttamente, MA...
Quando poi c'è il discorso di aumentare o diminuire le abilità i tastini "non funzionano", nel senso non prendono i px e resto.
Premetto che sto usando la versione 5.6 di GDRCD quindi sono diventata un po' "matta" per capire dove implementare i vari codici visto che nelle ultime versioni non è tutto in scheda.inc.php
Non riesco a capire dove si trova l'errore purtroppo :( sicuro sto sbagliando io qualcosa
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!
Imperion ↗
Fallen Gods ↗
Neverness to Everness ↗
RAID Shadow Legends ↗
Sea of Conquest ↗
Enlisted ↗
Seconda Era ↗
World of Tanks ↗