Hey Freundies der Automatischen sachen.
Da wir alle faul sind brauche ein mal eure Hilfe.
Also wie kann man das Lösen.
Das Funk einfach nicht.
public AutoMaticGate1()
{
for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
{
if(!IsPlayerConnected(playerid))continue;
if(isPlayerInFrakt(playerid,1))continue;
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 676.59998, 6.2))MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2-10, 5.0);
else MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2, 3.0);
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 684.09998, 6.2))MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2-10, 5.0);
else MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2, 5.0);
}
return true;
}
Automatsiche Tore²
- DameStream
- 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
-
-
Warum hast du da eine For Schleife drinnen?
//EditProbier das mal
public AutoMaticGate1()
{
if(IsPlayerConnected(playerid))continue;
if(isPlayerInFrakt(playerid,1))continue;
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 676.59998, 6.2))
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2-10, 5.0);
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2, 3.0);
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 684.09998, 6.2))
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2-10, 5.0);
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2, 5.0);
return 1;
}Außerdem hast du abgefragt, das wer der nicht eingeloggt ist dies machen kann
-
-
Es soll Automatisch aufgehen die ist dafür da um jede id alle Sekunde abzufragen ob sie in der nähe ist.
-
Das ist Schwachsinn
Wenn du den Befehl eingibst wird automatisch geprüft ob du in der Nähe der Koord's bist -
ähm..nicht sehr schonend für den server
-
Es gibt kein Befehl AUTOMATISCH,
ohne Befehl der Server Startet und der Timer Startet.
Ja Manniac lass mal meine Sorge seien
Es gibt ja starke Roots die Kosten zwar mehr aber der schafft das. -
Funktionierts? Und warum lässt du 2x die gleichen Objekte verschieden moven? o.0
-
einmal sfpdtor 1 und 2 ist nicht das gleiche.
Sieht man aber auch sehr leicht wenn du ihr es anschaust.
1 Tor hätte nicht gereicht deswegen 2. -
Mach deine Schleife wieder hin, dein connect war falsch.
Und warumMoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2-10, 5.0);
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2, 3.0);MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2-10, 5.0);
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2, 5.0);das? Du lässt 2x 2 gleiche Objekte moven, was war falsch an dem was ich gesagt habe.
-
Ja das ist so das sind beides die gleichen tore aber ich brauchte halt 2 um das passend zu machen
-
Mach deine Schleife wieder hin, dein connect war falsch.
Und warumMoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2-10, 5.0);
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2, 3.0);MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2-10, 5.0);
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2, 5.0);das? Du lässt 2x 2 gleiche Objekte moven, was war falsch an dem was ich gesagt habe.
-10 = Runterfahren
5.0 = Hochfahren...Naja, prüf mit nem Timer ob ein Spieler in der Nähe vom Tor ist, und denn lässte es moven.
-
Das ist doch ein Timer wenn du mal ganz oben schaust
-
Ach er will es in der Hinsicht automatisch haben.
Darunter kann man auch verstehen per dmg auf automatisch zu .Zitat-10 = Runterfahren
5.0 = Hochfahren...
Ja dann fährt er ein Objekt zur selben Zeit hoch und runter, Sinn?//Edit
if(!IsPlayerConnected(playerid))continue;
if(IsPlayerConnected(playerid))continue;
-
CHEKCT IHR ES NICHT ?
Die Letzten Zahlen sind die Geschwindigkeit!!!
Und bei der x einfach -10 damit runter -.- -
Wenn es immer noch nicht klappt, dann weißt du jetzt warum!
//Edit Natürlich sind die letzten Zahlen die Geschwindigkeit. Hab die elses nicht gesehen, sollte aber eig. jetzt funktionieren wenn du das mit connect änderst.
-
Ne es klappt immernoch nicht.
-
public AutoMaticGate1()
{
for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
{
if(IsPlayerConnected(playerid))
{
if(isPlayerInFrakt(playerid,1))
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 676.59998, 6.2))
{
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2-10, 5.0);
}
else if(!IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 676.59998, 6.2))
{
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2, 3.0);
}
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 684.09998, 6.2))
{
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2-10, 5.0);
}
else if(!IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 684.09998, 6.2))
{
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2, 5.0);
}
}
}
}
return 1;
}Evt so´?
//Edit mir fällt gerade auf, du hast überall die Parameter nicht eingehalten bei den X,Y,Z Werten.
Könnte mich auch irren aber das überall 6.2 steht schaut komisch aus ;D. Kann mich natürlich auch irren, sag bescheid wenn du's raus hast -
Warum hast du da eine For Schleife drinnen?
//EditProbier das mal
public AutoMaticGate1()
{
if(IsPlayerConnected(playerid))continue;
if(isPlayerInFrakt(playerid,1))continue;
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 676.59998, 6.2))
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2-10, 5.0);
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2, 3.0);
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1641.40002, 684.09998, 6.2))
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2-10, 5.0);
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2, 5.0);
return 1;
}Außerdem hast du abgefragt, das wer der nicht eingeloggt ist dies machen kann
Die For schleifen Kritiesiren aber nicht mal playerid Definiert außerdem erkennt man doch dass
sie automatisch aufgehen soll wenn ein Player in der Nähe ist,... -
breadfish.de
Hat das Thema geschlossen.