public plusscore(playerid)
{
if(!IsPlayerConnected(playerid)){KillTimer(timer1[playerid]); return 1;}
new Float: pPos[3];
if(pPos[0] != GetPVarFloat(playerid, "posX") || pPos[1] != GetPVarFloat(playerid, "posY") || pPos[2] != GetPVarFloat(playerid, "posZ"))
{
SetPlayerScore(playerid,GetPlayerScore(playerid)+random(2)+1);
}
GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
SetPVarFloat(playerid, "posX", pPos[0]);
SetPVarFloat(playerid, "posY", pPos[1]);
SetPVarFloat(playerid, "posZ", pPos[2]);
return 1;
}
I have a timer which works every minute. I wan't to make a script which adds player score ir player position has changed from the old checking. But this one won't work. Any id'eas what is wrong?
|
stock IsInNewPos(playerid, Pos[])
{
new nPos[3];
GetPlayerPos(playerid, nPos[0], nPos[1], nPos[2]);
if(Pos[0] != nPos[0] && Pos[1] != nPos[1] && Pos[2] != nPos[2]) return 1;
return 0;
}
new Float:PlayerPos[MAX_PLAYERS][3];
public AddScore(playerid)
{
if(IsInNewPos(playerid, PlayerPos[playerid]))
{
// Give points here
}
GetPlayerPos(playerid, PlayerPos[playerid][0], PlayerPos[playerid][1], PlayerPos[playerid][2]);
}
if(IsInNewPos(playerid, PlayerPos[playerid]))
pawn Код:
|
stock IsInNewPos(playerid, Float: Pos[])
{
new Float: nPos[3];
GetPlayerPos(playerid, nPos[0], nPos[1], nPos[2]);
if(Pos[0] != nPos[0] && Pos[1] != nPos[1] && Pos[2] != nPos[2]) return 1;
return 0;
}