if (Asm_AIWeapon)
{
memcpy((void *)(0x4F14D6), (void *)"\xEB", 1);
}
else
{
memcpy((void *)(0x4F14D6), (void *)"\x0F", 1);
}
Sicher das dies die AiWeapon Source ist, und nicht NoWeaponRestriction?Quote:
Not tested!Code:if (Asm_AIWeapon) { memcpy((void *)(0x4F14D6), (void *)"\xEB", 1); } else { memcpy((void *)(0x4F14D6), (void *)"\x0F", 1); }
if (Ch_SuperJump==1&&GetAsyncKeyState(VK_CONTROL)&0x8000)
{
*(float*)(pp + OFS_Z) = 2e3;
}
if (Ch_SuperJump==2&&GetAsyncKeyState(VK_CONTROL)&0x8000)
{
*(float*)(pp+ OFS_Z) +=60;
}
Ich habe doch hingeschrieben, not tested!Quote:
Sicher das dies die AiWeapon Source ist, und nicht NoWeaponRestriction?
Man kann mit dem Hack ja alle Waffen überall benutzen, und nicht nur AiWeapons in CQC & BG .
Code:if (Ch_SuperJump==1&&GetAsyncKeyState(VK_CONTROL)&0x8000) { *(float*)(pp + OFS_Z) = 2e3; } if (Ch_SuperJump==2&&GetAsyncKeyState(VK_CONTROL)&0x8000) { *(float*)(pp+ OFS_Z) +=60; }
CrashQuote:
Not tested!Code:if (Asm_AIWeapon) { memcpy((void *)(0x4F14D6), (void *)"\xEB", 1); } else { memcpy((void *)(0x4F14D6), (void *)"\x0F", 1); }
if (Asm_AIWeapon2)
{
memcpy((void *)(0x4F14D6), (void *)"\x90\x90\x90\x90\x90\x90", 6);
}
else
{
memcpy((void *)(0x4F14D6), (void *)"\x0F\x85\x87\x00\x00\x00", 6);
}
2e3 = 2000 :)Quote:
Ich habe doch hingeschrieben, not tested!
Und zu deine Source.
2e3 das ergibt keinen Sinn. Wenn dann hieß es 0x2e3.
MfG, BuRn3R!
if (CH_SkyWalk==1)
{ *(float*) (pp+OFS_Z) = 5e2; } //500
if (CH_SkyWalk==2)
{ *(float*) (pp+OFS_Z) = 1e3; } //1000
if (CH_SkyWalk==3)
{ *(float*) (pp+OFS_Z) = 25e2; }//2500
if (xWeapon.CH_FastNadeBlast)
{
p_Base->pLocal->FastNadeBlast = -9.99e2; //funktioniert 9.99 oder halt auch 9.9900 :)
}
//Credits to : Kp, auf jedenfall nicht von mir.
Quote:
Sicher das dies die AiWeapon Source ist, und nicht NoWeaponRestriction?
Man kann mit dem Hack ja alle Waffen überall benutzen, und nicht nur AiWeapons in CQC & BG .
Code:if (Ch_SuperJump==1&&GetAsyncKeyState(VK_CONTROL)&0x8000) { *(float*)(pp + OFS_Z) = 2e3; } if (Ch_SuperJump==2&&GetAsyncKeyState(VK_CONTROL)&0x8000) { *(float*)(pp+ OFS_Z) +=60; }
if(X3_SuperJump ==1)
{
if(GetAsyncKeyState(VK_CONTROL)&1)
{
*(FLOAT*)(_CALLPLAYER + OFS_Z) = 2000.0F;/*.0F weil es float ist.*/
}}
Ich weiß nicht woran es liegt, aber immer wenn ich "&1" schreibe zappelt meine Charaktere immer so komisch bei Smooth Jump :/ .Quote:
So schwer?Code:if(X3_SuperJump ==1) { if(GetAsyncKeyState(VK_CONTROL)&1) { *(FLOAT*)(_CALLPLAYER + OFS_Z) = 2000.0F;/*.0F weil es float ist.*/ }}
Ich verstehe echt nicht warum manche "&0x8000" machen..
Erklärung.
if(X3_SuperJump==1)
= Falls SuperJump im Menuü auf 1 gesetzt wird, soll es sich aktivieren also in diesem Fall "==1"
if(GetAsyncKeyState(VK_CONTROL)&1)
= Das ist sowas wie der Funktions starter, ich verstehe darunter folgendes.
( Falls die Kontroll Taste einmal gedrückt wird "&1", aktiviert sich diese Funktion und macht ihre Aufgabe )
*(FLOAT*)(_CALLPLAYER + OFS_Z) = 2000.0F;/*.0F weil es float ist.*/
= Float = der Datentyp. / Der PlayerPointer und die Z Achse werden "zusammengerufen" und verändern die Z Achse von ihrer normalen Größe auf 2000 Meter.
Falls ich falsch liege soll mich einer darauf hinweisen. :)
if (CH_CQCProne)
{
*(int*) CQCPRONE ADDY = 3;
}
Wenn du nur einen SuperJump Typ benutzt also nicht 500,1500 etc kannst du das ganze auch so machen (zB mit MoonJump)Quote:
So schwer?Code:if(X3_SuperJump ==1) { if(GetAsyncKeyState(VK_CONTROL)&1) { *(FLOAT*)(_CALLPLAYER + OFS_Z) = 2000.0F;/*.0F weil es float ist.*/ }}
Ich verstehe echt nicht warum manche "&0x8000" machen..
Erklärung.
if(X3_SuperJump==1)
= Falls SuperJump im Menuü auf 1 gesetzt wird, soll es sich aktivieren also in diesem Fall "==1"
if(GetAsyncKeyState(VK_CONTROL)&1)
= Das ist sowas wie der Funktions starter, ich verstehe darunter folgendes.
( Falls die Kontroll Taste einmal gedrückt wird "&1", aktiviert sich diese Funktion und macht ihre Aufgabe )
*(FLOAT*)(_CALLPLAYER + OFS_Z) = 2000.0F;/*.0F weil es float ist.*/
= Float = der Datentyp. / Der PlayerPointer und die Z Achse werden "zusammengerufen" und verändern die Z Achse von ihrer normalen Größe auf 2000 Meter.
Falls ich falsch liege soll mich einer darauf hinweisen. :)
if( SuperJump )
{
if(GetAsyncKeyState(VK_CONTROL)&1)
{
*(float*)(dwPlayerPtr+OFS_Z) = 500.0f;
}
}
Man braucht nur die Premium1 Addy. Die Premium2 Addy ist für die Zeit zuständig und das ist Sinnlos solange du kein Premium Days einbauen möchtest.Quote:
Zur Zeit auf 1.
Code:if(CH_premium==1) // Bronze :) { *(int*)(sp+OFS_PREMIUM) = 1; *(float*)(sp+OFS_Premium2) = 1; }
switch( Premium )
{
case 1: *(int*)(dwServerPtr+OFS_PREMIUM1) = 1; break;/*Bronze*/
case 2: *(int*)(dwServerPtr+OFS_PREMIUM1) = 2; break;/*Silver*/
case 3: *(int*)(dwServerPtr+OFS_PREMIUM1) = 3; break;/*Gold*/
case 4: *(int*)(dwServerPtr+OFS_PREMIUM1) = 4; break;/*Platinum*/
}
Was ihr immer an meinen Sourcen rumm zumeckern habt -.- .Quote:
Wenn du nur einen SuperJump Typ benutzt also nicht 500,1500 etc kannst du das ganze auch so machen (zB mit MoonJump)
Und warum schreibst du float groß ?
Ansonsten ganz lustig erklärt :pimp:Code:if( SuperJump ) { if(GetAsyncKeyState(VK_CONTROL)&1) { *(float*)(dwPlayerPtr+OFS_Z) = 500.0f; } }
Man braucht nur die Premium1 Addy. Die Premium2 Addy ist für die Zeit zuständig und das ist Sinnlos solange du kein Premium Days einbauen möchtest.
Code:switch( Premium ) { case 1: *(int*)(dwServerPtr+OFS_PREMIUM1) = 1; break;/*Bronze*/ case 2: *(int*)(dwServerPtr+OFS_PREMIUM1) = 2; break;/*Silver*/ case 3: *(int*)(dwServerPtr+OFS_PREMIUM1) = 3; break;/*Gold*/ case 4: *(int*)(dwServerPtr+OFS_PREMIUM1) = 4; break;/*Platinum*/ }
if (CH_NFD==1)
{
*(float*)(pp +OFS_NFD) = -25e7;
}