Hilfe bei Rcon cmd'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
  • Erstmal Dankeschön, 2 probleme habe ich noch undzwar wenn wir die objekte gelöscht haben und dann wieder laden möchten geht es nicht


    z.b. /reloadobjekte = objekte werden geladen
    /unloadobjekte = die ausgewählten objekte werden gelöscht
    /loadobjekte = Die nicht vorhandenen objekte kommen nicht wieder


    /e: hab was vergessen wir haben ja noch ein 2 Filterscript mit denn Toren wo auch objekte drin gespeichert sind die spawnen nicht mehr aber die befehle gehen.

  • Poste bitte die Befehle, bzw den Teil des Codes der Probleme macht, und erkläre was eigentlich passieren soll.
    Ohne Code können wir dir nicht wirklich helfen.


    Welchen abschnitt den genau? oder welchen befehl?


    Reload:
    if(strcmp(cmd, "/reloadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("unloadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte auf RG-Network wurden neu geladen");
    SendClientMessageToAll(0xFFFF00FF,string);
    SendRconCommand("loadfs obs");
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte neu laden.");
    }
    }
    return 1;
    }


    Unload:
    if(strcmp(cmd, "/unloadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("unloadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte wurden auf RG-Network entfernt.");
    SendClientMessageToAll(0xFFFF00FF,string);
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte entfernen.");
    }
    }
    return 1;
    }


    Load:
    if(strcmp(cmd, "/loadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("loadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte wurden auf RG-Network geladen.");
    SendClientMessageToAll(0xFFFF00FF,string);
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte geladen.");
    }
    }
    return 1;
    }

  • Eine sache feht da noch und zwar das mit denn Tore(n)


    tor = CreateObject(980, 310.40039, -1175.8701, 82.7, 0, 0, 221.737);


    return 1;
    }
    #endif


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == Dialog_TORCODE){
    if(!response)return 1;
    if (strcmp(TorCode, inputtext, true, 10) == 0){
    MoveObject(tor,310.40039, -1175.8701, 76.6, 2);
    SendClientMessage(playerid,Rot,"Das Tor schließt in 5 Sekunden.");
    SetTimer("close", 5000,0);
    }
    else SendClientMessage(playerid, -1, "Der Code war falsch!");
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,310.40039, -1175.8701, 82.7))
    {
    ShowPlayerDialog(playerid, Dialog_TORCODE, DIALOG_STYLE_INPUT, "Tor ist mit einem Code gesichert!", "Gib den richtigen Code ein:\n", "Enter", "Abbruch");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!");
    }
    }
    return 0;
    }


    public close ()
    {
    MoveObject(tor,310.40039, -1175.8701, 82.7, 2);
    return 1;
    }

  • Sry, habe das total vergessen.


    Bei mir ist es so das seit demm das mit ich die Objekte löschen klappt das das Objekt nicht spawned. Wenn der Server startet und wenn ich dieses Filterscript neu lade ABER der Befehl an dieser Stelle funktioniert und die Messages kommen dann auch.


    tor = CreateObject(980, 310.40039, -1175.8701, 82.7, 0, 0, 221.737);


    return 1;
    }
    #endif


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == Dialog_TORCODE){
    if(!response)return 1;
    if (strcmp(TorCode, inputtext, true, 10) == 0){
    MoveObject(tor,310.40039, -1175.8701, 76.6, 2);
    SendClientMessage(playerid,Rot,"Das Tor schließt in 5 Sekunden.");
    SetTimer("close", 5000,0);
    }
    else SendClientMessage(playerid, -1, "Der Code war falsch!");
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,310.40039, -1175.8701, 82.7))
    {
    ShowPlayerDialog(playerid, Dialog_TORCODE, DIALOG_STYLE_INPUT, "Tor ist mit einem Code gesichert!", "Gib den richtigen Code ein:\n", "Enter", "Abbruch");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!");
    }
    }
    return 0;
    }


    public close ()
    {
    MoveObject(tor,310.40039, -1175.8701, 82.7, 2);
    return 1;
    }



    Wenn wir denn Befehl /reloadobjekte machen werden alle Objekte halt geladen und spawnen halt.


    Spoiler anzeigen
    if(strcmp(cmd, "/reloadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("unloadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte auf RG-Network wurden neu geladen");
    SendClientMessageToAll(0xFFFF00FF,string);
    SendRconCommand("loadfs obs");
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte neu laden.");
    }
    }
    return 1;
    }


    Wenn wir dann /unloadobjekte machen werden wie schon gesagt die ausgewählten objekte gelöscht und sind weg.


    Spoiler anzeigen
    if(strcmp(cmd, "/unloadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("unloadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte wurden auf RG-Network entfernt.");
    SendClientMessageToAll(0xFFFF00FF,string);
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte entfernen.");
    }
    }
    return 1;
    }


    Wenn wir dann die objekte wieder laden wollen die greade gelöscht wurden wieder laden wollen spawnen(nicht vorhanden) die halt nicht.


    Spoiler anzeigen
    if(strcmp(cmd, "/loadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("loadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte wurden auf RG-Network geladen.");
    SendClientMessageToAll(0xFFFF00FF,string);
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte geladen.");
    }
    }
    return 1;
    }

  • Möglicherweise bricht der Ladevorgang ab.
    Lädst du den Filterscript mit den Objekten vor dem mit dem Tor?


    Ändere mal:
    tor = CreateObject(980, 310.40039, -1175.8701, 82.7, 0, 0, 221.737);


    zu:
    print("Lade das TOR");
    tor = CreateObject(980, 310.40039, -1175.8701, 82.7, 0, 0, 221.737);


    Steht der print in dem Server Log, wenn du den Server startest?


    Wenn nein, poste mal dein OnFilterScriptInit des Objekte-Filterscripts.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Haben wir ja auch am anfang gemacht aber dann wird ja das script neu geladen und die Objekte verdoppeln sich und dann bugged vieles rum deshalb sollen die Objekte zuerst entfernt werden und dann neu geladen werden.
    Jetzt zum problem zurück mit denn Toren geht auch alles aber wir haben immer noch das problem das wenn wir die objekte entfernen und das script neu laden das die enfernten Objekte nicht eingefügt werden.

  • Hier ist der erste Code:


    public OnFilterScriptExit()
    {
    for(new i=0; i<MAX_OBJECTS; i++)
    {
    if(ObjectCreatedInFS[i] == true)
    {
    DestroyObject(i);
    DestroyDynamicObject(i);
    ObjectCreatedInFS[i] = false;
    }
    }
    }


    Und hier die Objekte die entfernt werden sollen bei demm Command:


    id = CreateObject(8947, 288.40039, -1193.5996, 78.4, 0, 359.608, 42.605); ObjectCreatedInFS[id] = true;
    id = CreateObject(8947, 271.7998, -1175.5498, 78.42, 0.093, 359.604, 42.594); ObjectCreatedInFS[id] = true;
    id = CreateObject(8947, 265, -1181.8, 78.4, 0, 0.392, 42.605); ObjectCreatedInFS[id] = true;
    id = CreateObject(8947, 281.59961, -1199.8535, 78.4, 0, 0.385, 42.594); ObjectCreatedInFS[id] = true;

  • DestroyDynamicObject(i);
    Erstellst du die Objekte mit dem Streamer oder nicht? Du kannst nicht beides gleichzeitig auf die gleichen Variablen anwenden.


    Poste mal den gesamten Filterscript (ohne die Objekte, nur so 2-3) und den Befehl zum laden der Objekte.

  • Ja die werden mit demm Streamer erstellt



    Hier der Code




    //includes
    #include <a_samp>
    #include <streamer>


    #pragma tabsize 0


    //new
    new BT_buswand[21];
    new bool:ObjectCreatedInFS[MAX_OBJECTS];
    new id;


    public OnPlayerConnect(playerid)
    {
    RemoveBuildingForPlayer(playerid, 706, 301.0859, -1115.3750, 79.9141, 0.25);
    RemoveBuildingForPlayer(playerid, 706, 252.9063, -1156.1953, 77.7656, 0.25);
    }
    public OnFilterScriptInit()
    {
    id = CreateObject(3522, 1752.5, -1768.6, 12.6, 0, 0, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateObject(3522, 1756.9, -1768.6, 12.6, 0, 359.608, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateObject(3522, 1761.3, -1768.7, 12.6, 0, 0, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateObject(1359, 1725.1, -1768.1, 13.2, 0, 0, 0); ObjectCreatedInFS[id] = true;
    new objects;
    objects = Streamer_CountItems(STREAMER_TYPE_OBJECT,1);
    for(new i; i<objects; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, i,E_STREAMER_DRAW_DISTANCE, 800.0);
    Streamer_VisibleItems(STREAMER_TYPE_OBJECT,1000);
    printf("%i Gemappte Objecte Geladen",objects);
    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new i=0; i<MAX_OBJECTS; i++)
    {
    if(ObjectCreatedInFS[i] == true)
    {
    DestroyObject(i);
    DestroyDynamicObject(i);
    ObjectCreatedInFS[i] = false;
    }
    }
    }


    Hiermit werden sie geladen:


    if(strcmp(cmd, "/reloadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("unloadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte auf RG-Network wurden neu geladen");
    SendClientMessageToAll(0xFFFF00FF,string);
    SendRconCommand("loadfs obs");
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte neu laden.");
    }
    }
    return 1;
    }


    und hiermit gelöscht:


    if(strcmp(cmd, "/unloadobjekte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (SpielerInfo[playerid][pAdmin] >= 6)
    {
    SendRconCommand("unloadfs obs");
    format(string,sizeof(string),"Die Gesamten Objekte wurden auf RG-Network entfernt.");
    SendClientMessageToAll(0xFFFF00FF,string);
    }
    else
    {
    SCM(playerid, COLOR_GRAD1, "Du Kannst keine Objekte entfernen.");
    }
    }
    return 1;
    }

  • //includes
    #include <a_samp>
    #include <streamer>


    #pragma tabsize 0


    //new
    new BT_buswand[21];
    new bool:ObjectCreatedInFS[MAX_OBJECTS];
    new id;


    public OnPlayerConnect(playerid)
    {
    RemoveBuildingForPlayer(playerid, 706, 301.0859, -1115.3750, 79.9141, 0.25);
    RemoveBuildingForPlayer(playerid, 706, 252.9063, -1156.1953, 77.7656, 0.25);
    return 1;
    }
    public OnFilterScriptInit()
    {
    id = CreateDynamicObject(3522, 1752.5, -1768.6, 12.6, 0, 0, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateDynamicObject(3522, 1756.9, -1768.6, 12.6, 0, 359.608, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateDynamicObject(3522, 1761.3, -1768.7, 12.6, 0, 0, 268.918); ObjectCreatedInFS[id] = true;
    id = CreateDynamicObject(1359, 1725.1, -1768.1, 13.2, 0, 0, 0); ObjectCreatedInFS[id] = true;
    new objects;
    objects = Streamer_CountItems(STREAMER_TYPE_OBJECT,1);
    for(new i; i<objects; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, i,E_STREAMER_DRAW_DISTANCE, 800.0);
    Streamer_VisibleItems(STREAMER_TYPE_OBJECT,1000);
    printf("%i Gemappte Objecte Geladen",objects);
    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new i=0; i<MAX_OBJECTS; i++)
    {
    if(ObjectCreatedInFS[i] == true)
    {
    DestroyDynamicObject(i);
    ObjectCreatedInFS[i] = false;
    }
    }
    return 1;
    }


    Schreibe es mal so, geht es dann? Kommt der print "%i Gemappte Objecte Geladen"?


    Wenn du die Objekte lädst musst du dich kurz bewegen, sonst siehst du die Objekte nicht.

  • Also im Server log wird es angezeigt, als wir mit denn Befehlen versucht haben nach einem unload die Objekte wieder zu laden stand das noch im Server log: