Melo91 Inviato 2 dicembre, 2020 Condividi Inviato 2 dicembre, 2020 Come da titolo. Come si calcola il PRV (pokemon residual value) ? So come calcolare il TRV (trainer residual value) ovvero convertire in Hex gli ultimi quattro bit dello Xor tra TID e SID. Ma non so come procedere con il PID, che va calcolato a solo. Questo perché non so che tipo di operazione va fatta. Se PRV e TRV sono uguali, shiny è uno square. Link al commento Condividi su altre piattaforme Più opzioni di condivisione...
kingdom Inviato 3 dicembre, 2020 Condividi Inviato 3 dicembre, 2020 Ciao! Intendi per caso il PSV e il TSV? ti chiedo in tal caso di essere più chiaro con la tua richiesta (modificando il topic anche dal punto di vista grammaticale), cosicché gli utenti possano aiutarti. Sposto inoltre il topic nella sezione corretta. Edit: come non detto, tutto chiaro :3 Tooru Amuro by Chube ~~~ POKÉCLUB - IL CULTO DI BW Link al commento Condividi su altre piattaforme Più opzioni di condivisione...
SliceOfLife Inviato 4 dicembre, 2020 Condividi Inviato 4 dicembre, 2020 Questa è una domanda insolita che in genere non interessa porre, dato che gli strumenti di RNG calcolano automaticamente il PSV e il PRV dei pokemon dei quali predicono l'apparizione, ma provo a rispondere con un po' di "matematica". Fra l'altro ho trovato questa tua domanda per caso, se avessi chiesto direttamente nella discussione in cui ne parlavo, ti avrei risposto senz'altro prima Partendo dalle basi, IL modo con cui i giochi determinano se un pokemon è shiny oppure no dipende dal risultato della seguente operazione: TID xor SID xor PID31-16 xor PID15-0 Spoiler Lo xor bit a bit è un'operazione logica che ha per risultato 1 se i bit confrontati hanno valore differente, 0 altrimenti. Interpretando in base 10 il risultato di questa operazione allora avremo: L'incontro/la schiusa/il ricevimento di un pokemon regular, ovvero non cromatico, se il valore convertito è maggiore o uguale a 16; L'incontro/la schiusa/il ricevimento di un pokemon Star Shiny, ovvero cromatico con animazione a stelle, se il valore convertito è compreso fra 1 e 15 (estremi compresi); L'incontro/la schiusa/il ricevimento di un pokemon Square Shiny, ovvero cromatico con animazione a quadri, se il valore convertito è esattamente uguale a 0. Mettendo da parte la conversione da sistema binario a decimale, un pokemon è shiny (di qualsiasi tipo) se il risultato dell'operazione è 000000000000xxxx dove le quattro "x" sul finale corrispondono ai quattro bit meno significativi (quelli più a destra) del risultato. Se quindi "xxxx" è uguale a "0000" allora avremo davanti uno Square Shiny, mentre qualsiasi altra configurazione (da "0001" a "1111") porterà invece a uno Star Shiny. Se si ha dimestichezza con le operazioni binarie, quanto osservato permette già di intuire la soluzione dell'enigma e l'intera meccanica di TSV/PSV e TRV/PRV.I 12 bit più significativi di quel bruttissimo xor equivalgono, in un certo senso, al confronto di uguaglianza fra TSV e PSV, mentre i 4 bit meno significativi equivalgono in maniera analoga al confronto fra TRV e PRV. Ma un esempio vale più di mille parole. Supponiamo (neppure poi tanto ) che un giocatore abbia TID = 19562 e SID = 49485. Questi valori corrispondono allora ai seguenti in sistema binario: TID -> 0 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0 SID -> 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 Separando concettualmente i 12 bit più significativi dai 4 meno significativi avremo quindi: TID -> 0 1 0 0 1 1 0 0 0 1 1 0 --- 1 0 1 0 SID -> 1 1 0 0 0 0 0 1 0 1 0 0 --- 1 1 0 1 ed effettuando lo xor bit a bit troviamo allora TID -> 0 1 0 0 1 1 0 0 0 1 1 0 --- 1 0 1 0 SID -> 1 1 0 0 0 0 0 1 0 1 0 0 --- 1 1 0 1 1 0 0 0 1 1 0 1 0 0 1 0 --- 0 1 1 1 I 12 bit più significativi del risultato, 100011010010, convertiti in base 10 corrispondono al valore 2258, il quale viene definito come TSV (Trainer Shiny Value) del giocatore stesso. Analogamente i 4 bit meno significativi del risultato, 0111, convertiti in base 10 corrispondono al valore 7, che senza troppa fantasia viene definito come TRV (Trainer Residual Value). Occhio al fatto che spesso il TRV si preferisce interpretarlo in base 16 con un'unica cifra, per cui 10 = A, 11 = B, 12 = C, 13 = D, 14 = E e 15 = F. Questa spiegazione la si può trovare un po' ovunque su internet al giorno d'oggi, mentre nessuno parla mai di PSV (o ESV) e PRV (o ERV), se non concettualmente, dato che questi li fornisce di solito l'RNG tool di turno. Tuttavia, per quanto osservato dallo XOR fra TID e SID e tenendo presente l'operazione di XOR da cui siamo partiti, bastano poche altre considerazioni per comprendere cosa sono questi valori che nessuno si prende la briga di spiegare. Tornando alla prima operazione scriviamola dunque come (TID xor SID) xor (PID31-16 xor PID15-0) Abbiamo visto come concettualmente le parentesi a sinistra contengono in un certo senso le informazioni di TSV e TRV, per cui dalle parentesi a destra è lecito aspettarsi che contengano le informazioni circa il PSV e il PRV, dato che operano sul PID di un pokemon selvatico, da schiudere o da ricevere. Be', più che lecito aspettarselo, è proprio così che PSV e PRV sono definiti. Il PID di un pokemon è considerato come il suo Personality Value, rappresentato solitamente come un valore esadecimale a 8 cifre. Supponiamo (anche questa volta neanche troppo ) che un pokemon incontrato abbia PID = 2F05 A222. Questo, convertito in base 2 e spezzato a metà diventa allora PID31-16 -> 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 ---> 16 bit più significativi, 2F05PID15-0 --> 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ---> 16 bit meno significativi, A222 Dividendo come prima nei 12 bit più significativi e 4 bit meno significativi ed eseguendo l'operazione di XOR bit a bit otteniamo PID31-16 -> 0 0 1 0 1 1 1 1 0 0 0 0 --- 0 1 0 1 PID15-0 --> 1 0 1 0 0 0 1 0 0 0 1 0 --- 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 --- 0 1 1 1 Incredibilmente e in maniera del tutto inaspettata (), i 12 bit più significativi del risultato, 100011010010, convertiti in base 10 corrispondono come prima al valore 2258, il quale viene definito come PSV (Pokemon Shiny Value) del pokemon incontrato. Analogamente i 4 bit meno significativi del risultato, 0111, convertiti in base 10 corrispondono al valore 7, che sempre senza troppa fantasia viene definito come PRV (Pokemon Residual Value). Ebbene sì Signore e Signori, abbiamo trovato un pokemon Square Shiny!!! Infine, la RISPOSTA! Ironia a parte, per concludere, considerando il PID di un pokemon e le 8 cifre esadecimali di cui è composto 7 6 5 4 3 2 1 0 -> (si numera sempre da più significativa a meno significativa)X X X X X X X X lo xor fra le cifre 4 e 0 convertite in sistema binario ha per risultato il valore binario corrispondente al PRV, mentre lo xor fra le cifre 765 e 321 forniscono il valore binario del PSV. Ancora un esempio, giusto per far chiarezza. Se il giocatore di cui sopra (TSV = 2258, TRV = 7) ricomponesse un fossile di Galar avente PID = 458F C8AA, cosa avrebbe davanti? 458 => 0 1 0 0 0 1 0 1 1 0 0 0 xor C8A => 1 1 0 0 1 0 0 0 1 0 1 0 = =====> 1 0 0 0 1 1 0 1 0 0 1 0 che in decimale da un PSV = 2258, quindi un altro Shiny! Ma di che tipo? F => 1 1 1 1 xor A => 1 0 1 0 = ===> 0 1 0 1 che in esadecimale e in decimale da un PRV = 5, per cui shiny sì, ma niente quadratini luccicanti, questa volta "solo" stelline Per completezza, lo XOR originale effettuato dal gioco è infatti TID xor SID xor PID31-16 xor PID15-0 , vale a dire TID -------> 0 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0 SID -------> 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 PID31-16 ====> 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 PID15-0 ====> 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 che in decimale fa 2 Link al commento Condividi su altre piattaforme Più opzioni di condivisione...
Melo91 Inviato 9 dicembre, 2020 Autore Condividi Inviato 9 dicembre, 2020 On 4/12/2020 at 16:21, SliceOfLife ha scritto: Questa è una domanda insolita che in genere non interessa porre, dato che gli strumenti di RNG calcolano automaticamente il PSV e il PRV dei pokemon dei quali predicono l'apparizione, ma provo a rispondere con un po' di "matematica". Fra l'altro ho trovato questa tua domanda per caso, se avessi chiesto direttamente nella discussione in cui ne parlavo, ti avrei risposto senz'altro prima Partendo dalle basi, IL modo con cui i giochi determinano se un pokemon è shiny oppure no dipende dal risultato della seguente operazione: TID xor SID xor PID31-16 xor PID15-0 Apri contenuto nascosto Lo xor bit a bit è un'operazione logica che ha per risultato 1 se i bit confrontati hanno valore differente, 0 altrimenti. Interpretando in base 10 il risultato di questa operazione allora avremo: L'incontro/la schiusa/il ricevimento di un pokemon regular, ovvero non cromatico, se il valore convertito è maggiore o uguale a 16; L'incontro/la schiusa/il ricevimento di un pokemon Star Shiny, ovvero cromatico con animazione a stelle, se il valore convertito è compreso fra 1 e 15 (estremi compresi); L'incontro/la schiusa/il ricevimento di un pokemon Square Shiny, ovvero cromatico con animazione a quadri, se il valore convertito è esattamente uguale a 0. Mettendo da parte la conversione da sistema binario a decimale, un pokemon è shiny (di qualsiasi tipo) se il risultato dell'operazione è 000000000000xxxx dove le quattro "x" sul finale corrispondono ai quattro bit meno significativi (quelli più a destra) del risultato. Se quindi "xxxx" è uguale a "0000" allora avremo davanti uno Square Shiny, mentre qualsiasi altra configurazione (da "0001" a "1111") porterà invece a uno Star Shiny. Se si ha dimestichezza con le operazioni binarie, quanto osservato permette già di intuire la soluzione dell'enigma e l'intera meccanica di TSV/PSV e TRV/PRV.I 12 bit più significativi di quel bruttissimo xor equivalgono, in un certo senso, al confronto di uguaglianza fra TSV e PSV, mentre i 4 bit meno significativi equivalgono in maniera analoga al confronto fra TRV e PRV. Ma un esempio vale più di mille parole. Supponiamo (neppure poi tanto ) che un giocatore abbia TID = 19562 e SID = 49485. Questi valori corrispondono allora ai seguenti in sistema binario: TID -> 0 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0 SID -> 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 Separando concettualmente i 12 bit più significativi dai 4 meno significativi avremo quindi: TID -> 0 1 0 0 1 1 0 0 0 1 1 0 --- 1 0 1 0 SID -> 1 1 0 0 0 0 0 1 0 1 0 0 --- 1 1 0 1 ed effettuando lo xor bit a bit troviamo allora TID -> 0 1 0 0 1 1 0 0 0 1 1 0 --- 1 0 1 0 SID -> 1 1 0 0 0 0 0 1 0 1 0 0 --- 1 1 0 1 1 0 0 0 1 1 0 1 0 0 1 0 --- 0 1 1 1 I 12 bit più significativi del risultato, 100011010010, convertiti in base 10 corrispondono al valore 2258, il quale viene definito come TSV (Trainer Shiny Value) del giocatore stesso. Analogamente i 4 bit meno significativi del risultato, 0111, convertiti in base 10 corrispondono al valore 7, che senza troppa fantasia viene definito come TRV (Trainer Residual Value). Occhio al fatto che spesso il TRV si preferisce interpretarlo in base 16 con un'unica cifra, per cui 10 = A, 11 = B, 12 = C, 13 = D, 14 = E e 15 = F. Questa spiegazione la si può trovare un po' ovunque su internet al giorno d'oggi, mentre nessuno parla mai di PSV (o ESV) e PRV (o ERV), se non concettualmente, dato che questi li fornisce di solito l'RNG tool di turno. Tuttavia, per quanto osservato dallo XOR fra TID e SID e tenendo presente l'operazione di XOR da cui siamo partiti, bastano poche altre considerazioni per comprendere cosa sono questi valori che nessuno si prende la briga di spiegare. Tornando alla prima operazione scriviamola dunque come (TID xor SID) xor (PID31-16 xor PID15-0) Abbiamo visto come concettualmente le parentesi a sinistra contengono in un certo senso le informazioni di TSV e TRV, per cui dalle parentesi a destra è lecito aspettarsi che contengano le informazioni circa il PSV e il PRV, dato che operano sul PID di un pokemon selvatico, da schiudere o da ricevere. Be', più che lecito aspettarselo, è proprio così che PSV e PRV sono definiti. Il PID di un pokemon è considerato come il suo Personality Value, rappresentato solitamente come un valore esadecimale a 8 cifre. Supponiamo (anche questa volta neanche troppo ) che un pokemon incontrato abbia PID = 2F05 A222. Questo, convertito in base 2 e spezzato a metà diventa allora PID31-16 -> 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 ---> 16 bit più significativi, 2F05PID15-0 --> 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ---> 16 bit meno significativi, A222 Dividendo come prima nei 12 bit più significativi e 4 bit meno significativi ed eseguendo l'operazione di XOR bit a bit otteniamo PID31-16 -> 0 0 1 0 1 1 1 1 0 0 0 0 --- 0 1 0 1 PID15-0 --> 1 0 1 0 0 0 1 0 0 0 1 0 --- 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 --- 0 1 1 1 Incredibilmente e in maniera del tutto inaspettata (), i 12 bit più significativi del risultato, 100011010010, convertiti in base 10 corrispondono come prima al valore 2258, il quale viene definito come PSV (Pokemon Shiny Value) del pokemon incontrato. Analogamente i 4 bit meno significativi del risultato, 0111, convertiti in base 10 corrispondono al valore 7, che sempre senza troppa fantasia viene definito come PRV (Pokemon Residual Value). Ebbene sì Signore e Signori, abbiamo trovato un pokemon Square Shiny!!! Infine, la RISPOSTA! Ironia a parte, per concludere, considerando il PID di un pokemon e le 8 cifre esadecimali di cui è composto 7 6 5 4 3 2 1 0 -> (si numera sempre da più significativa a meno significativa)X X X X X X X X lo xor fra le cifre 4 e 0 convertite in sistema binario ha per risultato il valore binario corrispondente al PRV, mentre lo xor fra le cifre 765 e 321 forniscono il valore binario del PSV. Ancora un esempio, giusto per far chiarezza. Se il giocatore di cui sopra (TSV = 2258, TRV = 7) ricomponesse un fossile di Galar avente PID = 458F C8AA, cosa avrebbe davanti? 458 => 0 1 0 0 0 1 0 1 1 0 0 0 xor C8A => 1 1 0 0 1 0 0 0 1 0 1 0 = =====> 1 0 0 0 1 1 0 1 0 0 1 0 che in decimale da un PSV = 2258, quindi un altro Shiny! Ma di che tipo? F => 1 1 1 1 xor A => 1 0 1 0 = ===> 0 1 0 1 che in esadecimale e in decimale da un PRV = 5, per cui shiny sì, ma niente quadratini luccicanti, questa volta "solo" stelline Per completezza, lo XOR originale effettuato dal gioco è infatti TID xor SID xor PID31-16 xor PID15-0 , vale a dire TID -------> 0 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0 SID -------> 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 PID31-16 ====> 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 PID15-0 ====> 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 che in decimale fa 2 Sei stato gentilissimo e molto chiaro. Grazie. Potete chiudere. Link al commento Condividi su altre piattaforme Più opzioni di condivisione...
kingdom Inviato 9 dicembre, 2020 Condividi Inviato 9 dicembre, 2020 Chiudo! Tooru Amuro by Chube ~~~ POKÉCLUB - IL CULTO DI BW Link al commento Condividi su altre piattaforme Più opzioni di condivisione...
Post raccomandati
Archiviata
La discussione è ora archiviata e chiusa ad ulteriori risposte.