wow, nice. I love your work swat =D
|
Purpose:
"Allowing you to simply C&p configs into your class20 and auto loading it 100%This auto loads the file,
This auto loads the frame order,
This auto loads new frames without over writing,
This auto connects the frames there wont be any id's spilled or replaced"
We know that from last Tutorial.
This new tutorial is almost the same but it Supports multiple headers(317 and 474) And config errors should be fixed.
Difficulty: 0
Tested On: 317 Deob
Step 1:
Replace ur whole method257 with this one:
Code:public static void method257(int i, Class44 class44) { Class30_Sub2_Sub2 class30_sub2_sub2 = new Class30_Sub2_Sub2(class44.method571("seq.dat", null), 891); anInt350 = class30_sub2_sub2.method410()+5000; if(aClass20Array351 == null) aClass20Array351 = new Class20[anInt350]; for(int j = 0; j < anInt350; j++) { if(aClass20Array351[j] == null) aClass20Array351[j] = new Class20(); if(j < 3997) aClass20Array351[j].method259(true, class30_sub2_sub2); /*Animations below V*/ if(j == 4977){ int file = 1290; if(FrameStart[file] < 1) Class36.Animation01(false, file); int[] frames = {1,12,23,34,44,45,46,47,48,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,0}; int[] delays = {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0}; aClass20Array351[j].anInt352 = frames.length-1; aClass20Array351[j].anIntArray353 = new int[frames.length-1]; aClass20Array351[j].anIntArray354 = new int[frames.length-1]; aClass20Array351[j].anIntArray355 = new int[frames.length-1]; for(int i2 = 0; i2 < frames.length-1; i2++){ aClass20Array351[j].anIntArray353[i2] = frames[i2]+FrameStart[file]; aClass20Array351[j].anIntArray354[i2] = -1; aClass20Array351[j].anIntArray355[i2] = delays[i2]; } } /*Animations above ^*/ } }
step 2:
Chaning the max frame limit:
replace in class36 method528 with:
Code:public static void method528(int i) { i = 100000; aClass36Array635 = new Class36[i + 1]; aBooleanArray643 = new boolean[i + 1]; for(int j = 0; j < i + 1; j++) aBooleanArray643[j] = true; }
Step 3:
Declare these in class36.
Step 4:Code:public static int FrameStart[] = new int[2800]; public static int offset = 33600; public static void Animations02(boolean flag, int file) { try { byte abyte0[]; FrameStart[file] = offset; abyte0 = FileOperations.ReadFile("./cache/anim2/"+file+".dat"); Class30_Sub2_Sub2 class30_sub2_sub2 = new Class30_Sub2_Sub2(abyte0); class30_sub2_sub2.anInt1406 = abyte0.length - 12; int i = class30_sub2_sub2.method413(); int j = class30_sub2_sub2.method413(); int k = class30_sub2_sub2.method413(); int i1 = 0; Class30_Sub2_Sub2 class30_sub2_sub2_1 = new Class30_Sub2_Sub2(abyte0); class30_sub2_sub2_1.anInt1406 = i1; i1 += i + 4; Class30_Sub2_Sub2 class30_sub2_sub2_2 = new Class30_Sub2_Sub2(abyte0); class30_sub2_sub2_2.anInt1406 = i1; i1 += j; Class30_Sub2_Sub2 class30_sub2_sub2_3 = new Class30_Sub2_Sub2(abyte0); class30_sub2_sub2_3.anInt1406 = i1; i1 += k-16; Class30_Sub2_Sub2 class30_sub2_sub2_4 = new Class30_Sub2_Sub2(abyte0); class30_sub2_sub2_4.anInt1406 = i1; Class18 class18 = new Class18(class30_sub2_sub2_4); int k1 = class30_sub2_sub2_1.method413(); int ai[] = new int[500]; int ai1[] = new int[500]; int ai2[] = new int[500]; int ai3[] = new int[500]; for(int l1 = 0; l1 < k1; l1++) { int i2 = class30_sub2_sub2_1.method413(); i2+=FrameStart[file]; Class36 class36 = aClass36Array635[i2] = new Class36(); class36.aClass18_637 = class18; int j2 = class30_sub2_sub2_1.method408(); int k2 = -1; int l2 = 0; for(int i3 = 0; i3 < j2; i3++) { int j3 = class30_sub2_sub2_2.method408(); if(j3 > 0) { if(class18.anIntArray342[i3] != 0) { for(int l3 = i3 - 1; l3 > k2; l3--) { if(class18.anIntArray342[l3] != 0) continue; ai[l2] = l3; ai1[l2] = 0; ai2[l2] = 0; ai3[l2] = 0; l2++; break; } } ai[l2] = i3; char c = '\0'; if(class18.anIntArray342[i3] == 3) c = '\200'; if((j3 & 1) != 0) ai1[l2] = class30_sub2_sub2_3.method421(); else ai1[l2] = c; if((j3 & 2) != 0) ai2[l2] = class30_sub2_sub2_3.method421(); else ai2[l2] = c; if((j3 & 4) != 0) ai3[l2] = class30_sub2_sub2_3.method421(); else ai3[l2] = c; k2 = i3; l2++; if(class18.anIntArray342[i3] == 5) aBooleanArray643[i2] = false; } } class36.anInt638 = l2; class36.anIntArray639 = new int[l2]; class36.anIntArray640 = new int[l2]; class36.anIntArray641 = new int[l2]; class36.anIntArray642 = new int[l2]; for(int k3 = 0; k3 < l2; k3++) { class36.anIntArray639[k3] = ai[k3]; class36.anIntArray640[k3] = ai1[k3]; class36.anIntArray641[k3] = ai2[k3]; class36.anIntArray642[k3] = ai3[k3]; } } offset+=k1; } catch(Exception _ex) {System.out.println("File Error found Switching to 317 format! - Reloading method");Animations02(flag, file);} } public static void Animations02(boolean flag, int file) { try { byte abyte0[]; FrameStart[file] = offset; abyte0 = FileOperations.ReadFile("./cache/anim/"+file+".dat"); Class30_Sub2_Sub2 class30_sub2_sub2 = new Class30_Sub2_Sub2(abyte0); class30_sub2_sub2.anInt1406 = abyte0.length - 8; int i = class30_sub2_sub2.method410(); int j = class30_sub2_sub2.method410(); int k = class30_sub2_sub2.method410(); int l = class30_sub2_sub2.method410(); int i1 = 0; Class30_Sub2_Sub2 class30_sub2_sub2_1 = new Class30_Sub2_Sub2(abyte0, 891); class30_sub2_sub2_1.anInt1406 = i1; i1 += i + 2; Class30_Sub2_Sub2 class30_sub2_sub2_2 = new Class30_Sub2_Sub2(abyte0, 891); class30_sub2_sub2_2.anInt1406 = i1; i1 += j; Class30_Sub2_Sub2 class30_sub2_sub2_3 = new Class30_Sub2_Sub2(abyte0, 891); class30_sub2_sub2_3.anInt1406 = i1; i1 += k; Class30_Sub2_Sub2 class30_sub2_sub2_4 = new Class30_Sub2_Sub2(abyte0, 891); class30_sub2_sub2_4.anInt1406 = i1; i1 += l; Class30_Sub2_Sub2 class30_sub2_sub2_5 = new Class30_Sub2_Sub2(abyte0, 891); class30_sub2_sub2_5.anInt1406 = i1; if(flag) { for(int j1 = 1; j1 > 0; j1++); } Class18 class18 = new Class18(0, class30_sub2_sub2_5); int k1 = class30_sub2_sub2_1.method410(); int ai[] = new int[500]; int ai1[] = new int[500]; int ai2[] = new int[500]; int ai3[] = new int[500]; for(int l1 = 0; l1 < k1; l1++) { int i2 = class30_sub2_sub2_1.method410()+FrameStart[file]; Class36 class36 = aClass36Array635[i2] = new Class36(); class36.anInt636 = class30_sub2_sub2_4.method408(); class36.aClass18_637 = class18; int j2 = class30_sub2_sub2_1.method408(); int k2 = -1; int l2 = 0; for(int i3 = 0; i3 < j2; i3++) { int j3 = class30_sub2_sub2_2.method408(); if(j3 > 0) { if(class18.anIntArray342[i3] != 0) { for(int l3 = i3 - 1; l3 > k2; l3--) { if(class18.anIntArray342[l3] != 0) continue; ai[l2] = l3; ai1[l2] = 0; ai2[l2] = 0; ai3[l2] = 0; l2++; break; } } ai[l2] = i3; char c = '\0'; if(class18.anIntArray342[i3] == 3) c = '\200'; if((j3 & 1) != 0) ai1[l2] = class30_sub2_sub2_3.method421(); else ai1[l2] = c; if((j3 & 2) != 0) ai2[l2] = class30_sub2_sub2_3.method421(); else ai2[l2] = c; if((j3 & 4) != 0) ai3[l2] = class30_sub2_sub2_3.method421(); else ai3[l2] = c; k2 = i3; l2++; if(class18.anIntArray342[i3] == 5) aBooleanArray643[i2] = false; } } class36.anInt638 = l2; class36.anIntArray639 = new int[l2]; class36.anIntArray640 = new int[l2]; class36.anIntArray641 = new int[l2]; class36.anIntArray642 = new int[l2]; for(int k3 = 0; k3 < l2; k3++) { class36.anIntArray639[k3] = ai[k3]; class36.anIntArray640[k3] = ai1[k3]; class36.anIntArray641[k3] = ai2[k3]; class36.anIntArray642[k3] = ai3[k3]; } } offset+=k1; } catch(Exception _ex) {System.out.println("File Error found/Header Not found !!~~Unfixable~~!!");} }
Add this inside class18:
Step 5:Code:public Class18(Class30_Sub2_Sub2 class30_sub2_sub2) { int anInt341 = class30_sub2_sub2.method408(); anIntArray342 = new int[anInt341]; anIntArrayArray343 = new int[anInt341][]; for(int j = 0; j < anInt341; j++) anIntArray342[j] = class30_sub2_sub2.method408(); for(int j = 0; j < anInt341; j++) anIntArrayArray343[j] = new int[class30_sub2_sub2.method408()]; for(int j = 0; j < anInt341; j++) for (int l = 0; l < anIntArrayArray343[j].length; l++) anIntArrayArray343[j][l] = class30_sub2_sub2.method408(); }
And in class Class30_Sub2_Sub2 add this:
Code:public Class30_Sub2_Sub2(byte abyte0[]) { aByteArray1405 = abyte0; anInt1406 = 0; }
Step 6:
474** Header Anims: Downloading - anim.rar @ UppIT
317 Header Anims: Downloading - anim.rar @ UppIT
**These anims aren't really 474 header but my own
This should work 100% i had multiple Aproves
Now go ingame and do animation 4977
Have fun
wow, nice. I love your work swat =D
This is for the ppl who dont want only 474 or only 317 and that failed at the last tutorials
Goodjob again d00d
pretty damn good SWAT.
omgogmogmogm nice!
I got my skillcape emotes working thanks
fixed
Error: loaderror Unpacking config 86
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |