Warning nach Update der Server Version

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
  • Guten Abend,


    folgende Meldung erhalte ich als Warnung, es geht um den public content.


    Code
    selfmade.pwn(59986) : warning 219: local variable "modelid" shadows a variable at a preceding level


    public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
    {
    if(GetPVarInt(playerid, "EditingNow") == 1)
    {
    new i = GetPVarInt(playerid, "EditingSlot");
    if(response)
    {
    dynClothesInfo[playerid][i][cOffsetX] = fOffsetX;
    dynClothesInfo[playerid][i][cOffsetY] = fOffsetY;
    dynClothesInfo[playerid][i][cOffsetZ] = fOffsetZ;
    dynClothesInfo[playerid][i][cRotX] = fRotX;
    dynClothesInfo[playerid][i][cRotY] = fRotY;
    dynClothesInfo[playerid][i][cRotZ] = fRotZ;
    dynClothesInfo[playerid][i][cScaleX] = fScaleX;
    dynClothesInfo[playerid][i][cScaleY] = fScaleY;
    dynClothesInfo[playerid][i][cScaleZ] = fScaleZ;
    }
    DeletePVar(playerid, "EditingSlot");
    DeletePVar(playerid, "EditingNow");
    ReplaceClothing(playerid, i);
    }
    if(GetPVarInt(playerid, "SelectedItem") == 1 && GetPVarInt(playerid, "EditingNow") == 0)
    {
    new i = GetPVarInt(playerid, "ItemIndex");
    new slot = GetPVarInt(playerid, "FreeSlot");
    if(response)
    {
    OnBuyClothes(playerid, slot, ModelsInfo[i][modelID], ModelsInfo[i][modelBone], fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ);
    ACMoney(playerid, -ModelsInfo[i][modelPrice]);
    format(clothesmsg, sizeof(clothesmsg), "Du hast dir ein(e) {FFFF00}%s{FFFFFF} für {FFFF00}%d${FFFFFF} gekauft.", ModelsInfo[i][modelName], ModelsInfo[i][modelPrice]);
    SendClientMessage(playerid, -1, clothesmsg);
    dynClothesInfo[playerid][slot][cModelID] = ModelsInfo[i][modelID];
    dynClothesInfo[playerid][slot][cBoneID] = ModelsInfo[i][modelBone];
    dynClothesInfo[playerid][slot][cOffsetX] = fOffsetX;
    dynClothesInfo[playerid][slot][cOffsetY] = fOffsetY;
    dynClothesInfo[playerid][slot][cOffsetZ] = fOffsetZ;
    dynClothesInfo[playerid][slot][cRotX] = fRotX;
    dynClothesInfo[playerid][slot][cRotY] = fRotY;
    dynClothesInfo[playerid][slot][cRotZ] = fRotZ;
    dynClothesInfo[playerid][slot][cScaleX] = fScaleX;
    dynClothesInfo[playerid][slot][cScaleY] = fScaleY;
    dynClothesInfo[playerid][slot][cScaleZ] = fScaleZ;
    dynClothesInfo[playerid][slot][cOn] = true;
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du hast den Kauf diesen Artikels abgebrochen.");
    RemovePlayerAttachedObject(playerid, index);
    }
    DeletePVar(playerid, "SelectedItem");
    DeletePVar(playerid, "ItemIndex");
    DeletePVar(playerid, "FreeSlot");
    }
    return 1;
    }

  • Code
    local variable "modelid" shadows a variable at a preceding level

    Die Warnung bedeutet, dass die Variable "modelid" zuvor bereits deklariert wurde.


    Hast du eventuell eine globale Variable erstellt, mit dem Namen modelid (oder ähnliches)?

  • Nein, das Problem ist, "modelid" wird von sa_mp Include selbst genutzt, für Verschiedene dinge.


    Ändere es einfach ab, so z.B.



    public OnPlayerEditAttachedObject(playerid, response, index, modelid426, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
    {
    if(GetPVarInt(playerid, "EditingNow") == 1)
    {
    new i = GetPVarInt(playerid, "EditingSlot");
    if(response)
    {
    dynClothesInfo[playerid][i][cOffsetX] = fOffsetX;
    dynClothesInfo[playerid][i][cOffsetY] = fOffsetY;
    dynClothesInfo[playerid][i][cOffsetZ] = fOffsetZ;
    dynClothesInfo[playerid][i][cRotX] = fRotX;
    dynClothesInfo[playerid][i][cRotY] = fRotY;
    dynClothesInfo[playerid][i][cRotZ] = fRotZ;
    dynClothesInfo[playerid][i][cScaleX] = fScaleX;
    dynClothesInfo[playerid][i][cScaleY] = fScaleY;
    dynClothesInfo[playerid][i][cScaleZ] = fScaleZ;
    }
    DeletePVar(playerid, "EditingSlot");
    DeletePVar(playerid, "EditingNow");
    ReplaceClothing(playerid, i);
    }
    if(GetPVarInt(playerid, "SelectedItem") == 1 && GetPVarInt(playerid, "EditingNow") == 0)
    {
    new i = GetPVarInt(playerid, "ItemIndex");
    new slot = GetPVarInt(playerid, "FreeSlot");
    if(response)
    {
    OnBuyClothes(playerid, slot, ModelsInfo[i][modelID], ModelsInfo[i][modelBone], fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ);
    ACMoney(playerid, -ModelsInfo[i][modelPrice]);
    format(clothesmsg, sizeof(clothesmsg), "Du hast dir ein(e) {FFFF00}%s{FFFFFF} für {FFFF00}%d${FFFFFF} gekauft.", ModelsInfo[i][modelName], ModelsInfo[i][modelPrice]);
    SendClientMessage(playerid, -1, clothesmsg);
    dynClothesInfo[playerid][slot][cModelID] = ModelsInfo[i][modelID];
    dynClothesInfo[playerid][slot][cBoneID] = ModelsInfo[i][modelBone];
    dynClothesInfo[playerid][slot][cOffsetX] = fOffsetX;
    dynClothesInfo[playerid][slot][cOffsetY] = fOffsetY;
    dynClothesInfo[playerid][slot][cOffsetZ] = fOffsetZ;
    dynClothesInfo[playerid][slot][cRotX] = fRotX;
    dynClothesInfo[playerid][slot][cRotY] = fRotY;
    dynClothesInfo[playerid][slot][cRotZ] = fRotZ;
    dynClothesInfo[playerid][slot][cScaleX] = fScaleX;
    dynClothesInfo[playerid][slot][cScaleY] = fScaleY;
    dynClothesInfo[playerid][slot][cScaleZ] = fScaleZ;
    dynClothesInfo[playerid][slot][cOn] = true;
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du hast den Kauf diesen Artikels abgebrochen.");
    RemovePlayerAttachedObject(playerid, index);
    }
    DeletePVar(playerid, "SelectedItem");
    DeletePVar(playerid, "ItemIndex");
    DeletePVar(playerid, "FreeSlot");
    }
    return 1;
    }


    Sobald du in der Funktion, die "modelid" brauchst, nutzt du einfach: "modelid426".
    Damit ist das Problem auch schon gelöst. :)

    Macht alles, versteht aber nichts!
    ♣ Entwickeln, Testen, Versagen, meine Devise ♣

  • naja mit nummer bei wird es auch nicht toll aussehen



    public OnPlayerEditAttachedObject(playerid, response, index, carmodel, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
    {
    if(GetPVarInt(playerid, "EditingNow") == 1)
    {
    new i = GetPVarInt(playerid, "EditingSlot");
    if(response)
    {
    dynClothesInfo[playerid][i][cOffsetX] = fOffsetX;
    dynClothesInfo[playerid][i][cOffsetY] = fOffsetY;
    dynClothesInfo[playerid][i][cOffsetZ] = fOffsetZ;
    dynClothesInfo[playerid][i][cRotX] = fRotX;
    dynClothesInfo[playerid][i][cRotY] = fRotY;
    dynClothesInfo[playerid][i][cRotZ] = fRotZ;
    dynClothesInfo[playerid][i][cScaleX] = fScaleX;
    dynClothesInfo[playerid][i][cScaleY] = fScaleY;
    dynClothesInfo[playerid][i][cScaleZ] = fScaleZ;
    }
    DeletePVar(playerid, "EditingSlot");
    DeletePVar(playerid, "EditingNow");
    ReplaceClothing(playerid, i);
    }
    if(GetPVarInt(playerid, "SelectedItem") == 1 && GetPVarInt(playerid, "EditingNow") == 0)
    {
    new i = GetPVarInt(playerid, "ItemIndex");
    new slot = GetPVarInt(playerid, "FreeSlot");
    if(response)
    {
    OnBuyClothes(playerid, slot, ModelsInfo[i][carmodel], ModelsInfo[i][modelBone], fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ);
    ACMoney(playerid, -ModelsInfo[i][modelPrice]);
    format(clothesmsg, sizeof(clothesmsg), "Du hast dir ein(e) {FFFF00}%s{FFFFFF} für {FFFF00}%d${FFFFFF} gekauft.", ModelsInfo[i][modelName], ModelsInfo[i][modelPrice]);
    SendClientMessage(playerid, -1, clothesmsg);
    dynClothesInfo[playerid][slot][ccarmodel] = ModelsInfo[i][carmodel];
    dynClothesInfo[playerid][slot][cBoneID] = ModelsInfo[i][modelBone];
    dynClothesInfo[playerid][slot][cOffsetX] = fOffsetX;
    dynClothesInfo[playerid][slot][cOffsetY] = fOffsetY;
    dynClothesInfo[playerid][slot][cOffsetZ] = fOffsetZ;
    dynClothesInfo[playerid][slot][cRotX] = fRotX;
    dynClothesInfo[playerid][slot][cRotY] = fRotY;
    dynClothesInfo[playerid][slot][cRotZ] = fRotZ;
    dynClothesInfo[playerid][slot][cScaleX] = fScaleX;
    dynClothesInfo[playerid][slot][cScaleY] = fScaleY;
    dynClothesInfo[playerid][slot][cScaleZ] = fScaleZ;
    dynClothesInfo[playerid][slot][cOn] = true;
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du hast den Kauf diesen Artikels abgebrochen.");
    RemovePlayerAttachedObject(playerid, index);
    }
    DeletePVar(playerid, "SelectedItem");
    DeletePVar(playerid, "ItemIndex");
    DeletePVar(playerid, "FreeSlot");
    }
    return 1;
    }

  • Naja eig mag ich dir jetzt nicht mehr helfen einer der immer gleich auf rechtschreibung geht aber naja


    du hast in einen enum
    zb playerinfo spielerinfo
    vehicleinfo was auch immer was nicht zu dem system gehört schon modelid stehen


    selfmade_2.pwn(59791) : error 025: function heading differs from prototype
    auszug vom code wer ganz toll ;) bzw die zeile!



    aso ja grammatik schenke ich dir damit du dich noch mehr über meiner schlechte grammatik aufregst :* :P