[QUOTE=Zeke129;20586398]It uses DX10. XP does not support DX10. Ergo, no XP support.[/QUOTE]
And what kind of retard thought that not supporting Dx9 (aka 40% of the market aka the most popular os) would be a good idea?
[QUOTE=Andriko123;20586947]Show us your tits.[/QUOTE]
[img]http://i45.tinypic.com/24vprtc.jpg[/img]
this game made me feel like a hispanic spiderman
[QUOTE=aydin690;20586959]And what kind of retard thought that not supporting Dx9 (aka 40% of the market aka the most popular os) would be a good idea?[/QUOTE]
Because it's 10 years old and it's about time people had a reason to move on.
[QUOTE=Wata;20586071]Meh, the demo won't even start for me, it just says Just Cause 2 demo has stopped working.[/QUOTE]
Update your drivers, worked for me
[QUOTE='-[ Fizzadar ]-;20587058']Because it's 10 years old and it's about time people had a reason to move on.[/QUOTE]
And what exactly is that reason? Are you implying that people are going to upgrade for a single game?
I have no reason to upgrade to another OS when xp is working just fine.
Now you have one reason.
[QUOTE=aydin690;20587076]And what exactly is that reason? Are you implying that people are going to upgrade for a single game?
I have no reason to upgrade to another OS when xp is working just fine.[/QUOTE]
Windows 98's working just fine, too.
So, how is this game?
[QUOTE=BOLOPatch;20586852]My name is Bolo Santosi. I am the leader of the revolutionary army known as the Reapers.
Our goal is for the people of Facepunch to break the time and map limit of the Just Cause 2 demo... and have unlimited fun.
I have found an able bodied... comrade. He is the G, and I am the H. They say we are the best...
Instructions:
Install Autoit.
Run the demo.
When you get to the main menu:
Launch Scite (autoit editor).
Paste this:
[code]
;;================================================================================
;; Includes
;;================================================================================
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#RequireAdmin
#NoTrayIcon
;;================================================================================
;; Main
;;================================================================================
Opt("WinTitleMatchMode", 4)
SetPrivilege("SeDebugPrivilege", 1)
Global $ProcessID = WinGetProcess("Just Cause 2 Demo", "")
Dim $ProcessFound = 0
While $ProcessFound = 0
If $ProcessID = -1 Then
MsgBox(4096, "Error", "No process found.")
Exit(1)
EndIf
$ProcessFound = 1
WEnd
WinActivate("Just Cause 2 Demo")
$wc = WinGetPos("Just Cause 2 Demo")
$x = $wc[0] + ($wc[2] / 2) - 149/2
$y = $wc[1] + ($wc[3] / 2) - 42/2
GUICreate("BOLOPatch", 149, 42, $x, $y, BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER))
GUICtrlCreateLabel("Status:", 0, 0, 37, 17, $SS_CENTER)
$status = GUICtrlCreateLabel("", 40, 0, 107, 17, $SS_CENTER, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel("Coding by G&H Productions", 0, 24, 148, 17, BitOR($SS_CENTER,$SS_NOPREFIX), $WS_EX_CLIENTEDGE)
GUISetState()
Patch()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
;;================================================================================
;; Patch
;;================================================================================
Func Patch()
$DLL = _MemoryOpen($ProcessID)
If @Error Then
GUICtrlSetData($status, "Patching failure.")
EndIf
_MemoryWrite(0x004FE17D, $DLL, 0x90, "byte");;;
_MemoryWrite(0x004FE17E, $DLL, 0x90, "byte");;; TIME LIMIT DISABLE
_MemoryWrite(0x004FE17F, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C95, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C96, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C97, $DLL, 0x90, "byte");;; MAP LIMIT DISABLE
_MemoryWrite(0x007F2C98, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C99, $DLL, 0x90, "byte");;;
_MemoryClose($DLL)
GUICtrlSetData($status, "Patching success!")
EndFunc
;;;
;; NOMADMEMORY EXTRACT
;;;
Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_InheritHandle = 1)
If Not ProcessExists($iv_Pid) Then
SetError(1)
Return 0
EndIf
Local $ah_Handle[2] = [DllOpen('kernel32.dll')]
If @Error Then
SetError(2)
Return 0
EndIf
Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $iv_InheritHandle, 'int', $iv_Pid)
If @Error Then
DllClose($ah_Handle[0])
SetError(3)
Return 0
EndIf
$ah_Handle[1] = $av_OpenProcess[0]
Return $ah_Handle
EndFunc
Func _MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')
If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf
Local $v_Buffer = DllStructCreate($sv_Type)
If @Error Then
SetError(@Error + 1)
Return 0
Else
DllStructSetData($v_Buffer, 1, $v_Data)
If @Error Then
SetError(6)
Return 0
EndIf
EndIf
DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
If Not @Error Then
Return 1
Else
SetError(7)
Return 0
EndIf
EndFunc
Func _MemoryClose($ah_Handle)
If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf
DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
If Not @Error Then
DllClose($ah_Handle[0])
Return 1
Else
DllClose($ah_Handle[0])
SetError(2)
Return 0
EndIf
EndFunc
Func SetPrivilege( $privilege, $bEnable )
Const $MY_TOKEN_ADJUST_PRIVILEGES = 0x0020
Const $MY_TOKEN_QUERY = 0x0008
Const $MY_SE_PRIVILEGE_ENABLED = 0x0002
Local $hToken, $SP_auxret, $SP_ret, $hCurrProcess, $nTokens, $nTokenIndex, $priv
$nTokens = 1
$LUID = DLLStructCreate("dword;int")
If IsArray($privilege) Then $nTokens = UBound($privilege)
$TOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
$NEWTOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
$hCurrProcess = DLLCall("kernel32.dll","hwnd","GetCurrentProcess")
$SP_auxret = DLLCall("advapi32.dll","int","OpenProcessToken","hwnd",$hCurrProcess[0], _
"int",BitOR($MY_TOKEN_ADJUST_PRIVILEGES,$MY_TOKEN_QUERY),"int*",0)
If $SP_auxret[0] Then
$hToken = $SP_auxret[3]
DLLStructSetData($TOKEN_PRIVILEGES,1,1)
$nTokenIndex = 1
While $nTokenIndex <= $nTokens
If IsArray($privilege) Then
$priv = $privilege[$nTokenIndex-1]
Else
$priv = $privilege
EndIf
$ret = DLLCall("advapi32.dll","int","LookupPrivilegeValue","str","","str",$priv, _
"ptr",DLLStructGetPtr($LUID))
If $ret[0] Then
If $bEnable Then
DLLStructSetData($TOKEN_PRIVILEGES,2,$MY_SE_PRIVILEGE_ENABLED,(3 * $nTokenIndex))
Else
DLLStructSetData($TOKEN_PRIVILEGES,2,0,(3 * $nTokenIndex))
EndIf
DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,1),(3 * ($nTokenIndex-1)) + 1)
DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,2),(3 * ($nTokenIndex-1)) + 2)
DLLStructSetData($LUID,1,0)
DLLStructSetData($LUID,2,0)
EndIf
$nTokenIndex += 1
WEnd
$ret = DLLCall("advapi32.dll","int","AdjustTokenPrivileges","hwnd",$hToken,"int",0, _
"ptr",DllStructGetPtr($TOKEN_PRIVILEGES),"int",DllStructGetSize($NEWTOKEN_PRIVILEGES), _
"ptr",DllStructGetPtr($NEWTOKEN_PRIVILEGES),"int*",0)
$f = DLLCall("kernel32.dll","int","GetLastError")
EndIf
$NEWTOKEN_PRIVILEGES=0
$TOKEN_PRIVILEGES=0
$LUID=0
If $SP_auxret[0] = 0 Then Return 0
$SP_auxret = DLLCall("kernel32.dll","int","CloseHandle","hwnd",$hToken)
If Not $ret[0] And Not $SP_auxret[0] Then Return 0
return $ret[0]
EndFunc
[/code]
Save it as anyfilenameyouwant.au3
Press F5 to run the script.
Now you won't have the time / map limit.
Enjoy.
NB: Bolo Santosi is not responsible if you fuck this shit up. The code is visible, so no, it doesn't have any viruses.
NB2: If you run this before the main menu loads (press enter to ...) the game WILL crash.[/QUOTE]
nothing happens after loading the menu screen and pressing F5...
it doesn't pause the timer either
[QUOTE=Gordon Frohm;20587127]nothing happens after loading the menu screen and pressing F5...
it doesn't pause the timer either[/QUOTE]
You have to press F5 while the SCITE is open.
(While you see the code)
Did you write this O.o
With the help of one able bodied comrade, yes.
[QUOTE=BOLOPatch;20587144]You have to press F5 while the SCITE is open.
(While you see the code)[/QUOTE]
it says patching success, but I still have the time and map limit...
Are you sure? If it said "patching success" the time should stop at where it is.
And you should be able to get out into the grey zone.
[QUOTE=Gordon Frohm;20587207]it says patching success, but I still have the time and map limit...[/QUOTE]
also you said run the demo, go to main menu and then run the script, right?
so then why does the script it try to run the demo again, even though I just opened it??
It doesn't try to run the demo again... It just alttabs to the window.
[QUOTE=aydin690;20587076]And what exactly is that reason? Are you implying that people are going to upgrade for a single game?[/QUOTE]
It's just another reason, maybe it'll tip some people or make them realize their os is out o' date
[QUOTE=aydin690;20587076]I have no reason to upgrade to another OS when xp is working just fine.[/QUOTE]
So does Windows 3, but thats not the point.
Hiya guys,
I'm experiencing random lagspikes while playing the demo. Game runs smoooothly around 60 FPS all the time, then suddenly FPS drops to ~20 and the game slows down a little. This usually happens when I'm grappling something.
Running on ATI Radeon HD4890, Phenom II X4 945, 4GB DDR and Windows 7. Game settings are AA 2x, everything else maxed.
[QUOTE=BOLOPatch;20587239]It doesn't try to run the demo again... It just alttabs to the window.[/QUOTE]
well for me it trys to run the demo again... huh... what the hell am I doing wrong...
can you click on this link? [url]http://www.e-castig.com/index.php?r=WTp2[/url]
Thank you
I'm gonna DL the demo when I get Internet on my PC, which ought to be tomorrow.
Okay so this is what I'm doing:
I pasted the code into incite
launched the game
when on the main menu, I pressed F5
It says "patching succesful" and opens up the EULA agreement that you click "I agree" to to launch the game
I go back in the game, sit through the dammed long cutscene, and when I start the timer, it's not frozen.
[QUOTE=gmaster;20587358]Okay so this is what I'm doing:
I pasted the code into incite
launched the game
when on the main menu, I pressed F5
It says "patching succesful" and opens up the EULA agreement that you click "I agree" to to launch the game
I go back in the game, sit through the dammed long cutscene, and when I start the timer, it's not frozen.[/QUOTE]
this is also what I am getting.
Hmm... strange.
Do you have administrative status on your computer?
EULA agreement??? Can you please take a screenshot?
[QUOTE=BOLOPatch;20587377]Have you saved the pasted code (for example) as patch.au3 ?[/QUOTE]
yes saved it.
this is what I did:
run demo
open scite, paste text, press F5
patch successful, steam tries to run game again
no timer is frozen no matter what I do after that
it worked for me... then the game crashed and is doing the same as above, except the game crashes instead.
that is, I can run it without.
Ok... try this slightly modified version.
[code]
;;================================================================================
;; Includes
;;================================================================================
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#RequireAdmin
#NoTrayIcon
;;================================================================================
;; Main
;;================================================================================
Opt("WinTitleMatchMode", 4)
SetPrivilege("SeDebugPrivilege", 1)
Global $ProcessID = ProcessExists("JustCause2.exe");
Dim $ProcessFound = 0
While $ProcessFound = 0
If $ProcessID = -1 Then
MsgBox(4096, "Error", "No process found.")
Exit(1)
EndIf
$ProcessFound = 1
WEnd
WinActivate("Just Cause 2 Demo")
$wc = WinGetPos("Just Cause 2 Demo")
$x = $wc[0] + ($wc[2] / 2) - 149/2
$y = $wc[1] + ($wc[3] / 2) - 42/2
GUICreate("BOLOPatch", 149, 42, $x, $y, BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER))
GUICtrlCreateLabel("Status:", 0, 0, 37, 17, $SS_CENTER)
$status = GUICtrlCreateLabel("", 40, 0, 107, 17, $SS_CENTER, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel("Coding by G&H Productions", 0, 24, 148, 17, BitOR($SS_CENTER,$SS_NOPREFIX), $WS_EX_CLIENTEDGE)
GUISetState()
Patch()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
;;================================================================================
;; Patch
;;================================================================================
Func Patch()
$DLL = _MemoryOpen($ProcessID)
If @Error Then
GUICtrlSetData($status, "Patching failure.")
EndIf
_MemoryWrite(0x004FE17D, $DLL, 0x90, "byte");;;
_MemoryWrite(0x004FE17E, $DLL, 0x90, "byte");;; TIME LIMIT DISABLE
_MemoryWrite(0x004FE17F, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C95, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C96, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C97, $DLL, 0x90, "byte");;; MAP LIMIT DISABLE
_MemoryWrite(0x007F2C98, $DLL, 0x90, "byte");;;
_MemoryWrite(0x007F2C99, $DLL, 0x90, "byte");;;
_MemoryClose($DLL)
GUICtrlSetData($status, "Patching success!")
EndFunc
;;;
;; NOMADMEMORY EXTRACT
;;;
Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_InheritHandle = 1)
If Not ProcessExists($iv_Pid) Then
SetError(1)
Return 0
EndIf
Local $ah_Handle[2] = [DllOpen('kernel32.dll')]
If @Error Then
SetError(2)
Return 0
EndIf
Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $iv_InheritHandle, 'int', $iv_Pid)
If @Error Then
DllClose($ah_Handle[0])
SetError(3)
Return 0
EndIf
$ah_Handle[1] = $av_OpenProcess[0]
Return $ah_Handle
EndFunc
Func _MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')
If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf
Local $v_Buffer = DllStructCreate($sv_Type)
If @Error Then
SetError(@Error + 1)
Return 0
Else
DllStructSetData($v_Buffer, 1, $v_Data)
If @Error Then
SetError(6)
Return 0
EndIf
EndIf
DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
If Not @Error Then
Return 1
Else
SetError(7)
Return 0
EndIf
EndFunc
Func _MemoryClose($ah_Handle)
If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf
DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
If Not @Error Then
DllClose($ah_Handle[0])
Return 1
Else
DllClose($ah_Handle[0])
SetError(2)
Return 0
EndIf
EndFunc
Func SetPrivilege( $privilege, $bEnable )
Const $MY_TOKEN_ADJUST_PRIVILEGES = 0x0020
Const $MY_TOKEN_QUERY = 0x0008
Const $MY_SE_PRIVILEGE_ENABLED = 0x0002
Local $hToken, $SP_auxret, $SP_ret, $hCurrProcess, $nTokens, $nTokenIndex, $priv
$nTokens = 1
$LUID = DLLStructCreate("dword;int")
If IsArray($privilege) Then $nTokens = UBound($privilege)
$TOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
$NEWTOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
$hCurrProcess = DLLCall("kernel32.dll","hwnd","GetCurrentProcess")
$SP_auxret = DLLCall("advapi32.dll","int","OpenProcessToken","hwnd",$hCurrProcess[0], _
"int",BitOR($MY_TOKEN_ADJUST_PRIVILEGES,$MY_TOKEN_QUERY),"int*",0)
If $SP_auxret[0] Then
$hToken = $SP_auxret[3]
DLLStructSetData($TOKEN_PRIVILEGES,1,1)
$nTokenIndex = 1
While $nTokenIndex <= $nTokens
If IsArray($privilege) Then
$priv = $privilege[$nTokenIndex-1]
Else
$priv = $privilege
EndIf
$ret = DLLCall("advapi32.dll","int","LookupPrivilegeValue","str","","str",$priv, _
"ptr",DLLStructGetPtr($LUID))
If $ret[0] Then
If $bEnable Then
DLLStructSetData($TOKEN_PRIVILEGES,2,$MY_SE_PRIVILEGE_ENABLED,(3 * $nTokenIndex))
Else
DLLStructSetData($TOKEN_PRIVILEGES,2,0,(3 * $nTokenIndex))
EndIf
DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,1),(3 * ($nTokenIndex-1)) + 1)
DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,2),(3 * ($nTokenIndex-1)) + 2)
DLLStructSetData($LUID,1,0)
DLLStructSetData($LUID,2,0)
EndIf
$nTokenIndex += 1
WEnd
$ret = DLLCall("advapi32.dll","int","AdjustTokenPrivileges","hwnd",$hToken,"int",0, _
"ptr",DllStructGetPtr($TOKEN_PRIVILEGES),"int",DllStructGetSize($NEWTOKEN_PRIVILEGES), _
"ptr",DllStructGetPtr($NEWTOKEN_PRIVILEGES),"int*",0)
$f = DLLCall("kernel32.dll","int","GetLastError")
EndIf
$NEWTOKEN_PRIVILEGES=0
$TOKEN_PRIVILEGES=0
$LUID=0
If $SP_auxret[0] = 0 Then Return 0
$SP_auxret = DLLCall("kernel32.dll","int","CloseHandle","hwnd",$hToken)
If Not $ret[0] And Not $SP_auxret[0] Then Return 0
return $ret[0]
EndFunc
[/code]
And this time, try it after you get completely ingame. (After the cinematic)
[QUOTE=BOLOPatch;20587377]Hmm... strange.
Do you have administrative status on your computer?
EULA agreement??? Can you please take a screenshot?[/QUOTE]
[img]http://img144.imageshack.us/img144/5396/captureow.jpg[/img]
As you can see, it's minimized just cause 2 succesfully, but this is the result.
[QUOTE=BOLOPatch;20587377]Hmm... strange.
Do you have administrative status on your computer?
EULA agreement??? Can you please take a screenshot?[/QUOTE]
yea it ask for me to give permission to autoit
heres a screen after giving permission:
[IMG]http://i78.photobucket.com/albums/j101/GordonFrohm/autoitjustcauseproblem.png[/IMG]
Sorry, you need to Log In to post a reply to this thread.