Arctic Bay

Pokémon Area => Sinnoh Research Center => Topic iniziato da: Mr.Pkmn su Aprile 22, 2008, 02:15:58



Titolo: Il segreto è qui
Post di: Mr.Pkmn su Aprile 22, 2008, 02:15:58
Cercando nel sorgente di shoddy (http://shoddybattle.cvs.sourceforge.net/shoddybattle/ShoddyBattle/src/mechanics/AdvanceMechanics.java?view=markup) sono arrivato al pezzo di codice che determina la legalità delle iv:
Codice:
   /**
  235      * A class for verifying whether a given set of IVs and Nature is legal
  236      * in a pokemon that cannot breed.
  237      * Algorithm provided by X-Act.
  238      */
  239     public static class RandomIvValidator {
  240         private long m_rand = 0;
  241         public char next() {
  242             m_rand = (m_rand * 1103515245) + 24691;
  243             return (char)(m_rand >>> 16);
  244         }
  245         /** This function takes the random number generator back a step.
  246          *  Provided by X-Act.
  247          */
  248         public char prev() {
  249             m_rand = (m_rand * 4005161829L) + 171270561;
  250             return (char)(m_rand >>> 16);
  251         }
  252         public boolean isLegal(int[] ivs, PokemonNature nature, boolean dp) {
  253             int internal = nature.getInternalValue();
  254             long num1 = (ivs[Pokemon.S_DEFENCE] << 10)
  255                     + (ivs[Pokemon.S_ATTACK] << 5)
  256                     + ivs[Pokemon.S_HP];
  257             long num2 = (ivs[Pokemon.S_SPDEFENCE] << 10)
  258                     + (ivs[Pokemon.S_SPATTACK] << 5)
  259                     + ivs[Pokemon.S_SPEED];
  260             for (int i = 0; i < 2; ++i) {
  261                 for (int j = 0; j < 65536; ++j) {
  262                     m_rand = (i << 31) + (num1 << 16) + j;
  263                     long first = m_rand;
  264                     long second = next();
  265                     if (second >= 32768) {
  266                         second -= 32768;
  267                     }
  268                     if (second == num2) {
  269                         m_rand = first;
  270                         long a = prev();
  271                         long b = prev();
  272                         long c = prev();
  273                         long p1 = (a << 16) + b;
  274                         long p2 = (b << 16) + c;
  275                         if ((p1 % 25) == internal) {
  276                             return true;
  277                         }
  278                         if (!dp && ((p2 % 25) == internal)) {
  279                             return true;
  280                         }
  281                     }
  282                 }
  283             }
  284             return false;
  285         }
  286     }
Il codice è parecchio simile a php, ma l'ora è tarda e alcune funzioni mi sono sconosciute. Mi rivolgo a chi conosce meglio java per tradurmi questo


Titolo: Re: Il segreto è qui
Post di: IRDG su Aprile 22, 2008, 15:24:57
(com'è che fino a un'ora fa c'era un reply di carl?)

dubito seriamente che qualcuno conosca il java qui. comunque come algoritmo si potrebbe chiedere a gf o abry o carl(?)


Titolo: Re: Il segreto è qui
Post di: Elros su Aprile 22, 2008, 15:31:01
c'era anche un reply mio


Titolo: Re: Il segreto è qui
Post di: Malva su Aprile 22, 2008, 15:31:17
sia di Carl che di Elros, omg stiamo contaminando la sezione sacra per elite player ;_;

comunque GF fa vb e c++, io c, e con le conoscenze che abbiamo si può lo stesso capire quella parte di sorgente


Titolo: Re: Il segreto è qui
Post di: SADUZ su Aprile 22, 2008, 18:09:35
è piuttosto simile anche a pascal...
ma che segreto bisognerebbe trovare lì dentro? un coso per fare un simulatore dp figherrimo e strabellissimo?


Titolo: Re: Il segreto è qui
Post di: IRDG su Aprile 22, 2008, 19:59:51
no, la formula per verificare la legittimitù di un pokémon


Titolo: Re: Il segreto è qui
Post di: g_f su Aprile 23, 2008, 15:12:00
il cuore vero e proprio del programma è quello che parte dal momento in cui pone le condizioni per determinare la legalità delle IV con: public boolean isLegal e si chiude con i tre possibili risultati, due dei quali sono true ed uno false. Le due funzioni precedenti sono usate per determinare i valori del next() e del prev(), che vengono poi usate nella boolean quando pone second = next() ed a = b = c = prev().

Per ora, ho notato che j rappresenta la radice quadrata del numero di combinazioni IV + Natura ottenibili, infatti j è dato in ordine crescente in modo tale che 0 < j < 65536 = 216 = radq del numero massimo degli elementi contenuti nel numero a 32 bit (232) che viene associato al Pokémon selvatico.


Titolo: Re: Il segreto è qui
Post di: SW su Aprile 23, 2008, 15:14:25
ok.


Titolo: Re: Il segreto è qui
Post di: Stampede su Aprile 25, 2008, 16:19:56
Parlo da ignorantu, ma anche ammesso che riusciate a capire le stringhe di comando che servono per capire se gli iv di u pkmn sono legali o cheat... A che vi servirebbe poi in soldoni?


Titolo: Re: Il segreto è qui
Post di: AxelVanDerPoke su Aprile 25, 2008, 16:22:06
per non usare pokemon cheat


Titolo: Re: Il segreto è qui
Post di: Mr.Pkmn su Aprile 25, 2008, 16:23:27
A che vi servirebbe poi in soldoni?
Riconoscere i cheaters al pday :looksi


Titolo: Re: Il segreto è qui
Post di: Bender su Aprile 25, 2008, 16:24:36
A che vi servirebbe poi in soldoni?
Riconoscere i cheaters al pday :looksi
Dai, i cheaters saranno bimbiminkia alti un metro e una sega con pokémon tipo wondertomb xD


Titolo: Re: Il segreto è qui
Post di: Stampede su Aprile 25, 2008, 16:47:32
Quoto Bendah. E poi solitamente i pokemon che utilizzo li allevo io, quindi so che non sono cheat. E poi ancora, non basterebbe resettare gli EV e confrontarli con il max degli Iv per natura?


Titolo: Re: Il segreto è qui
Post di: AxelVanDerPoke su Aprile 25, 2008, 16:50:35
ma per via di questa cosa alcuni IVs non potranno mai essere al massimo


Titolo: Re: Il segreto è qui
Post di: IRDG su Giugno 02, 2008, 13:25:03
1) andrebbe in sinnoh research center
2) lo script è inutile. nintendo non ha messo nessun controllo sugli ivs dei pokémon.


