Salut,
je viens de regarde le code, et normalement, il devrait être ok...
peut-être n'as tu pas bien placé le code:
en haut du script:
//herse indication
new Float:N,Float:G,Float:R;
new herse;
new TimerHerse;
forward herselook()
dans ta callback OnGameModeInit()
TimerHerse = SetTimer("herselook",1000,1);
dans le OnGameModeExit()
KillTimer(TimerHerse);
dans la callback OnPlayerCommandText
if(strcmp(cmd,"/herse",true)==0)
{
DestroyObject(herse);
GetPlayerPos(playerid, N,G,R);
herse = CreateObject(1593,N,G+2,R-0.75,0,0,0);
SendClientMessage(playerid, COLOR_ORANGE, "( ! ) Herse en place !");
PlayerPlaySound(playerid,1057,0,0,0);
return 1;
}
je te conseillerais de le mettre tout en bas de ton script:
public herselook()
{
for(new i=0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(!IsPlayerInAnyVehicle(i))continue;
if(PlayerToPoint(i, N, G, R,5.0)){
SetVehicleHealth(GetPlayerVehicleID(i),200);
}
}
}
et puis le PlayerToPoint:
PlayerToPoint(playerid, Float:x, Float:y, Float:z, Float:dist)
{
new Float:PPos[3];
GetPlayerPos(playerid,PPos[0],PPos[1],PPos[2]);
x -= PPos[0];
y -= PPos[1]
z -= PPos[2];
return ((x * x) + (y * y) + (z * z) <= dist * dist);
}
et voilà, ça devrait fonctionner, bonne chance
++Sim++