Oggetti e statistiche [gdrcd 5.4]
Oggetti e statistiche [gdrcd 5.4] postato il 26/05/2020 11:00:10 nel forum programmazione, open source e hosting
Salve a tutti! Ancora una volta noi. In questi giorni stiamo cercando di implementare qualche piccola "chicca", per così dire, dopo mesi di lavoro per rendere il tutto funzionante e anche esteticamente gradevole. Grazie a questo portale siamo riusciti a fare molto senza chiedere nulla direttamente ma ora le cose iniziano a farsi più complesse, per noi, che siamo quasi al termine. Ovviamente in quanto amatori nel campo abbiam fatto quello che potevamo, sperando che possa bastare. E se non basterà, dopo l'alfa, chiuderemo e riproveremo.
Venendo al dunque, quello che vorremmo fare è far si che gli oggetti indossati dal pg, che posseggono una modifica alle caratteristiche, andassero a modificare proprio le caratteristiche, sommandosi ai valori presenti nella scheda del pg, e non nel tiro del dado sotto "oggetti". So che è possibile, ovviamente, ma se potreste, gentilmente, indicare i fogli su cui dovremmo lavorare (lasciandoci poi a sbattere il muso da soli come abbiam fatto per quasitutto, va bene anche così senza chiedervi più del dovuto) sarebbe un enorme aiuto.
Come sempre un umile grazie a chiunque ci darà risposta.
Pagine → 1
26/05/2020 11:21:33 e modificato da kasa il 26/05/2020 11:21:48
Buongiorno,
quello che ti conviene fare è creare una funzione ad hoc ( in functions.inc.php ) che, passato l'identificativo dell'utente e l'identificativo di una caratteristica ( da 0 a N, dove N è il numero di caratteristiche presenti ) ti restituisca la somma numerica della caratteristica del Personaggio e di tutti gli oggetti che devono fornire l'incremento ( nel db ´oggetto´.´bonus_carX´ dover X è l'identificativo numerico della caratteristica, appunto ). Puoi fare tutto con una sola chiamata a DB in teoria, ma se non ti trovi puoi chiamare prima la caratteristica indicata e poi tutti gli oggetti con il bonus da tener presente assegnati al PG e quindi sommare il tutto.
In questo modo avrai una funzione che potrai richiamare ovunque ti serva conoscere e far sapere quale è il valore "finale" della caratteristica del Personaggio.
Pertanto, dovrai inserire questa funzione in scheda.inc.php e in tutte le varie sezioni dove effettivamente è importante tenere conto del valore. Conta che ci sono anche le sezioni per la gestione del Personaggio ( come incrementi caratteristica, ad esempio ) che devi necessariamente passare in rassegna, in base a come vuoi predisporre questo incremento.
Inoltre devi chiaramente eliminare o modificare qualsiasi genere di trasformazione alle caratteristiche derivate dagli oggetti in ref_header.inc.php poichè, immagino, non ti servono più. Puoi anche semplicemente commentare le righe che non ti servono e modificare affinch´1e le variabili contenenti il bonus non vengano conteggiate.
Sia chiaro che questo avviene nel momento in cui TUTTI gli oggetti forniscono l'incremento... Qualora questo dovesse essere peculiarità di soli alcuni oggetti, devi aggiungere una colonna in ´oggetto´ che ti possa determinare quale elemento deve essere conteggiato e quale no nella funzione.
Spero di esserti stato utile.
Nel caso ci dovessero essere dubbi, non farti problemi.
26/05/2020 11:27:50
kasa ha scritto: B
Sia chiaro che questo avviene nel momento in cui TUTTI gli oggetti forniscono l'incremento... Qualora questo dovesse essere peculiarità di soli alcuni oggetti, devi aggiungere una colonna in ´oggetto´ che ti possa determinare quale elemento deve essere conteggiato e quale no nella funzione.
Intanto grazie per la risposta!
Si infatti è proprio così, sono alcuni oggetti a fornire determinati bonus (ad esempio gli innesti, essendo ad ambientazione CP) quindi fare in modo che tutti gli oggetti influiscano sulle caratteristiche non serve. In questo caso la via più "ovvia" quale sarebbe?
26/05/2020 11:43:24
La cosa meno complessa sarebbe quella di inserire nella tabella ´oggetto´ una nuova colonna ( ad esempio ´bonus_permante´ o qualcosa di simile ) di tipo numerico TINYINT(1), in questo modo puoi segnare con 0 gli oggetti che non danno bonus permanente e con 1 quelli che lo forniscono (NdA: io solitamente uso valori numerici come "flag", ma puoi anche andare di ENUM('Si', 'No') che, alla fine, è la stessa cosa ).
Qui un esempio di aggiunta campo:
ALTER TABLE ´oggetto´
ADD COLUMN ´bonus_permanente´ tinyint(1) NOT NULL DEFAULT '0' AFTER ´bonus_car5´;
Eseguendo questa query, aggiungi una colonna ´bonus_permanente´ affianco a ´bonus_car5´.
Inserita la colonna, puoi decidere se aggiungere o meno questo campo da modificare nel gestionale del mercato, in modo che tu possa agire sul valore. (gestione_mercato.inc.php)
Quando andrai a scrivere la funzione per il calcolo del totale caratteristica, andrai a selezionare SOLO gli oggetti che avranno ´bonus_permanente´ = 1.
26/05/2020 11:47:11
kasa ha scritto:
Inserita la colonna, puoi decidere se aggiungere o meno questo campo da modificare nel gestionale del mercato, in modo che tu possa agire sul valore. (gestione_mercato.inc.php)
Quando andrai a scrivere la funzione per il calcolo del totale caratteristica, andrai a selezionare SOLO gli oggetti che avranno ´bonus_permanente´ = 1.
Ah! Credo di aver capito! Faremo qualche prova nel pomeriggio e aggiorneremo il post!
Grazie infinite per la disponibilità ^^
03/06/2020 20:44:36
kasa ha scritto:
Inserita la colonna, puoi decidere se aggiungere o meno questo campo da modificare nel gestionale del mercato, in modo che tu possa agire sul valore. (gestione_mercato.inc.php)
Quando andrai a scrivere la funzione per il calcolo del totale caratteristica, andrai a selezionare SOLO gli oggetti che avranno ´bonus_permanente´ = 1.
Nulla, la persona che si occupa del codice non ci si raccapezza (e io meno di lei essendo il grafico XD)
Per questo credo proprio che dovremo rivolgerci a qualcuno su compenso perchè ce lo faccia,essendo un requisito davvero importante. Ma ti ringraziamo comunque entrambi per aver risposto e provato ad aiutarci!!
03/06/2020 20:51:26
Non vi preoccupate, è comprensibile.
Nel caso volesse continuare a sbatterci la testa contro, potete postare qui gli errori e i tentativi... Tanto, con una bella dose di impegno e bernoccoli, si può risolvere.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Seconda Era ↗
Fallen Gods ↗
Raja Dunia ↗
RAID Shadow Legends ↗
Neverness to Everness ↗
CRSED: F.O.A.D. ↗