Assegnare un abilità postato il 18/01/2013 11:11:47 nel forum programmazione, gdrcd e open source
Salve ragazzi, sono sempre io, e mi scuso per le mie tante domande, ma sono alle prime armi! Volevo farvi una domanda, uso gdrcd 5.1 ed è hostato su altervista, come faccio ad assegnare un'abilità direttamente dal database? Mi spiego, per ovviare al problema delle abilità di gilda, ho creato una razza fittizzia e non visibile chiamata "Gilde", ho aggiunto un'abilità di prova e la ho riservata a quella razza, in modo poi da assegnarla dal database direttamente a chi facesse parte di una determinata gilda. Infatti poi dal database ho preso l'id dell'abilità, e nella scheda delle abilità dei personaggi ho aggiunto una voce, dove ho messo l'abilità di prova al mio personaggio, prima a grado 0, soltanto che nell'elenco delle mie abilità non risulta, e poi ho provato a grado 1, e continua a non risultare nell'elenco delle mie abilità, soltanto che mi ha scalato dai punti esperienza 10 px, come se l'abilità fosse stata aggiunta e l'avessi aumentata a grado 1. Quindi la mia domanda è, come faccio, da database, a dare una determinata abilità ad un determinato giocatore, e a farla risultare nel suo elenco? Grazie a tutti in anticipo
Pagine → 1
18/01/2013 14:22:03
Aggirare un limite della programmazione corrompendo il database può solo portarti a comportamenti instabili come questo.
Probabilmente l'abilità non compare in scheda perchè il controllo sulle abilità è stato scritto bene, e si assicura che un'abilità venga mostrata solo se appartiene veramente alla razza del pg.
Io non ti consiglio di partire con una land con il database corrotto. Se fai funzionare il sistema in un modo per cui non è stato progettato potresti involontariamente aprire problemi di sicurezza che prima non esistevano perchè stai fornendo al sistema dei dati volutamente corrotti.
Non c'è una scorciatoia, se vuoi una funzionalità, devi scrivere il codice per gestirla.
18/01/2013 14:35:46
Quindi, se voglio assegnare una data abilità, ad un dato personaggio e/o gruppo di personaggi, devo per forza andare a riscrivere il codice? Non c'è nessun'altra scorciatoia?
18/01/2013 16:14:55
togliere il controllo che fa in modo che vengano mostrate solo le abilità della propria razza potrebbe essere una scorciatoia...ma si tratta sempre di modificare il codice.
Come ho detto prima però, così facendo rendi il sistema più fragile e meno sicuro.
Se vuoi la mia opinione le scorciatoie solo quasi sempre sinonimo di bassa qualità.
18/01/2013 16:21:10
Quindi che altri metodi ho, sempre considerando che il sistema NON venga reso meno sicuro, per assegnare a mio piacimento un'abilità solo ad un pg a prescindere dalla sua razza?
18/01/2013 16:32:04
riprogettare il sistema di abilità per renderlo più dinamico e accettare anche la categorizzazione per gilde e per singoli pg.
A livello di database devi aggiungere un campo alla tabella delle abilità per poter distinguere i tipi di abilità (totali, di razza, di gilda, per singolo pg), e poi dovresti cambiare tutti i punti in cui vengono usate le abilità per aggiornarli alla nuova struttura del db e aggiungere la gestione abilità anche per le gilde
18/01/2013 20:49:24
E, scusa l'ignoranza, ma quali sono i punti in cui vengono usate le abilità? E come dovrei cambiarli? Scusa se ti faccio domande troppo dettagliate, se non hai voglia di rispondere capirò, e grazie mille per l'aiuto che mi hai dato finora! Sai, sono abbastanza ignorante sull'argomento, me la cavicchio un pò e sto iniziando da poco ad approfondire la programmazione!
18/01/2013 22:08:52
Beh non lo, gdrcd non è la mia base di codice preferita. Ci saranno almeno le schede e la gestione abilità, e probabilmente altri file.
Devi cambiare il comportamento del codice per fare in modo che comprenda anche le nuove tipologie di abilità.
Non basta aggiungere nuovi campi al database bisogna anche dargli un significato attraverso il codice
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Titan Revenge: Aggiornamento Dragonslayer