Hey hab gerade ein kleines Script gemacht aber es funktioniert nicht wie ich es mir vorstelle. Es soll sich ein Objekt zu mir bewegen. Habe das mit Timern gemacht. Das Problem ist das Objekt bewegt sich nur dahin, wo der Timer gecheckt hab wo ich bin quasi wenn ich an Punkt A stehe bewegt sich das Objekt dorthin aber wenn ich mich von Punkt a entferne bleibt das Objekt da und folgt mir nicht.
Wie kann ich das machen,dass das Objekt mir folgt ?
Objekt zu Spieler bewegen
- Oskaar1994
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Einen wiederholenden Timer erstellen.
-
Einen wiederholenden Timer erstellen.
Hab ich ja gemacht.
-
Dann zeig mal dein Code her
-
Dann zeig mal dein Code her
Code
Alles anzeigenpublic Missles(playerid) { if(IsPlayerInRangeOfPoint(playerid,300.0,1576.9788,1391.3984,10.8483)) { rocket=CreateObject(354, 1576.9788,1391.3984,10.8483, 0.0, 0.0, 0.0,100.0); SetTimer("Playerpos",1000,true); } } public Playerpos(playerid) { GetPlayerPos(playerid, x, y, z); MoveObject(rocket,x,y,z,30.0,0.0,0.0,0.0); }
Und halt noch bei OnFilterScriptInit :
-
public Missles(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,300.0,1576.9788,1391.3984,10.8483))
{
rocket=CreateObject(354, 1576.9788,1391.3984,10.8483, 0.0, 0.0, 0.0,100.0);
SetTimerEx("Playerpos",1000,true,"d",playerid);
}}
public Playerpos(playerid)
{
GetPlayerPos(playerid, x, y, z);
MoveObject(rocket,x,y,z,30.0,0.0,0.0,0.0);
return 1;
}Außerdem, musst du da nicht die Rotation nehmen, also beides?
-
public Missles(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,300.0,1576.9788,1391.3984,10.8483))
{
rocket=CreateObject(354, 1576.9788,1391.3984,10.8483, 0.0, 0.0, 0.0,100.0);
SetTimerEx("Playerpos",1000,true,"d",playerid);
}}
public Playerpos(playerid)
{
GetPlayerPos(playerid, x, y, z);
MoveObject(rocket,x,y,z,30.0,0.0,0.0,0.0);
return 1;
}Außerdem, musst du da nicht die Rotation nehmen, also beides?
Kommt immernoch aufs selbe raus
-
Beende deine IDE und starte sie wieder, dann lade dein Skript neu und versuche es nochmal.
Jetzt sollte der Befehl einwandfrei funktionieren. -
Bekommst du eigentlich keine Errors?
public Missles(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,300.0,1576.9788,1391.3984,10.8483))
{
rocket=CreateObject(354, 1576.9788,1391.3984,10.8483, 0.0, 0.0, 0.0,100.0);
SetTimerEx("Playerpos",1000,true,"d",playerid);
}}
public Playerpos(playerid)
{
GetPlayerPos(playerid, x, y, z);
MoveObject(rocket,x,y,z,30.0,0.0,0.0,0.0);
return 1;
}
Woher bekommst du denn die Variablen "x" "y" und "z"? -
Bekommst du eigentlich keine Errors?
public Missles(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,300.0,1576.9788,1391.3984,10.8483))
{
rocket=CreateObject(354, 1576.9788,1391.3984,10.8483, 0.0, 0.0, 0.0,100.0);
SetTimerEx("Playerpos",1000,true,"d",playerid);
}}
public Playerpos(playerid)
{
GetPlayerPos(playerid, x, y, z);
MoveObject(rocket,x,y,z,30.0,0.0,0.0,0.0);
return 1;
}
Woher bekommst du denn die Variablen "x" "y" und "z"?
Die habe ich oben im Script. -
breadfish.de
Hat das Thema geschlossen.