Beiträge von Kaliber

    In der mobilen Ansicht funktioniert das. Ich werde erfolgreich in die Suche geleitet.


    Was redest du da? :huh:


    Die Suche funktioniert ja auch, es geht um das Bild, welches nicht vorhanden ist (auch in der mobilen Version nicht).


    mfg. :rolleyes:

    hab ich ja


    Schreib deinen Befehl mal so:


    ocmd:sduty(playerid)
    {
    if(!isPlayerAnAdmin(playerid,1))return SCM(playerid, COLOR_FADE3,"Diesen Befehl kannst du nicht nutzen.");
    new adminname[30];
    switch(GetPVarInt(playerid,"Adminlevel")) {
    case 0:{adminname="Nein";}
    case 1:{adminname="{00FF5A}Supporter";}
    case 2:{adminname="{572B54}Moderator";}
    case 3:{adminname="{0000FF}Administrator";}
    case 4:{adminname="{FF0000}Server Manager";}
    case 5:{adminname="{FF0000}Projektleiter";}
    case 6:{adminname="{FF0000}Projektleiter";}
    }
    if(GetPVarInt(playerid,"AdminDuty"))
    {
    SetPlayerColor(playerid,WHITE);
    s_SetPlayerHealth(playerid,GetPVarFloat(playerid,"healsave"));
    DeletePVar(playerid,"AdminDuty"),DeletePVar(playerid,"healsave");
    Delete3DTextLabel(SDUTY[playerid]),TextDrawHideForPlayer(playerid,ADUTY);
    if(lsduty[playerid] == 1) SetPlayerColor(playerid,0x0055FFFF);
    if(armyduty[playerid] == 1) SetPlayerColor(playerid,0x006400FF);
    if(medicduty[playerid] == 1) SetPlayerColor(playerid,0xFF005FFF);
    if(oamtduty[playerid] == 1) SetPlayerColor(playerid,0x53969cFF);
    return 1;
    }
    new Float:heal,str[145], name[MAX_PLAYER_NAME];
    GetPlayerHealth(playerid,heal);
    SetPVarFloat(playerid,"healsave",heal);
    SetPlayerColor(playerid,ROT),s_SetPlayerHealth(playerid,200);
    GetPlayerName (playerid, name, MAX_PLAYER_NAME);
    format(str, 145, "%s ist jetzt Duty.", name);
    for(new i; i < MAX_PLAYERS; i++) if(i!= playerid) SendClientMessage(i, ROT, str);
    SetPVarInt(playerid,"AdminDuty",1);
    TextDrawShowForPlayer(playerid,ADUTY);
    switch(GetPVarInt(playerid,"Adminlevel")) {
    case 1: SDUTY[playerid] = Create3DTextLabel("*Supporter onduty*",AdminGelb,30.0,40.0,50.0,40.0,0);
    case 2: SDUTY[playerid] = Create3DTextLabel("*Moderator onduty*",AdminGrun,30.0,40.0,50.0,40.0,0);
    case 3: SDUTY[playerid] = Create3DTextLabel("*Administrator onduty*",AdminBlau,30.0,40.0,50.0,40.0,0);
    case 4: SDUTY[playerid] = Create3DTextLabel("*Server Manager onduty*",AdminRot,30.0,40.0,50.0,40.0,0);
    case 5: SDUTY[playerid] = Create3DTextLabel("*Projektleiter onduty*",AdminRot,30.0,40.0,50.0,40.0,0);
    case 6: SDUTY[playerid] = Create3DTextLabel("*Projektleiter onduty*",AdminRot,30.0,40.0,50.0,40.0,0);
    }
    return Attach3DTextLabelToPlayer(SDUTY[playerid], playerid, 0.0, 0.0, 0.4);
    }


    mfg. :thumbup:

    Destroy und neu erstellen ;)
    Natürlich erst mit GetObjectPos die Koordinaten raussuchen


    Um Gottes Willen, nein nicht so machen!


    Dadurch bricht EditObject ab und alles hängt.


    Mach es einfach so:


    public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
    {
    if(!playerobject)
    {
    if(!IsValidObject(objectid)) return 1;
    MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
    }
    return 1;
    }


    mfg. :thumbup:

    Dazu sollte man noch sagen, das man AObjectID nicht einfach drin stehen lassen kann


    Doch natürlich, wenn man ein Objekt vorher erstellt hat (so wie ich es beschrieben habe), kann man das genau so lassen ;)


    Das Objekt welches man erstellt hat, gibt doch die objektid zurück, die in dieser Variable gespeichert wird und auf diese man zugreift um es zu editieren :)


    mfg. :thumbup:

    1. Musst du das Enum über deiner Variablen Deklaration stehen, sprich so:


    enum AdminObjectsInfo
    {
    AObjectID,
    Float:AObjectX,
    Float:AObjectY,
    Float:AObjectZ,
    ANewsObject
    };
    new AdminObjects[MAX_PLAYERS][AdminObjectsInfo];


    2. Musst du die Variable erstmal initialisieren.


    AdminObjects[playerid][AObjectID] = CreateObject(...); //Hier erstmal das Objekt, welches du dann später editieren willst.


    3. Und dann kannst du auf diesen Wert zugreifen:


    if(!strcmp(cmdtext, "/oedit", true))
    {
    EditObject(playerid, AdminObjects[playerid][AObjectID]);
    SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: You can now edit the object!");
    return 1;
    }


    mfg. :thumbup: