Guten Morgen/Abend
habe folgendes Problem und ihr eventuell eine lösung:
Habe einen NPC aufgenommen der zu Fuß streife läuft, soweit so gut solange ich den ganz normal laufen lasse ist alles gut, aber wenn ich den nun wie mit den Fahrenden Bots stopen lassen will wenn ein Spieler in der nähe ist (Personen Kontrolle) spinnt der total (der bleibt zwar stehen aber danach läuft er die strecke die er bisdahin nicht geschaft hat fast blitzschnell).
Habe mir als vorlage eine pwn von den Fahrenden bots genommen und diese versucht anzupassen.
#define RECORDING "streifesf"
#include <a_npc>
new gStoppedForTraffic = 0;
public ScanTimer();
#define AHEAD_OF_CAR_DISTANCE 5.0
#define SCAN_RADIUS 5.0
//------------------------------------------
main(){}
//------------------------------------------
stock GetXYInfrontOfMe(Float:distance, &Float:x, &Float:y)
{
new Float:z, Float:angle;
GetMyPos(x,y,z);
GetMyFacingAngle(angle);
x += (distance * floatsin(-angle, degrees));
y += (distance * floatcos(-angle, degrees));
}
//------------------------------------------
public OnNPCModeInit()
{
SetTimer("ScanTimer",200,1);
}
//------------------------------------------
LookForAReasonToPause()
{
new Float:X,Float:Y,Float:Z;
new x=0;
GetMyPos(X,Y,Z);
GetXYInfrontOfMe(AHEAD_OF_CAR_DISTANCE,X,Y);
while(x!=MAX_PLAYERS) {
if(IsPlayerConnected(x) && IsPlayerStreamedIn(x)) {
if( GetPlayerState(x) == PLAYER_STATE_DRIVER ||
GetPlayerState(x) == PLAYER_STATE_ONFOOT )
{
if(GetPlayerVehicleID(x)<100) { return 0; }
if(IsPlayerInRangeOfPoint(x,SCAN_RADIUS,X,Y,Z)) {
return 1;
}
}
}
x++;
}
return 0;
}
//------------------------------------------
public ScanTimer()
{
new ReasonToPause = LookForAReasonToPause();
if(ReasonToPause && !gStoppedForTraffic)
{
PauseRecordingPlayback();
gStoppedForTraffic = 1;
}
else if(!ReasonToPause && gStoppedForTraffic)
{
ResumeRecordingPlayback();
gStoppedForTraffic = 0;
}
}
//------------------------------------------
StartPlayback()
{
StartRecordingPlayback(PLAYER_RECORDING_TYPE_ONFOOT,RECORDING);
gStoppedForTraffic = 0;
}
//------------------------------------------
public OnRecordingPlaybackEnd()
{
StartPlayback();
}
//------------------------------------------
//------------------------------------------
Edit :keiner einen Plan ?