View difference between Paste ID: icZEZvSF and mNTv9iX6
SHOW: | | - or go back to the newest paste.
1
// ==UserScript==
2
// @name         PVT V.3
3
// @version      0.1
4
// @description  Tools
5
// @author       iTC
6
// @require      http://code.jquery.com/jquery-1.11.0.min.js
7
// @match        *.pokemon-vortex.com/*
8
// @grant        none
9
// ==/UserScript==
10
11
/*********Information*************/
12
// To use this script you need to install TamperMonkey/GreaseMonkey ( EXTENSIONS ) on your web browser (e.g. Chrome/Firefox)
13
// Select add script and paste all of this script and enable it
14
// For this one i already set up a Legendary Catcher only so you can just go to any map and wait until a notification pops up saying 'Found Something' and you just got yourself a legendary. Have fun !
15
/**********LOGIN SETTING**********/
16
var autoLogin = false; //auto-login when logged out
17
18
var username = "";
19
var password = "";
20
21
/**********ON/OFF SETTINGS**********/
22
var doBattle        =  false; //enable battles same battle over and over again
23
var forceBattle     =  false; //enable being sent to the battle url when at dashboard
24
var findPokemon     = true; //enable finding pokemon alerts
25
var findLevels      = false; //enable find specific pokemon levels
26
var findLevelsAndUp =  true; //enable finding pokemon levels and up
27
var autoWalkFind    =  true; //enable walking+finding without you doing work
28
29
/**********FINDING SETTINGS**********/
30
var pokemonToFind = [
31
    // Custom
32
    'Mystic Sableye',
33
    'Mystic Spiritomb',
34
35
    //Gen 6 Legends
36
     'Xerneas','Shiny Xerneas','Dark Xerneas','Shadow Xernias','Metallic Xerneas','Mystic Xerneas',
37
     'Yveltal','Shiny Yveltal','Dark Yveltal','Shadow Yveltal','Metallic Yveltal','Mystic Yveltal',
38
     'Zygarde',
39
40
    // Grass
41
    'Shaymin (Sky)',
42
    'Celebi',
43
    'Latios',
44
    'Latias',
45
    'Rayquaza',
46
    'Shaymin',
47
    'Mew',
48
    'Cresselia',
49
    'Azelf',
50
    'Uxie',
51
    'Mesprit',
52
    'Virizion',
53
    'Genesect',
54
    'Mystic Shaymin (Sky)',
55
    'Mystic Celebi',
56
    'Mystic Latios',
57
    'Mystic Latias',
58
    'Mystic Rayquaza',
59
    'Mystic Shaymin',
60
    'Mystic Mew',
61
    'Mystic Cresselia',
62
    'Mystic Azelf',
63
    'Mystic Uxie',
64
    'Mystic Mesprit',
65
    'Mystic Virizion',
66
    'Mystic Genesect',
67
    'Shiny Shaymin (Sky)',
68
    'Shiny Celebi',
69
    'Shiny Latios',
70
    'Shiny Latias',
71
    'Shiny Rayquaza',
72
    'Shiny Shaymin',
73
    'Shiny Mew',
74
    'Shiny Cresselia',
75
    'Shiny Azelf',
76
    'Shiny Uxie',
77
    'Shiny Mesprit',
78
    'Shiny Virizion',
79
    'Shiny Genesect',
80
    'Dark Shaymin (Sky)',
81
    'Dark Celebi',
82
    'Dark Latios',
83
    'Dark Latias',
84
    'Dark Rayquaza',
85
    'Dark Shaymin',
86
    'Dark Mew',
87
    'Dark Cresselia',
88
    'Dark Azelf',
89
    'Dark Uxie',
90
    'Dark Mesprit',
91
    'Dark Virizion',
92
    'Dark Genesect',
93
    'Ancient Shaymin (Sky)',
94
    'Ancient Celebi',
95
    'Ancient Latios',
96
    'Ancient Latias',
97
    'Ancient Rayquaza',
98
    'Ancient Shaymin',
99
    'Ancient Mew',
100
    'Ancient Cresselia',
101
    'Ancient Azelf',
102
    'Ancient Uxie',
103
    'Ancient Mesprit',
104
    'Ancient Virizion',
105
    'Ancient Genesect',
106
107
108
109
    // Grass (water)
110
    'Manaphy',
111
    'Phione',
112
    'Suicune',
113
    'Keldeo',
114
115
    // Ice
116
    'Articuno',
117
    'Suicune',
118
    'Lugia',
119
    'Regice',
120
    'Kyurem',
121
    'Mystic Articuno',
122
    'Mystic Suicune',
123
    'Mystic Lugia',
124
    'Mystic Regice',
125
    'Mystic Kyurem',
126
    'Shiny Articuno',
127
    'Shiny Suicune',
128
    'Shiny Lugia',
129
    'Shiny Regice',
130
    'Shiny Kyurem',
131
    'Dark Articuno',
132
    'Dark Suicune',
133
    'Dark Lugia',
134
    'Dark Regice',
135
    'Dark Kyurem',
136
    'Ancient Articuno',
137
    'Ancient Suicune',
138
    'Ancient Lugia',
139
    'Ancient Regice',
140
    'Ancient Kyurem',
141
142
143
144
145
146
147
    // Cave (land)
148
    'Groudon',
149
    'Arceus',
150
    'Regigigas',
151
    'Palkia',
152
    'Dialga',
153
    'Deoxys',
154
    'Jirachi',
155
    'Registeel',
156
    'Regirock',
157
    'Mewtwo',
158
    'Cobalion',
159
    'Terrakion',
160
    'Virizion',
161
    'Reshiram',
162
    'Zekrom',
163
    'Kyurem',
164
    'Genesect',
165
    'Tornadus',
166
    'Landorus',
167
    'Mystic Groudon',
168
    'Mystic Arceus',
169
    'Mystic Regigigas',
170
    'Mystic Palkia',
171
    'Mystic Dialga',
172
    'Mystic Deoxys',
173
    'Mystic Jirachi',
174
    'Mystic Registeel',
175
    'Mystic Regirock',
176
    'Mystic Mewtwo',
177
    'Mystic Cobalion',
178
    'Mystic Terrakion',
179
    'Mystic Virizion',
180
    'Mystic Reshiram',
181
    'Mystic Zekrom',
182
    'Mystic Kyurem',
183
    'Mystic Genesect',
184
    'Mystic Tornadus',
185
    'Mystic Landorus',
186
    'Shiny Groudon',
187
    'Shiny Arceus',
188
    'Shiny Regigigas',
189
    'Shiny Palkia',
190
    'Shiny Dialga',
191
    'Shiny Deoxys',
192
    'Shiny Jirachi',
193
    'Shiny Registeel',
194
    'Shiny Regirock',
195
    'Shiny Mewtwo',
196
    'Shiny Cobalion',
197
    'Shiny Terrakion',
198
    'Shiny Virizion',
199
    'Shiny Reshiram',
200
    'Shiny Zekrom',
201
    'Shiny Kyurem',
202
    'Shiny Genesect',
203
    'Shiny Tornadus',
204
    'Shiny Landorus',
205
    'Dark Groudon',
206
    'Dark Arceus',
207
    'Dark Regigigas',
208
    'Dark Palkia',
209
    'Dark Dialga',
210
    'Dark Deoxys',
211
    'Dark Jirachi',
212
    'Dark Registeel',
213
    'Dark Regirock',
214
    'Dark Mewtwo',
215
    'Dark Cobalion',
216
    'Dark Terrakion',
217
    'Dark Virizion',
218
    'Dark Reshiram',
219
    'Dark Zekrom',
220
    'Dark Kyurem',
221
    'Dark Genesect',
222
    'Dark Tornadus',
223
    'Dark Landorus',
224
225
226
    // Cave (water)
227
    'Kyogre',
228
    'Lugia',
229
    'Keldeo',
230
231
    // Ghost
232
    'Mew',
233
    'Giratina',
234
    'Rotom',
235
    'Mesprit',
236
    'Azelf',
237
    'Uxie',
238
    'Celebi',
239
    'Darkrown',
240
    'Darkrai',
241
    'Shiny Mew',
242
    'Shiny Giratina',
243
    'Shiny Rotom',
244
    'Shiny Mesprit',
245
    'Shiny Azelf',
246
    'Shiny Uxie',
247
    'Shiny Celebi',
248
    'Shiny Darkrown',
249
    'Shiny Darkrai',
250
    'Dark Mew',
251
    'Dark Giratina',
252
    'Dark Rotom',
253
    'Dark Mesprit',
254
    'Dark Azelf',
255
    'Dark Uxie',
256
    'Dark Celebi',
257
    'Dark Darkrown',
258
    'Dark Darkrai',
259
    'Mystic Mew',
260
    'Mystic Giratina',
261
    'Mystic Rotom',
262
    'Mystic Mesprit',
263
    'Mystic Azelf',
264
    'Mystic Uxie',
265
    'Mystic Celebi',
266
    'Mystic Darkrown',
267
    'Mystic Darkrai',
268
    'Ancient Mew',
269
    'Ancient Giratina',
270
    'Ancient Rotom',
271
    'Ancient Mesprit',
272
    'Ancient Azelf',
273
    'Ancient Uxie',
274
    'Ancient Celebi',
275
    'Ancient Darkrown',
276
    'Ancient Darkrai',
277
278
    // Electric
279
    'Zapdos',
280
    'Raikou',
281
    'Jirachi',
282
    'Darkrai',
283
    'Darkrown',
284
    'Thundurus',
285
    'Zekrom',
286
    'Genesect',
287
288
    // Fire
289
    'Heatran',
290
    'Shiny Heatran','Dark Heatran','Shadow Heatran','Metallic Heatran','Mystic Heatran',
291
    'Ho-oh','Shiny Ho-oh','Dark Ho-oh','Shadow Ho-oh','Metallic Ho-oh','Mystic Ho-oh',
292
    'Moltres','Shiny Moltres','Dark Moltres','Shadow Moltres','Metallic Moltres','Mystic Moltres',
293
    'Entei','Shiny Entei','Dark Entei','Shadow Entei','Metallic Entei','Mystic Entei',
294
    'Reshiram','Shiny Reshiram',
295
    'Victini','Shiny Victini','Dark Victini','Shadow Victini','Metallic Victini','Mystic Vitctini',
296
];
297
//the pokemon you want to be alerted of
298
//make sure you get the right spelling
299
//TIP: You can also use the above setting as
300
//a general keyword searcher in the pokemon you see
301
//e.g. "shiny", "dark"
302
303
var levelsToFind = ["9"]; //The specific levels you want to be alerted for
304
//keep this a string array
305
306
var levelsAndUpToFind = 50; //level and up to alert about pokemon
307
//dont make this a string or array
308
309
var scanFreq = 75; //time to wait between every time the script checks if you saw what you wanted (in milliseconds)
310
311
var isDoneLoadingFreq = 350; //time to wait between checking if looking for pokemon has finished loading (in milli)
312
//dont make this too low (keep it how it is, it works fine) unless you have very super speedy internet
313
//THE LOWER THIS IS THE HIGHER CHANCE YOU HAVE OF LOSING A LEGEND
314
315
/**********FIGHTING SETTINGS**********/
316
var battle = "/wildbattle.php";
317
//change this to your battle url, but make sure you remove everything up to the /battle.php?jglasd=dfjklgdfj
318
//Even though it does automatically :P
319
320
var firstPokemonPrefAtt = 0; // 0 = don't pick
321
var seconPokemonPrefAtt = 0; // 0 = don't pick
322
var thirdPokemonPrefAtt = 0; // 0 = don't pick
323
var fourtPokemonPrefAtt = 0; // 0 = don't pick
324
var fifthPokemonPrefAtt = 0; // 0 = don't pick
325
var sixthPokemonPrefAtt = 0; // 0 = don't pick
326
327
var firstPokemonName = ""; // These names just need to be unique
328
var seconPokemonName = ""; // Capitalization is ignored
329
var thirdPokemonName = ""; // if empty it will be skipped
330
var fourtPokemonName = ""; // if not found it will be skipped
331
var fifthPokemonName = ""; // Make sure you spell right :p
332
var sixthPokemonName = ""; //
333
var attackFreq = 500; //time to wait between every click while fighting (in milliseconds)
334
335
/**********IGNORE EVERYTHING PAST THIS**********/
336
var pokeNames = [firstPokemonName, seconPokemonName, thirdPokemonName, fourtPokemonName, fifthPokemonName, sixthPokemonName];
337
var pokeAtts  = [firstPokemonPrefAtt, seconPokemonPrefAtt, thirdPokemonPrefAtt, fourtPokemonPrefAtt, fifthPokemonPrefAtt, sixthPokemonPrefAtt];
338
var battleUrl    = ".pokemon-vortex.com/wildbattle.php";
339
var findUrl      = ".pokemon-vortex.com/map.php";
340
var loginUrl     = "www.pokemon-vortex.com/login.php";
341
var dashboardUrl = ".pokemon-vortex.com/dashboard.php";
342
var attTimes = 0;
343
var moveTimes = 0;
344
345
if(battle.indexOf(".com")>-1){
346
    battle = battle.split(".com")[1];
347
}
348
349
if (doBattle && window.location.href.indexOf(battleUrl) > -1) {
350
    function startBattle() {
351
        for(var d = 0; d < 6; d++)
352
            if(pokeAtts[d] !== 0 && $("h3:contains('Your')").text().toLowerCase().indexOf(pokeNames[d].toLowerCase()) > -1 && pokeNames[d] !== "")
353
                $("input#attack"+pokeAtts[d]).click();
354
355
        if($("input[value*='Continue']").length)
356
            $("input[value*='Continue']").submit();
357
        if($("input[value*='Attack']").length)
358
            $("input[value*='Attack']").submit();
359
        if($("a:contains('Rebattle Opponent')").length)
360
            $("a:contains('Rebattle Opponent')").click();
361
    }
362
    if (window.location.href.indexOf(battle) >-1) {
363
        setInterval(function () {
364
            if($("#loading").css("visibility") == "hidden"){
365
                startBattle();
366
                attTimes = 0;
367
            }else{
368
                attTimes++;
369
            }
370
            if(times >= 100)
371
                location.reload(true);
372
373
        }, attackFreq);
374
    } else {
375
        window.location.href = battle;
376
    }
377
}else if ((findPokemon || findLevels || findLevelsAndUp) && window.location.href.indexOf(findUrl) > -1) {
378
    var a;
379
    var b;
380
    var finderOn = true;
381
    var whichMove = 1;
382
383
    function fireKey(el, key) {
384
        //Set key to corresponding code. This one is set to the left arrow key.
385
        //37 = left, 38 = up, 39 = right, 40 = down;
386
        if (document.createEventObject) {
387
            var eventObj = document.createEventObject();
388
            eventObj.keyCode = key;
389
            el.fireEvent("onkeydown", eventObj);
390
        } else if (document.createEvent) {
391
            var eventObj = document.createEvent("Events");
392
            eventObj.initEvent("keydown", true, true);
393
            eventObj.which = key;
394
            el.dispatchEvent(eventObj);
395
        }
396
    }
397
398
399
    function found(thing){
400
        if($('#pkmnappear').first().html().toLowerCase().indexOf(thing.toLowerCase()) > -1){
401
            alert("Found Something");
402
            finderOn = true;
403
            clearInterval(a);
404
            if(autoWalkFind){
405
                clearInterval(b);
406
            }
407
            return true;
408
        }else{
409
            return false;
410
        }
411
    }
412
413
    function setFinder(){
414
        finderOn = true;
415
416
        if(autoWalkFind){
417
            b = setInterval(function(){
418
                var isLoading = $("#pkmnappear").text().indexOf("Please wait") > -1;
419
                if(!isLoading){
420
                    switch(whichMove){
421
                        case 1:
422
                            fireKey(document,37);
423
                            whichMove = 2;
424
                            break;
425
                        case 2:
426
                            fireKey(document,38);
427
                            whichMove = 3;
428
                            break;
429
                        case 3:
430
                            fireKey(document,39);
431
                            whichMove = 4;
432
                            break;
433
                        case 4:
434
                            fireKey(document,40);
435
                            whichMove = 1;
436
                            break;
437
                    }
438
                    moveTimes=0;
439
                }else{
440
                    moveTimes++;
441
                }
442
                if(moveTimes >= 100)
443
                    location.reload(true);
444
            },isDoneLoadingFreq);
445
        }
446
447
        a = setInterval(function () {
448
            if(findPokemon)
449
                for (var i = 0; i < pokemonToFind.length; i++)
450
                    found(pokemonToFind[i]);
451
452
            if(findLevels)
453
                for (var i = 0; i < levelsToFind.length; i++)
454
                    found("Level: " + levelsToFind[i] + " ");
455
456
            if(findLevelsAndUp)
457
                for(var l = levelsAndUpToFind; l<101;l++)
458
                    if (found("Level: " + l + " "))
459
                        break;
460
461
        }, scanFreq);
462
    }
463
464
    setFinder();
465
    $(document).keydown(function(event) {
466
        switch (event.keyCode) {
467
            case 37: case 38: case 39: case 40: case 87: case 65: case 83: case 68: if(!finderOn)setFinder();
468
                break;
469
        }
470
    });
471
472
}else if(autoLogin && window.location.href.indexOf(loginUrl) > -1){
473
    $("#myusername").val(username);
474
    $("#mypassword").val(password);
475
    $("input[value*='Log in']").click();
476
    $("input[value*='Log in']").submit();
477
}else if(forceBattle && window.location.href.indexOf(dashboardUrl) > -1){
478
    window.location.href = battle;
479
}