Jump to content

[IV|ASI|C++] Mods maken in C++ (introductie)


Crypteq

Recommended Posts

Potverdikkeme, dit is moeilijk. Vooral als je niet weet waar je naar moet zoeken in scripting.h :puh:

Dit werkt trouwens niet: why?

if ((GetAsyncKeyState(VK_F12)& 1) != 0)
       {
               Player PlayerIndex = ConvertIntToPlayerIndex(GetPlayerId());
               Ped PlayerChar;
               GetPlayerChar(PlayerIndex, &PlayerChar);
               AddArmourToChar(PlayerChar,1000);
               PrintStringWithLiteralStringNow("STRING", "Added armor!", 1500, true);
       }

Weet iemand toevallig hoe ik bijvoorbeeld aftel?

Ervan uitgaande dat je bedoelt dat je na een bepaalde tijds iets moet doen en dat je samplecustom gebruikt (de fiber thread is niet bepaald de meest stabiele scripthread :)

SetTimerA(0); //timer op 0

m_State = Stateblah; //veranderen van de state

case Stateblah:

{

if (TimerA() > 1000) //na een seconde

{

do something;

m_State= StateDefault; //terug naar de default state, keypresses en tick processing

}

}

break;

je moet alleen in de header nog even stateblah, toevoegen.

Als je bedoelt dat je bijvoorbeeld een timer wilt laten lopen (on screen of zoiets), kun je het volgende doen:

u32 time;

GetGameTimer(&time);

Nu heb je de "begin" tijd, als je nu een timer wilt laten lopen, run je in tick gewoon GetGameTimer(&time2) (time 2 gedeclareerd in de "global defines"), en trek doe je time2-time;

Maximum armor is trouwens 200 volgens mijn (niet onfeilbare) geheugen.

Link to comment
Share on other sites

Dankje, eens kijken of het nu wel lukt :) Hoe moet ik SampleCustom trouwens organiseren? Ik zie een hoop spullen waar ik geen snars van snap :(

Praat ik overgens met de maker van die geniale trainer voor GTA IV? :D

Edit: Nope, het werkt nog steeds niet. Ik heb nu dit:

#include "CustomThread.h"
#include "Scripting.h"
#include "../ScriptHook/Log.h"

#include <windows.h>

// Pull in all our scripting functions/types
using namespace Scripting;

CustomThread::CustomThread()
{
   // Give your own name here!
SetName("CustomThreadMT");
}

void CustomThread::RunTick()
{
if ((GetAsyncKeyState(VK_F1)& 1) != 0)
       {
		Armor = !Armor;
		if(Armor)
		{
			PrintStringWithLiteralStringNow("STRING", "ARMOR MODE ENABLED", 1500, true);
		}
		else
		{
			PrintStringWithLiteralStringNow("STRING", "ARMOR MODE DISABLED", 1500, true);
		}
       }

if (Armor == true)
{ 
	Player PlayerIndex = ConvertIntToPlayerIndex(GetPlayerId());
       Ped PlayerChar;
       GetPlayerChar(PlayerIndex, &PlayerChar);
	AddArmourToChar(PlayerChar,10);
}

}

Het werkt niet als ik op F1 druk.

Nevermind, ik ben dom, niet hernoemd naar .asi. tactical facepalm!

Bool doet trouwens hetzelfde als State...? Zoja, welke is efficiënter/beter? En welke dan makkelijker?

Hoe werkt dit?

GetCharArmour(PlayerChar, aArmor)

aArmor wil ik gebruiken, maar wat moet dat dan zijn?

nvm.

Ik wil de wapens wat vager maken, maar het lukt niet! :O

		eWeapon wap;
       GetCurrentCharWeapon(PlayerChar,&wap);
	SetObjectAlpha(wap, 110);

Wat doe ik hier fout? :O

Edited by ikt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...