GDRCD 5.4 - Navi e navigazione postato il 21/04/2020 14:16:14 nel forum programmazione, gdrcd, open source, hosting
Buongiorno a tutti,
non avendo trovato nulla in archivio, mi chiedevo se qualcuno aveva ragionato sul creare un gioco di mare, con navi e isole da raggiungere, con rotte diverse e tempistiche di navigazione.
Grazie per la disponibilità.
Pagine → 1 2
21/04/2020 16:35:18
Grazie mille per la tua risposta.
In realtà le quest a cui sono abituato io in PBC erano almeno di 50 persone, perchè venivano limitate, altre senza limite superavano i 100 pg.
Riguardo alla navigazione, a parte il fattore esplorativo che menzionavi, la tempistica nel raggiungere un'isola è proprio per rendere reale lo spostamento, soprattutto in virtù del fatto che ho già implementato un sistema di merci e di mercato flessibile, sia nei prezzi che nelle quantità.
In realtà però cercavo idee lato tecnico per implementare questa cosa, cercando un approccio che non mi porti a dover stravolgere le meccaniche di gdrcd, e che si inserisca correttamente nel suo sistema di mappe.
22/04/2020 09:07:35
Sicuramente saranno limitati i PG, perchè almeno per la mia esperienza, oltre un certo numero c'è troppo caos.
I master invece erano 1 ogni 30 PG, sennò addio...
22/04/2020 11:15:57
@jerome l'ultima che hai detto... Sto cercando di ragionare a livello logico su come gestirlo, affatto semplice.
22/04/2020 22:20:20
Il sistema di navi e' gestibile col codice base di GDRCD. Le mappe mobili non sono altro che link che compaiono o scompaiono quando si e' in una mappa o in un'altra.
Dipende secondo me dal risultato che vuoi ottenere, una volta che hai chiaro quello e' molto più' semplice ragionare su come realizzarlo.
Una prima considerazione da fare e' se i personaggi sono bloccati in una mappa oppure hanno accesso in tutte le mappe.
Ad esempio esiste la mappa Isola 1 con dentro 3 sottomappe (City 1, City 2, City 3) ogni City ha diverse chat (piazza, strada, porto, locanda, etc) questo per semplicità lo duplichiamo su una mappa Isola 2
Ora sta a te decidere se chi sta su Isola 1 può andare direttamente su Isola 2 tramite un link oppure se deve prima passare per una "nave". Devi decidere pure se uno può passare da Piazza di City 1 a Strada di City 2 in pochi click oppure deve passare x tempo per uno spostamento. Esistono pro e contro per ogni tua decisione, non esiste la formula perfetta e qualsiasi cosa farai verrai criticato e giudicato. Troverai chi reputa più bello stare in una chat e giochi il passare da una mappa all'altra e chi sicuramente lo trova simile ad una chat prigione. Qualsiasi cosa fai ricordati che GDRCD per come e' basato puoi aggirare quasi tutti i controlli facilmente quindi se alcune di queste cose sono fondamentali per il tuo gioco ti consiglio di aumentare i controlli o meglio ancora di sviluppare un sistema di permessi dedicato.
23/04/2020 10:59:25
Grazie Breaker.
Sul sistema di controlli ho già messo mano pesantemente, in effetti nel sistema delle mappe basta mettere l'id è si può aggirare.
Ad esempio ho rafforzato anche il controllo sugli accessi ai menu di gestione e svariate altre cose.
Per rimanere in tema, l'idea di base è "blindare" un pg in nave per il tempo della navigazione, facendo un controllo sulla di partenza salvata nel db, disabilitando in questo modo qualsiasi possibilità di spostamento tramite parametri.
Inoltre, giunto sull'isola, blindarlo nell'isola e permettergli di andare via solo tramite nave.
La gestione delle url parametriche di gdrcd non aiuta in questo senso, e i controlli da implementare sono davvero tanti.
Per questo mi chiedevo se qualcuno avesse già affrontato il problema e tastato la solidità dei controlli. Diversamente dovrò mettere mano a tutti gli spostamenti, verificando sempre se quel PG è su una nave in movimento e se si trova su un isola.
23/04/2020 11:14:12
secondo me dovresti disabilitare la modifica del parametro mappa nella riga del personaggio nel db. Lo fai modificare solo tramite script con l'uso delle mappe mobili. Se vuoi mettere un fattore tempo ti consiglierei di creare una tabella dedicata agli spostamenti usando una logica simile alle chat prigione o esilio
23/04/2020 11:54:31
Intendi la riga "posizione"? Puoi spiegarmi meglio cosa fare per disabilitarlo senza creare danni con le altre funzioni?
Grazie mille!
23/04/2020 17:40:39
https://github.com/GDRCD/GDRCD/blob/master/header.inc.php
23/04/2020 18:57:50
Perdonami breaker, riguardo alla sicurezza sulla sessione credo tu ti riferisca alla variabile PHPSESSID, che però di norma viene utilizzata per attacchi contro altri utenti, duplicando la sessione stessa prendendola dal cookie.
Come potrebbe qualcuno aggirare il codice per spostarsi su un'altra mappa? E poi anche se cambiasse da url la sua sessione verrebbe sbattuto fuori, a meno che non conoscesse quella di qualcun altro. Ti riferisci forse ad un doppio che potrebbe farsi?
Riguardo al resto, se ho capito bene, mi suggerisci di far funzionare i link passando per la pagina main, ma il problema rimane. Dovrei farmi servire il frame senza parametro, e con javascript sarei ancora più esposto.
A questo punto non è più facile, ad esempio se si è in nave "in viaggio" controllare la posizione attuale e segare tutte le richieste di spostamento all'esterno?
Cioè mettere un controllo direttamente sul funzionamento attuale, escludendo la riuscita in luoghi con tipologia precisa. Da li non si dovrebbe scappare:
ES.
sono sull'isola "pippo", tento di aggirare il codice inserendo come parametro mappaclick o dir = <un.id.mappa.o.locazione.che.conosco>
Nel DB quell'isola avrà una riga "tipologia" che la identifica come isola.
La nave, avrà anch'essa una tipologia che la identifica come tale, e un'altra riga che identifica se è attraccata o meno e in quale luogo.
A questo punto, alla richiesta della url, verificando che ci si trovi in un luogo con tipologia isola, si segano tutte quelle richieste che non sono verso una nave attraccata in quel luogo.
Che ne pensi?
25/04/2020 22:23:20
intendo proprio l'uso di $_SESSION['valore'] direttamente nelle query.
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Planethos GdR: Una nuova profezia
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
Metin2: Informazioni sul server migliorate
Age of Crystals: Rallentamenti estivi
dbzgdr ha risposto alla discussione: Dragon Ball Z Gdr
Titan Revenge: Calendario eventi fino a fine mese online!
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
Enlisted: Modifiche al sistema di aggiornamento
pyro72 ha aperto un annuncio di ricerca: World Without Heroes ricerca Giocatore
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
World Without Heroes: News GDR: Pubblicazione e Nuovo Inizio
I dati del generatore di rank sono stati aggiornati!
Il gestore di Nexi Generation ha risposto alla recensione di deanna
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
GdR su FreeForumZone - Lista dei giochi di ruolo play by forum sul circuito FreeForumZone
Star Trek Equilibrium - Intervista al gestore del play by chat Star Trek: Equilibrium
Lupus in Forum - Intervista al gestore di Lupus in Forum il gioco ispirato al gioco di carte Werewolf!
Agarthi - Intervista alla gestione del play by chat fantasy Storie di Agarthi!
New Orleans - Intervista allo staff di New Orleans play by chat moderno
Play Therapy - L’infermiere e il potere terapeutico del gioco nei bimbi ospedalizzati