Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- // ---------------------------------------
- Incorporated Gaming Release.
- DO NOT REMOVE THE ABOVE OR ANY CREDITS.
- I_Checkpoint.
- By Snowman12.
- // ---------------------------------------
- */
- #if defined I_Checkpoint included
- #endinput
- #endif
- #define I_Checkpoint included
- #include <YSI\y_hooks>
- #if !defined _streamer_included
- #error You will be needing to download streamer.inc.
- #endif
- #define MAX_CHECKPOINTS (300)
- #define INVALID_CHECKPOINT_ID (0xFFFF)
- #if !defined COL_YELLOW
- #define COL_YELLOW "{F2FF00}"
- #endif
- /* CHANGE LOG */
- /*
- Version: v0.1 Released.
- Remember to add any suggestions you have.
- */
- /*
- native CreateDynamicCheckpoint(CheckpointName[28], Float: X, Float: Y, Float: Z, Float: Size, Float: EX, Float: EY, Float: EZ, Interior = -1, EInterior = -1);
- */
- enum E_CHECKPOINT_INFO
- {
- E_CHECKPOINT_NAME[30],
- Text3D: E_LABEL,
- E_CHECKPOINT,
- bool: E_CREATED,
- Float: E_LOCX,
- Float: E_LOCY,
- Float: E_LOCZ,
- Float: E_SIZE,
- Float: E_ENTER_X,
- Float: E_ENTER_Y,
- Float: E_ENTER_Z,
- E_INTERIOR,
- E_ENTER_INTERIOR,
- };
- new CheckpointInfo[MAX_CHECKPOINTS][E_CHECKPOINT_INFO];
- hook OnGameModeInit()
- {
- print("====================================");
- print("| CHECKPOINT CREATOR LOADED |");
- print("| MAX CHECKPOINTS: %d |");
- print("| (c) Incorporated Gaming 2011 |");
- printf("| VERSION: %d |",INCLUDE_REVISION);
- print("====================================");
- return 1;
- }
- CreateDynamicCheckpoint(CheckpointName[28], Float: X, Float: Y, Float: Z, Float: Size, Float: EX, Float: EY, Float: EZ, Interior = -1, EInterior = -1)
- {
- new ID = GetFreeCheckpointSlot();
- new szString[50];
- if(ID != INVALID_CHECKPOINT_ID)
- {
- format(szString,sizeof(szString),""COL_YELLOW"Checkpoint:{FFFFFF}\n%s",CheckpointName);
- format(CheckpointInfo[ID][E_CHECKPOINT_NAME], 30, "%s", CheckpointName);
- CheckpointInfo[ID][E_CHECKPOINT] = CreateDynamicCP(X, Y, Z, Size, VirtualWorld, Interior);
- CheckpointInfo[ID][E_LABEL] = Create3DTextLabel(szString,0xFFFFFFFF, X, Y, Z, 15.0, 0);
- CheckpointInfo[ID][E_LOCX] = X, CheckpointInfo[ID][E_LOCY] = Y, CheckpointInfo[ID][E_LOCZ] = Z;
- CheckpointInfo[ID][E_CREATED] = true;
- CheckpointInfo[ID][E_SIZE] = Size;
- CheckpointInfo[ID][E_ENTER_X] = EX, CheckpointInfo[ID][E_ENTER_Y], CheckpointInfo[ID][E_ENTER_Z];
- CheckpointInfo[ID][E_INTERIOR] = Interior;
- CheckpointInfo[ID][E_ENTER_INTERIOR] = EInterior;
- return ID;
- }
- return INVALID_CHECKPOINT_ID;
- }
- hook OnPlayerEnterDynamicCP(playerid, checkpointid)
- {
- for(new i; i < MAX_CHECKPOINTS; i++)
- {
- if(CheckpointInfo[i][E_CHECKPOINT] == checkpointid)
- {
- if(CheckpointInfo[i][E_ENTER_INTERIOR] >= 1)
- {
- SetPlayerInterior(playerid, CheckpointInfo[i][E_ENTER_INTERIOR]);
- }
- SetPlayerPos(playerid, CheckpointInfo[i][E_ENTER_X], CheckpointInfo[i][E_ENTER_Y], CheckpointInfo[i][E_ENTER_Z]);
- }
- }
- return 1;
- }
- stock GetFreeCheckpointSlot()
- {
- for(new i; i < MAX_CHECKPOINTS; i++)
- {
- if(!CheckpointInfo[i][E_CREATED])
- return i;
- }
- return INVALID_CHECKPOINT_ID;
- }
Advertisement
Add Comment
Please, Sign In to add comment