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
Delen op andere websites

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

Bewerkt: door ikt
Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

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

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...