OnPlayerEnterDynamicCP [+REP] -
EliteApple - 22.01.2014
This simply doesn't work, I've been messing with it, but still doesn't work. I don't know why.
pawn Код:
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
new string[128];
for(new h = 0; h < sizeof(Houses); c++)
{
if(checkpointid == Houses[h][PickupID])
{
if(Houses[h][Owned] == 0)
{
SendClientMessage(playerid, COLOR_GREEN, "Would you like to buy this?");
format(string, sizeof(string), "Price: $%d", Houses[h][HousePrice]);
SendClientMessage(playerid, COLOR_GREEN, string);
SendClientMessage(playerid, COLOR_WHITE, "Available commands: /enter, /ds(hout)");
SendClientMessage(playerid, COLOR_WHITE, "/buyhouse");
}
if(Houses[h][Rentable] == 1)
{
new string2[128];
format(string, sizeof(string), "[Address: %d] You're standing on %s's porch.",h,Houses[h][Owner]);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string2, sizeof(string2), "Available commands: /enter, /ds(hout), /rentroom (Price: $%d)", Houses[h][RentCost]);
SendClientMessage(playerid, COLOR_WHITE, string2);
}
format(string, sizeof(string), "[Address: %d] You're standing on %s's porch.",h,Houses[h][Owner]);
SendClientMessage(playerid, COLOR_GREEN, string);
SendClientMessage(playerid, COLOR_WHITE, "Available commands: /enter, /ds(hout)");
}
}
}
return 1;
}
Any ideas?
Re: OnPlayerEnterDynamicCP [+REP] -
Copfan5 - 22.01.2014
Change
pawn Код:
for(new h = 0; h < sizeof(Houses); c++)
To
pawn Код:
for(new h = 0; h < sizeof(Houses); h++)
Re: OnPlayerEnterDynamicCP [+REP] -
EliteApple - 22.01.2014
I did, either way it still didn't work. I'm not sure why this is like this, it was working before.
Re: OnPlayerEnterDynamicCP [+REP] -
Scenario - 22.01.2014
You're missing an if statement.
Re: OnPlayerEnterDynamicCP [+REP] -
]Rafaellos[ - 22.01.2014
Are you sure you are using Checkpoints? You compare with Pickup here.
pawn Код:
checkpointid == Houses[h][PickupID]
Re: OnPlayerEnterDynamicCP [+REP] -
VishvaJeet - 22.01.2014
Try it
Код:
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
new string[128];
for(new h = 0; h < sizeof(Houses); h++)
{
if(checkpointid == Houses[h][PickupID])
{
if(Houses[h][Owned] == 0)
{
SendClientMessage(playerid, COLOR_GREEN, "Would you like to buy this?");
format(string, sizeof(string), "Price: $%d", Houses[h][HousePrice]);
SendClientMessage(playerid, COLOR_GREEN, string);
SendClientMessage(playerid, COLOR_WHITE, "Available commands: /enter, /ds(hout)");
SendClientMessage(playerid, COLOR_WHITE, "/buyhouse");
}
if(Houses[h][Rentable] == 1)
{
new string2[128];
format(string, sizeof(string), "[Address: %d] You're standing on %s's porch.",h,Houses[h][Owner]);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string2, sizeof(string2), "Available commands: /enter, /ds(hout), /rentroom (Price: $%d)", Houses[h][RentCost]);
SendClientMessage(playerid, COLOR_WHITE, string2);
}
else
{
format(string, sizeof(string), "[Address: %d] You're standing on %s's porch.",h,Houses[h][Owner]);
SendClientMessage(playerid, COLOR_GREEN, string);
SendClientMessage(playerid, COLOR_WHITE, "Available commands: /enter, /ds(hout)");
}
}
}
return 1;
}
Re: OnPlayerEnterDynamicCP [+REP] -
EliteApple - 22.01.2014
Didn't work either.
And yes, I do have the checkpoint being created,
pawn Код:
Houses[idx][PickupID] = CreateDynamicCP(Houses[idx][EnterX], Houses[idx][EnterY], Houses[idx][EnterZ], 2.5, 0, 0, -1, 1.2);
EDIT: See, I dont even think the checkpoint is being created correctly.
I did this:
pawn Код:
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
new string[64];
for(new h = 0; h < sizeof(Houses); h++)
{
if(checkpointid == Houses[h][PickupID])
{
format(string, sizeof(string), "Checkpoint: %d", checkpointid);
SendClientMessage(playerid, COLOR_GREEN, string);
}
}
return 1;
}
That didn't even work. But when I walk into the checkpoint it appears, it just doesnt say nothing
Re: OnPlayerEnterDynamicCP [+REP] -
laimalgirdas - 11.02.2015
The Checkpoint has to be toggled. I mean, you have to use TogglePlayerDynamicCP(playerid,checkpointid,(true/false)).
Checkpoint has to be created in OnGameModeInit(). After that, you have to make sure, that stream distance is not far enough from player.
In example:
Код:
new carcp, car;
OnGameModeInit()
{
//array = CreateDynamicCP(x,y,z,size,virtualworld,interior,playerid(-1 for all), strdistance);
carcp = CreateDynamicCP(-2000,-1000,20,1.0,0,0,-1,5000.0);
return 1;
}
OnPlayerSpawn(playerid)
{
// TogglePlayerDynamicCP(playerid,checkpointid,toggle);
TogglePlayerDynamicCP(playerid,carcp,true);
return 1;
}
OnPlayerEnterDynamicCP(playerid,checkpointid)
{
if(checkpointid == carcp)
{
//array CreateVehicle(modelid,x,y,z,rotation,color1,color2,respawn delay);
car = CreateVehicle(522,-2000,-1000,20,60,6,0,120);
TogglePlayerDynamicCP(playerid,carcp,false);
}
return 1;
}
OnVehicleDeath(vehicleid)
{
if(vehicleid == car) return DestroyVehicle(car);
return 1;
}
OnPlayerDeath(playerid)
{
TogglePlayerDynamicCP(playerid,carcp,false);
return 1;
}