Need help with streamer plugin
#1

When i create a cp with the streamer,the other cp's get disabled!!..Please help me
Reply
#2

i used this sample fs from forums and this happened..when i removed the fs,everything was fine

#include <a_samp>

#define MAX_CPS 500 //Change it if you need more or less

enum Info //CP ENUM
{
Float:CPX, //Xpos
Float:CPY, //Ypos
Float:CPZ, //Zpos
Float:Size, //Size of the CP
Float:Viewdist //Viewdistance
};

new CPID = -1; //CPID
new PlayerCP[MAX_PLAYERS] = -1; //PlayerCheckpoints (Only one can be active at once).
new CPinfo[MAX_CPS][Info]; //CPINFO
new CPActive[MAX_PLAYERS][MAX_CPS]; //CPActive for player
new CPDisabled[MAX_CPS]; //For disabling checkpoints

stock CreateCheckpoint(playerid, Float:cpX, Float:cpY, Float:cpZ, Float:cpSize, Float:viewdist = 35.0)
{
CPID ++; //CPID
CPinfo[CPID][CPX] = cpX; //CPX Pos
CPinfo[CPID][CPY] = cpY; //CPY Pos
CPinfo[CPID][CPZ] = cpZ; //CPZ Pos
CPinfo[CPID][Size] = cpSize; //Checkpoint Size
CPinfo[CPID][Viewdist] = viewdist; //View distance
if(playerid != -1)
{
CPActive[playerid][CPID] ++; //Makes the player able to view that checkpoint
}
if(playerid == -1)
{
for(new i; i<MAX_PLAYERS; i++)
{
CPActive[i][CPID] ++;
}
}
return CPID;
}
new CPS1, CPS2, CPS3;
public OnFilterScriptInit()
{
SetTimer("Stream", 1000, true);
CPS1 = CreateCheckpoint(-1, -1721.40002, 1359.69995, 6.1, 3.0, 30.0);
CPS2 = CreateCheckpoint(-1, 2396.482666, 691.487060, 11.453125, 3.0, 30.0);
CPS3 = CreateCheckpoint(-1, 2396.482666, 697.487060, 11.453125, 3.0, 30.0);
return 1;
}

forward Stream();
public Stream()
{
for(new i; i < MAX_PLAYERS; i ++) //Loops through 500 players
{
if(IsPlayerConnected(i)) //Brings the 500 players down to the online ones
{
PlayerCP[i] = -1;
for(new j; j < CPID + 1; j ++) //Loops through all CP's
{
if(CPDisabled[j] == 0) //Checks if the CP is disabled.
{
if(IsPlayerInRangeOfPoint(i, CPinfo[j][Viewdist], CPinfo[j][CPX], CPinfo[j][CPY], CPinfo[j][CPZ]) && CPActive[i][j] == 1) //Is the player in range of a CP
{
SetPlayerCheckpoint(i, CPinfo[j][CPX], CPinfo[j][CPY], CPinfo[j][CPZ], CPinfo[j][Size]);//Sets the player checkpoint
PlayerCP[i] = j; //Sets the player checkpoint to that in the variable.
printf("PCP:%d", j);
}
}
}
if(PlayerCP[i] == -1) //If there is no CP close enough
{
print("NAHBRO");
PlayerCP[i] = -1; //PlayerCP isn't anything
DisablePlayerCheckpoint(i); //Disable any checkpoint visible.
continue;
}
}
}
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerCP[playerid] != -1) return OnPlayerEnterStreamedCheckpoint(playerid, PlayerCP[playerid]);
return 1;
}

stock OnPlayerEnterStreamedCheckpoint(playerid, CPiD)
{
printf("CPID: %d", CPiD);
if(CPiD == CPS1)
{
GameTextForPlayer(playerid, "CP1", 2000, 3);
}
if(CPiD == CPS2)
{
GameTextForPlayer(playerid, "CP2", 2000, 3);
}
if(CPiD == CPS3)
{
GameTextForPlayer(playerid, "CP3", 2000, 3);
}
return 1;
}

stock DestroyCheckpoint(CPiD) //Destory's a checkpoint
{
CPDisabled[CPiD] = 1;
}

stock TogglePlayerCheckpoint(playerid, CPiD, toggled) //Toggles a checkpoint for a player 0 = Not active, 1 = active
{
CPActive[playerid][CPiD] = toggled;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)