Habe komischerweise 26 Errors, nachdem ich im Public OnPlayerKeyStateChange gescriptet habe.
Was ist da falsch? Es kam danach...
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_SECONDARY_ATTACK )
{
if(!IsPlayerInRangeOfPoint(playerid,1.0,2265.5400,1675.8618,1090.4453))return 1;//Wenn er bei Drinne1 enter drückt...
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,9);
SetPlayerPos(playerid,2268.7078,1675.7773,94.9219);
}
return 1;
}
if(newkeys & KEY_SECONDARY_ATTACK )
}
if(!IsPlayerInRangeOfPoint(playerid,1.0,2266.0137,1619.4340,1090.4453))return 1;//Wenn er bei Drinne2 enter drückt...
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,9);
SetPlayerPos(playerid,2269.3811,1619.5103,94.9219);
}
return 1;
{
if(newkeys & KEY_SECONDARY_ATTACK )
}
if(!IsPlayerInRangeOfPoint(playerid,1.0,2268.7078,1675.7773,94.9219))return 1;//Wenn er bei Draussen1 enter drückt...
{
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid,9);
SetPlayerPos(playerid,2265.5400,1675.8618,1090.4453);
}
return 1;
{
if(newkeys & KEY_SECONDARY_ATTACK )
}
if(!IsPlayerInRangeOfPoint(playerid,1.0,2269.3811,1619.5103,94.9219))return 1;//Wenn er bei Draussen2 enter drückt...
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,9);
SetPlayerPos(playerid,2266.0137,1619.4340,1090.4453);
}
return 1;
}
26 Error's
- Deniz0801
- Geschlossen
- Erledigt
-
-
if(newkeys & KEY_SECONDARY_ATTACK )
}
if(!IsPlayerInRangeOfPoint(playerid,1.0,2269.3811,1619.5103,94.9219))return 1;//Wenn er bei Draussen2 enter drückt...
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,9);
SetPlayerPos(playerid,2266.0137,1619.4340,1090.4453);
}
return 1;
{Klammerfehler.
-
Klammerfehler? Wo denn?
Ich frag mich grade nur, was das return da neben der Abfrage macht.
Wenn du return's falsch setzt, kommen auch gerne mal einige Errors. War bei mir letztens zumindest so. -
Schon mal nen Script gesehen wo man nen IF-Block
} so öffnet
{ und so schließt?
-
Jetzt wo du es sagst, seh ich es auch.
Kann man leicht übersehen. -
Danke, hab sie nun.
Habe aber nun ein anderes Problem... Es funktioniert nur einer dieses Key-Abfragen, und das ist der erste. Die anderen haben InGame keine Wirkung.
Warum? -
if ((newkeys & KEY_FIRE) && (newkeys & KEY_CROUCH))Deine Abfragen sehen bisschen anders aus.
So sollte es jedenfalls gehen.
-
Achja, der C-Bug Teil funktioniert, der ist unwichtig. Den meinte ich gar nicht.
Meinte den Rest, mit dem Enter. -
if(newkeys == KEY_SECONDARY_ATTACK)
{
...//USWNaja, die Taste sollte denn aber auch der "Enter-Taste" entsprechen-#.
-
Es geht nicht, weil du hinter der Inrange Abfrage ein Return 1; hast was ausgeführt wird wenn er dort nicht ist.
Daher laufen die anderen Abfragen auch nicht weiter. Daher= Keine Reaktion, keine Funktion -
Ob return 1; oder return SendClientMessage(blabla, blabla, "blabla"); sollte den Compiler eher weniger stören.
-
Hab mal die returns von dem danach weg gemacht, trotzdem das selbe: nur der erste funktioniert.
-
Ich dachte das sei schon Behoben?
Er sagte doch das die weiteren Abfragen nicht funktionieren, daher gehe ich davon aus das die Errors weg sind und er nun die Funktion der Zeilen testet. -
Hast du das umgeschrieben, wie ich oben schrieb?
if(newkeys == KEY_SECONDARY_ATTACK)
{
//CODE
}Würde deine "&" Zeichen mal zu "==" umschreiben.
-
Ich weiß nicht genau was du Scriptest, aber möchtest du das er nicht in Pos:
if(!IsPlayerInRangeOfPoint(playerid,1.0,2265.5400,1675.8618,1090.4453)) ist? oder dort sein soll? Weil wenn er in der Position sein soll, musst du das ! weg machen. -
Ich weiß nicht genau was du Scriptest, aber möchtest du das er nicht in Pos:
if(!IsPlayerInRangeOfPoint(playerid,1.0,2265.5400,1675.8618,1090.4453)) ist? oder dort sein soll? Weil wenn er in der Position sein soll, musst du das ! weg machen.Hast du das umgeschrieben, wie ich oben schrieb?
if(newkeys == KEY_SECONDARY_ATTACK)
{
//CODE
}Würde deine "&" Zeichen mal zu "==" umschreiben.
Habe ich getan, selbes Problem.Ich will, dass wenn jemand an einem bestimmten Punkt ist, an einem anderen bestimmten Punkt ist (in dem Fall in ein Haus reingeht)
Und das '!' habe ich drinne, weil ja die Abfrage ist, ob er NICHT in der Nähe von diesem Punkt ist. Wenn er halt nicht da ist, soll nix passieren, sprich 1 returned werden.Es funktioniert nur der erste Teil dieser 4 Abfragen. Die anderen 3 gehen nicht, sprich es passiert nix, wenn ich an den positionen ENTER drücke.
-
Du sagst aber, dass wenn er nicht in der Nähe ist und "Enter drückt"
In das Interior vom Haus gesetzt wird ? ? ?
Mach hinter die Abfrage einfach: "return SendClientMessage(playerid, FARBE, "Du bist nicht in der Nähe von einem Haus!");
PS: Oder lass das "!" bei der Abfrage weg, sonst wird das nichts, was du da versuchst, wenn du nicht in der Reichweite bist, kannst du ins Haus gehen und wenn du in Reichweite bist, passiert garnix laut deinem Code.
-
Du sagst aber, dass wenn er nicht in der Nähe ist und "Enter drückt"
In das Interior vom Haus gesetzt wird ? ? ?
Mach hinter die Abfrage einfach: "return SendClientMessage(playerid, FARBE, "Du bist nicht in der Nähe von einem Haus!");
PS: Oder lass das "!" bei der Abfrage weg, sonst wird das nichts, was du da versuchst, wenn du nicht in der Reichweite bist, kannst du ins Haus gehen und wenn du in Reichweite bist, passiert garnix laut deinem Code.
Wieso passiert dann bei dem ersten das, was ich will und bei den anderen 3 nicht? Die sind doch alle gleich programmiert.
Wenn ich ! weglasse, bekomme ich 4x "empty statement" als Error. Aber meine erste, dickgedruckte Frage ist mir gerade wichtiger. -
nimm das Return unter if(IsPlayerInRangeOfPoint auch weg, also ganz unten.
-
Das return würde ich da lassen.
Ich würde die Enter Taste lieber nur 1x belegen und nicht 4x hintereinnander.
if(newkeys == KEY_SECONDARY_ATTACK)
{
if(!IsPlayerInRageOf.......)
{
//Code
} ggf else { ABFRAGE }
if(!IsPlayerInRangeOf......)
{
//Code
} //ggf else { ABFRAGE }
}Sehe keinen Sinn darin, die Enter Taste 4x hinter einnander an jeder Position abzufragen?
-