26 Error's

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
  • Du kannst Code sparen, indem du nur einmal die Keyabfrage machst und in dieser die IsPlayerInRangeOfPoint-Abfragen.
    Damit sollte dann auch dein Problem behoben sein, dass du es nur bei einem eingeben kannst.
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_SECONDARY_ATTACK )
    {
    if(!IsPlayerInRangeOfPoint(playerid,1.0,2265.5400,1675.8618,1090.4453))
    {
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2268.7078,1675.7773,94.9219);
    }
    else if(!IsPlayerInRangeOfPoint(playerid,1.0,2266.0137,1619.4340,1090.4453))
    {
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2269.3811,1619.5103,94.9219);
    }
    else if(!IsPlayerInRangeOfPoint(playerid,1.0,2268.7078,1675.7773,94.9219))
    {
    SetPlayerInterior(playerid,1);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2265.5400,1675.8618,1090.4453);
    }
    else if(!IsPlayerInRangeOfPoint(playerid,1.0,2269.3811,1619.5103,94.9219))
    {
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2266.0137,1619.4340,1090.4453);
    }
    }
    return 1;
    }

  • Dein Code funktioniert so eigentlich gar nicht...da du nach dem ersten return den Code unterbrichst...


    Zudem sind deine permanenten if-Abfragen für den key völlig unnötig...schreibs doch einfach so:


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_SECONDARY_ATTACK ) {
    if(IsPlayerInRangeOfPoint(playerid,1.0,2265.5400,1675.8618,1090.4453)) {
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2268.7078,1675.7773,94.9219);
    } else if(IsPlayerInRangeOfPoint(playerid,1.0,2266.0137,1619.4340,1090.4453)) {
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2269.3811,1619.5103,94.9219);
    } else if(IsPlayerInRangeOfPoint(playerid,1.0,2268.7078,1675.7773,94.9219)) {
    SetPlayerInterior(playerid,1);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2265.5400,1675.8618,1090.4453);
    } else if(IsPlayerInRangeOfPoint(playerid,1.0,2269.3811,1619.5103,94.9219)) {
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerPos(playerid,2266.0137,1619.4340,1090.4453);
    }
    }
    return 1;
    }


    //Edit: Scott_Mitchell:
    Dein Code ist falsch...die ! stimmen nicht ;)


    mfg. :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich habe auch nur seinen Code genommen und "angepasst".
    Wenn er sich mit PAWN auseinandersetzen möchte, sollte er seinen eigenen Fehler schon selbst bemerken und somit auch, dass "!" eine Negierung ist und abgefragt wird, ob er NICHT in dieser Range ist.


    Schau dir mal seinen Code genauer an ;)


    Er hat die ! für IsPlayerInRangeOfPoint verwendet um herauszufinden, ob er nicht in dieser Range ist und dann ein return benutzt um den Code zu beenden.
    Wenn es jetzt nur 1ne Abfrage gewesen wäre, dann hätte das auch wunderbar funktioniert...
    Doch bei mehreren ist das natürlich so falsch :rolleyes:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S