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
I dati del generatore di rank sono stati aggiornati!
Legacy of Magic: Gli Elementi Oscuri - La Nera Signora dell'Acqua
Pirates of the Caribbean → Parti per un'avventura con Jack Sparrow, Will Turner, il Capitano Barbossa e altri spadaccini del franchise cinematografico Pirati dei Caraibi!
Il gestore di W40K Dathyar ha risposto alla recensione di dreamboy
dreamboy ha recensito W40K Dathyar
Metin2: Live ora: Server Boost Yohara e Twitch Drop
DarkOrbit → Galassie remote e pericoli in agguato ti attendono. Vinci battaglie avvincenti in DarkOrbit: diventa un cosmonauta temerario e combatti!
Epic Wizardry RP: Changelog N. 4 - Epic Wizardry Rp
drongo ha recensito Il Grande Blu
Pirates of the Caribbean: Tides of War: Quarti di finale del torneo
DarkOrbit: Galactic Strife & Buono gratis 💥
Hero Wars → Costruisci la tua squadra di eroi leggendari e domina il campo di battaglia! Strategia, tattica e potenza si scontrano in questo RPG ricco di azione!
Legacy of Magic: Il vecchio e la mappa
outrunstaff ha risposto alla discussione: Project OutRun PbC
meleys ha aperto un annuncio di ricerca: Westeros GDR ricerca Tester
Pirates of the Caribbean → Parti per un'avventura con Jack Sparrow, Will Turner, il Capitano Barbossa e altri spadaccini del franchise cinematografico Pirati dei Caraibi!
Introduzione ai Mud - Breve descrizione dei Mud, di come si presentano al giocatore e alcuni suggerimenti su come iniziare questa avventura per un neofita!
Castello Medievale - Articolo sui Castelli Medievale: il modo di costruirli e la loro vita
Falsi Commenti - Individuiamo i falsi commenti ai giochi di ruolo catalogati dal portale con alcuni semplici consigli
Conferenza GDR-online - Conferenza sui GDR online svoltasi a Lucca and Games 2006
Motivo Tristaniano - Geis, beivre e lovendrant: la riscrittura nel motivo tristaniano del filtro d'amore
Ultima Online 2 - Ultima Worlds Online Origin: un sogno infranto e un'eredità indelebile...