/strom funkt nicht

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
  • Hallo!


    Ich habe folgendes Problem:
    ich benutze ein Selfmade Script und bei mir funkt der Befehl /strom nicht.
    Ab und zu wird er ausgeführt und ab und zu nicht...
    Bitte um Hilfe!


    Danke


    ocmd:strom(playerid,params[])
    {
    if(GetPVarInt(playerid,"Adminlevel")>=3)//Rang 3
    {
    new string[128];
    new string2[128];
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i,3.0,x,y,z))
    {
    if(i == playerid)
    {
    return 1;
    }
    if(IsPlayerInAnyVehicle(i))
    {
    return 1;
    }
    GetPlayerPos(i, x, y, z);
    SetPlayerPos(i, x+8, y+8, z+8);
    PlayerPlaySound(i, 6003, x+8, y, z+8);
    format(string, sizeof(string),"Du hast von %s einen Stromschlag bekommen.",SpielerName(playerid));
    format(string2, sizeof(string2),"Du hast %s einen Stromschlag verpasst.",SpielerName(i));
    SendClientMessage(playerid,COLOR_GREY,string2);
    SendClientMessage(i,ROT,string);
    }
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht berechtigt diesen Befehl zu benutzen.");
    }
    return 1;
    }


  • if(i != playerid && !IsPlayerInAnyVehicle(i)){
    GetPlayerPos(i, x, y, z);
    SetPlayerPos(i, x+8, y+8, z+8);
    PlayerPlaySound(i, 6003, x+8, y, z+8);
    format(string, sizeof(string),"Du hast von %s einen Stromschlag bekommen.",SpielerName(playerid));
    format(string2, sizeof(string2),"Du hast %s einen Stromschlag verpasst.",SpielerName(i));
    SendClientMessage(playerid,COLOR_GREY,string2);
    SendClientMessage(i,ROT,string);
    return 1;
    }


    if(i == playerid)
    {
    return 1;
    }
    if(IsPlayerInAnyVehicle(i))
    {
    return 1;
    }
    So solltest du eher weniger in der Schleife arbeiten, ich denke, dass dies die beiden Ursachen für den Bug sind.
    Angenommen jemand ist in deiner Nähe. Die Schleife geht alle Spieler durch und fragt ab, ob er bei deinen Koordinaten ist,
    anschließend fragt er ab ob du es bist, und wenn ja, dann bricht er vollkommen ab. Sprich: Jemand mit einer höheren ID als du wird nie geschockt.
    Das gleiche im Prinzip mit der Fahrzeug-Abfrage. Wenn jemand mit einem Auto in deiner Nähe ist, so wird automatisch abgebrochen und ein weiterer
    Spieler kann nicht geschockt werden, der wirklich bei dir ist und zu Fuß ist.

  • Möglich wäre auch die Schleife dann zu überschpringen mit continue; so überschreibst du so gesehen deine id :)

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !