warning 211: possibly unintended assignment

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • was bedeutet das?? ich versuche grad n stammspieler-acc-system zu machen, habs genau so gemacht wie Seif sein Admin System gemacht hat... nur halt AdminLevel = StammLevel und 1 levels nicht 6... aber bekomme die warnungen immer und in der %s.ini StammLevel=1 angezeigt sobald man sich registriert hat... was tun? soll ich den script hier posten? danke für antworten...

  • Ordentliche Sätze zu schreiben wär besser, über 50% der Leute haben dein Text kaum verstanden...
    welcher Errors/Warnings? Zeilen?
    Wenn sich der Spieler registriert StammLevel einfach auf 1 setzen,
    GF:

    PHP
    PlayerInfo[playerid][StammLevel] = 0;


    Anssonsten:

    PHP
    deinedefinierung[playerid][StammLevel] = 0;


    Mfg

  • Poste doch erstmal die Zeile in der der Error ist 8|

  • ähm ja also... der fehler kommt 2x vor:
    if(strcmp(cmd, "/original", true) == 0)
    {
    if (AccountInfo[playerid][StammLevel] = 1)
    {
    SetPlayerColor(playerid, original);
    SendClientMessage(playerid, original, "Deine neue Farbe");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, ADMIN_RED, "Diese Funktion steht dir zur Zeit nicht zu verfügung.");
    return 1;
    }
    } da und
    OnPlayerRegister(playerid,tmppass);
    if (AccountInfo[playerid][StammLevel] = 1)
    {
    AccountInfo[playerid][StammLevel] = 0;
    }da
    aber das funktioniert alles nicht... wurst ob ichs drin hab oder nicht das geht nicht dabei habe ich alles so gemacht wie beim AdminLevel...

  • if(strcmp(cmd, "/original", true) == 0)
    {
    if (AccountInfo[playerid][StammLevel] == 1)
    {
    SetPlayerColor(playerid, original);
    SendClientMessage(playerid, original, "Deine neue Farbe");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, ADMIN_RED, "Diese Funktion steht dir zur Zeit nicht zu verfügung.");
    return 1;
    }
    }


    Und:


    OnPlayerRegister(playerid,tmppass);
    if (AccountInfo[playerid][StammLevel] == 1)
    {
    AccountInfo[playerid][StammLevel] = 0;
    }


    Wäre richtig.


    Du hast in der If-Bedingung eine Zuweisung "=" gemacht, du musst aber einen Vergleich abfragen "==". ;)

  • ich will nicht für jedes problem ein neues thema auf machen deshalb schreib ichs hier...
    wollte grad ein pickup machen, was kommt da?

    Code
    C:\SAMP Server\gamemodes\shit.pwn(1176) : warning 225: unreachable code


    da ich kein schimmer hab was das bedeutet kopiere ich hier gleich den ganzen code rein.
    unter includes:
    new keycard;
    unter OnGameModeInit:
    keycard = CreatePickup(1581, 23, -1328.1528320313, 581.77209472656, 46.450931549072);
    und unter OnPlayerPickUpPickup:
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    {
    if(pickupid == health) SetPlayerHealth(playerid, 0);
    new string[128], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s wurde von einem Pickup reingelegt.", pname);
    SendClientMessageToAll(LS_RED, string);
    format(string, sizeof(string), "Scheiße man, was hast du dir dabei gedacht?", pname);
    SendClientMessage(playerid, YELLOW, string);
    dm[playerid] = 0;
    return 1;
    }
    { //Problemzeile o.O (1176)
    if(pickupid == keycard) SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
    SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
    SetPlayerFacingAngle(playerid, 90.0);
    SendClientMessage(playerid, YELLOW, "Tore geöffnet!");
    return 1;
    }
    }


    kann mir wer helfen? ;(

  • warning 225: unreachable code
    heißt nicht anderes als dass der Code nicht ausgeführt werden kann. Das ist so, wenn vor dem Code ein return steht


    Beispiel


    public xyz(id)
    {
    if(level[id] == 1)
    {
    return 1;// <-- das geht, weil es in einer if Abfrage steht
    }
    return 1;// <-- das steht außerhalt einer if Abfrage und beenden sozusagen den public
    SetPlayerPos(id, 0.0, 0.0, 0.0);// <-- durch das return 1; davor wird der public beendet und SetPlayerPos wird nie aufgeführt werden
    }

  • public OnPlayerPickUpPickup(playerid, pickupid)
    {

    if(pickupid == health) {
    SetPlayerHealth(playerid, 0);
    new string[128], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s wurde von einem Pickup reingelegt.", pname);
    SendClientMessageToAll(LS_RED, string);
    format(string, sizeof(string), "Scheiße man, was hast du dir dabei gedacht?", pname);
    SendClientMessage(playerid, YELLOW, string);
    dm[playerid] = 0;

    }

    if(pickupid == keycard) {
    SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
    SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
    SetPlayerFacingAngle(playerid, 90.0);
    SendClientMessage(playerid, YELLOW, "Tore geöffnet!");

    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Also nochmal, es funzt nicht wirklich :(
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == health)
    {
    SetPlayerHealth(playerid, 0);
    new string[128], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s wurde von einem Pickup reingelegt.", pname);
    SendClientMessageToAll(LS_RED, string);
    format(string, sizeof(string), "Scheiße man, was hast du dir dabei gedacht?", pname);
    SendClientMessage(playerid, YELLOW, string);
    dm[playerid] = 0;
    return 1;


    }
    if(pickupid == keycard)
    {
    SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
    SetPlayerFacingAngle(playerid, 90.0);
    SendClientMessage(playerid, YELLOW, "Tore geöffnet!");
    return 1;


    }
    return 0;
    }
    Was ist da falsch? Der 2te Pickup geht aber der erste nicht... ;( Also der health geht nicht... ;(

  • Hast du health auch definiert, sprich erstellt (new health; health = CreatePickup(...); ) ?

  • new health;
    health = CreatePickup(1254, 23, -1326.4594726563, 598.4931640625, 12.169381141663);
    health = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984);
    & beide pickups funzen nicht... also es muss am code liegen... soweit ich mich beim pawn scripten auskenne :D


  • health = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984, -1);


    so, damit ist das pickup in allen vworlds sichtbar.


    //achja, du kannst in einer variable (health) auch nur eine pickupid speichern, zweimal eine id zuweisen funktioniert nicht.

    Keine Scripting-Fragen per PM!


  • health = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984, -1);


    so, damit ist das pickup in allen vworlds sichtbar.


    //achja, du kannst in einer variable (health) auch nur eine pickupid speichern, zweimal eine id zuweisen funktioniert nicht.

    w00t? Ich hatte vorhin 5 pickups mit der id health und es ging alles wunderbar... erst seit die keycard drin ist geht nix ausser der ;(

  • hm, also verschiedene pickupids kannst du aufjedenfall nicht in einer normale variable speichern, da ist immer nur platz für einen int-wert.
    du kannst für alle "health"-pickups ein array erstellen z.B.
    new health[10];


    und dann



    health[0] = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984, -1);
    health[1]=...usw


    das sollte dann funktionieren.

    Keine Scripting-Fragen per PM!