Titolo: Re: Il segreto è qui
Post di: Stampede su Giugno 02, 2008, 18:24:35
2) lo script è inutile. nintendo non ha messo nessun controllo sugli ivs dei pokémon.
Come Volevasi Dimostrare... Userò il mio bel Deoxys-F con tutti gli IV a 31 =) (no, mi fa cagare e non lo userò, però chemmerda)


Titolo: Re: Il segreto è qui
Post di: Abry su Giugno 02, 2008, 19:45:02
Argomenta anche tu ciò che intendi trasmettere al mondo!


Titolo: Re: Il segreto è qui
Post di: Power su Giugno 02, 2008, 19:48:43
una cosa molto simile a quella descritta nella citazione.


Titolo: Re: Il segreto è qui
Post di: Stampede su Giugno 03, 2008, 16:39:16
Argomenta anche tu ciò che intendi trasmettere al mondo!
Intendo che in questo ci saranno migliaia di pkmn cheattosi con delle iv improbabili e 255 EV in ogni statistica. Il che non mi sembra giustissimo, nei confronti miei e di chi come me si fa il mazzo a breedare (oggi dopo 480 uova circa, forretress con 3 IV a 30).


Titolo: Re: Il segreto è qui
Post di: Abry su Giugno 03, 2008, 18:06:23
Temo di aver dimenticato il quote, era riferito al quote di g_Gay.


Titolo: Re: Il segreto è qui
Post di: Mr.Pkmn su Giugno 03, 2008, 18:13:09
(oggi dopo 480 uova circa, forretress con 3 IV a 30).
Ti sei ricordato di sostituire i parenti man mano che uscivano dei migliori?


Titolo: Re: Il segreto è qui
Post di: Abry su Giugno 03, 2008, 18:25:11
Argomenta anche tu ciò che intendi trasmettere al mondo!
Intendo che in questo ci saranno migliaia di pkmn cheattosi con delle iv improbabili e 255 EV in ogni statistica. Il che non mi sembra giustissimo, nei confronti miei e di chi come me si fa il mazzo a breedare (oggi dopo 480 uova circa, forretress con 3 IV a 30).
Minchia oh, nascono Forretress dalle uova?


Titolo: Re: Il segreto è qui
Post di: CtW su Giugno 03, 2008, 19:24:09
Minchia oh, i Pokémon escono dalle uova?


Titolo: Re: Il segreto è qui
Post di: Az su Giugno 03, 2008, 19:26:16
FRIGHIXIMO


Titolo: Re: Il segreto è qui
Post di: Abry su Giugno 03, 2008, 19:30:25
Minchia oh, i Pokémon escono dalle uova?
Pineco anyone?


Titolo: Re: Il segreto è qui
Post di: CtW su Giugno 03, 2008, 19:52:26
Painco


Titolo: Re: Il segreto è qui
Post di: Shar su Giugno 03, 2008, 19:54:31
Citazione
oggi dopo 480 uova circa[7quote]
Tu sei un pazzo....


Titolo: Re: Il segreto è qui
Post di: CtW su Giugno 03, 2008, 20:01:19
Era da un'era geologica che una persona non sbagliava un codice.


Titolo: Re: Il segreto è qui
Post di: Stampede su Giugno 04, 2008, 14:02:26
(oggi dopo 480 uova circa, forretress con 3 IV a 30).
Ti sei ricordato di sostituire i parenti man mano che uscivano dei migliori?
Si, parenti con 2 IV a 30 ciascuno, ma quello con Def, HP, Atk non voleva proprio uscire!


Titolo: Re: Il segreto è qui
Post di: IRDG su Giugno 04, 2008, 14:16:35
il cucciolo se non sbaglio eredita gli ivs in base al sesso


Titolo: Re: Il segreto è qui
Post di: Helel su Giugno 04, 2008, 14:16:57
Era da un'era geologica che una persona non sbagliava un codice.

Veramente lo stesso sharingan ha sbagliato l'ultimo, qualche giorno fa  :sisi


Titolo: Re: Il segreto è qui
Post di: IRDG su Giugno 04, 2008, 14:27:58
ma qui da noi il tempo scorre diversamente.


Titolo: Re: Il segreto è qui
Post di: Az su Giugno 04, 2008, 14:28:31
HO CATTURATO UN CATERPIE CON TUTTE LE IV A 31


Titolo: Re: Il segreto è qui
Post di: CtW su Giugno 04, 2008, 14:37:08
il cucciolo se non sbaglio eredita gli ivs in base al sesso
evidentemente i forretress di stampede prediligevano l'anale, infatti uscivano solo pineco di merda!

HO CATTURATO UN CATERPIE CON TUTTE LE IV A 31

non posso linkarti il topic di smogon con caterpie d'oro perché

 vBulletin Message
come back later im moving stuff to the new server


Titolo: Re: Il segreto è qui
Post di: Az su Giugno 04, 2008, 14:37:54
i lol'd @ u'r 1st sentence


Titolo: Re: Il segreto è qui
Post di: IRDG su Giugno 04, 2008, 15:13:30
lol caterpie oro 50€ grazie


Titolo: Re: Il segreto è qui
Post di: Mr.Pkmn su Giugno 04, 2008, 19:04:17
il cucciolo se non sbaglio eredita gli ivs in base al sesso
Sbagli, il sesso è determinato da un numero di 32 bytes (il PID) quindi sia madre che padre ereditano le stesse IV


Titolo: Re: Il segreto è qui
Post di: CtW su Giugno 04, 2008, 20:57:49
il cucciolo se non sbaglio eredita gli ivs in base al sesso
Sbagli, il sesso è determinato da un numero di 32 bytes (il PID) quindi sia madre che padre ereditano le stesse IV
la madre ed il padre EREDITANO le IV da loro stessi :sisi :sisi :sisi :sisi :sisi :sisi :sisi :sisi


Titolo: Re: Il segreto è qui
Post di: Mr.Pkmn su Giugno 04, 2008, 21:03:29
cioè trasmettono


Titolo: Re: Il segreto è qui
Post di: CtW su Giugno 04, 2008, 21:04:51
Ecco. :sisi