Beiträge von BreadScript

    Das erstellen ist denke ich mal Richtig. Dennoch kann ich mich ja auch irren daher einmal der Code



    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]!=0)continue;
    GetPlayerName(playerid,PlayerInfo[p_id][pName],MAX_PLAYER_NAME);
    cInfo[i][besitzer]=PlayerInfo[playerid][pLeader];
    cInfo[i][c_x]=x;
    cInfo[i][c_y]=y;
    cInfo[i][c_z]=z;
    cInfo[i][c_r]=r;
    cInfo[i][color1]=1;
    cInfo[i][color2]=1;
    cInfo[i][model]=modelid;
    cInfo[i][fraktion] = PlayerInfo[playerid][pLeader];
    cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1,0);
    new string[128];
    format(string,sizeof(string),"Das Auto %i wurde erstellt.",GetVehicleFriendlyName(cInfo[i][id_x]));
    SendClientMessage(playerid,COLOR_RED,string);
    saveCarToDBFrak(playerid,i);
    return 1;
    }

    for(new i=0; i<sizeof(cInfo); i++){ if(cInfo[i][id_x]==0) continue; if(cInfo[i][id_x] != GetVehicleTrailer(veh)) continue; cInfo[i][c_gespeert] = 1; cInfo[i][c_x] = 2245.3259; cInfo[i][c_y] = 2007.7205; cInfo[i][c_z] = 10.5474; if(cInfo[i][fraktion]==1) { SendClientMessage(playerid,-1,"Fraktionsfahrzeug."); } else { SendClientMessage(playerid,-1,"Privatfahrzeug."); } return true;}

    Else ist in dem Fall schwachsinnig bzw die falsche Abfrage. Da nicht ausgerechnet das Fahrzeug auch ein Privat Fahrzeug ist. Beispiel CreateVehicle für Jobs.

    Hallo,


    gerne würde ich nun Abfragen wollen ob es sich um ein Fraktionsfahrzeug handelt oder eben um ein Privat Fahrzeug. Leider bin ich da bisher ohne Erfolg.



    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==0) continue;
    if(cInfo[i][id_x] != GetVehicleTrailer(veh)) continue;
    cInfo[i][c_gespeert] = 1;
    cInfo[i][c_x] = 2245.3259;
    cInfo[i][c_y] = 2007.7205;
    cInfo[i][c_z] = 10.5474;
    if(cInfo[i][fraktion]==1)
    {
    SendClientMessage(playerid,-1,"Fraktionsfahrzeug.");
    }
    if(cInfo[i][fraktion]==0)
    {
    SendClientMessage(playerid,-1,"Privatfahrzeug.");
    }




    }

    Er erkennt aktuell nur Privatfahrzeuge. Was müsste ich anders machen ?



    enum carEnum{
    id_x,
    model,
    besitzer,
    Float:c_x,
    Float:c_y,
    Float:c_z,
    Float:c_r,
    c_gespeert,
    db_id,
    color1,
    color2,
    key,
    g_preis,
    fraktion



    }

    Dann musst du es so schreiben:
    for(new i=0; i<sizeof(cInfo); i++){ if(cInfo[i][id_x] == 0) continue; if(cInfo[i][id_x] != GetVehicleTrailer(veh)) continue; if(isEventVehicle[cInfo[i][id_x]] == 1) return SendClientMessage(playerid,-1,"Event Fahrzeuge können nicht abgeschleppt werden."); cInfo[i][c_gespeert] = 1; DestroyVehicle(cInfo[i][id_x]); cInfo[i][id_x]=0; break;}

    Führt leider nicht zu dem gewünschten Erfolg. Es gibt im Grunde keine Verbesserung. Das Return wird weiterhin nicht aufgerufen.

    Aktuell wie folgt



    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==0) continue;
    if(cInfo[i][id_x] != GetVehicleTrailer(veh)) continue;
    cInfo[i][c_gespeert] = 1;
    DestroyVehicle(cInfo[i][id_x]);
    cInfo[i][id_x]=0;
    if(isEventVehicle[i] == 1) return SendClientMessage(playerid,-1,"Event Fahrzeuge können nicht abgeschleppt werden.");
    }

    Hallo, gerne möchte ich nun Abfragen ob ich am Haken ein Event Fahrzeug habe oder nicht (TowCar).
    Leider scheitert es bei der Abfrage. Das Fahrzeug wird wie folgt erstellt



    ocmd:eventcar(playerid,params[])
    {
    if(isAdmin(playerid,5))
    {
    new eventcarid;
    if(sscanf(params,"i",eventcarid)) return SendClientMessage(playerid,COLOR_RED,"/createeventcar [CAR ID]");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    new veh = CreateVehicle(eventcarid, x+4, y, z,0, -1, -1, -1);
    SetVehicleNumberPlate(veh,"EVENTCAR");
    isEventVehicle[veh] = 1;
    }
    else
    {
    return SendClientMessage(playerid,-1,"Dieser Befehl konnte nicht gefunden werden");
    }
    return 1;
    }


    Mit
    if(isEventVehicle[i] == 1)
    versuche ich bisher abzufragen ob es ein Event Fahrzeug ist. Allerdings sagt er mir dauerhaft dass es dies nicht ist obwohl es eines der Fahrzeuge ist.


    Was ist in der Abfrage falsch ?

    Wird der genannte Wert in der MySQL Datenbank gespeichert?
    mach den befehl /save und dann /parken dann guck unter Ducoments\GTA SA User Files\SAMP\saves.txt (oder so war das)


    Danach überprüfst du die Coordinaten, ob die gesetzt wurden.
    Wenn das nicht klappt Gib die Coordinaten, sowie die DB_ID aus, damit die in der Konsole ausgegeben wird.

    Die Positionen werden einwandfrei gespeichert in der Datenbank. Nur ohne Restart / Relog befindet sich das Fahrzeug nie an der neuen Position.

    Das macht er hier bereits:

    Wo setzt du denn das Fahrzeug auf die geparkte Position nachdem es zerstört wurde?Du musst es bei OnVehicleSpawn natürlich auch an die richtige Position setzen.

    Ich möchte nicht, dass es geparkt wird sobald es zerstört ist. Sofern ich den Befehl /parken eingebe und das Fahrzeug danach zerstöre spawnt es noch am alten platz und nicht am neuen

    Du liest doch sicherlich irgendwo auf die Position aus - beim Starten des GMs z.b.
    Du musst natürlich noch die Positions Variablen in deinem Script aktualisieren auf die neue Position.
    Zeig uns mal dein Fahrzeug Enum (Wo du es lädst) und wie Leon bereits schrieb, einmal OnVehicleDeath.

    enum carEnum{
    id_x,
    model,
    besitzer,
    Float:c_x,
    Float:c_y,
    Float:c_z,
    Float:c_r,
    c_gespeert,
    db_id,
    color1,
    color2,
    color3,
    key,
    g_preis,
    fraktion



    }

    Nichts was den Parken Befehl beeinträchtigen sollte



    public OnVehicleDeath(vehicleid, killerid)
    {
    if(isEventVehicle[vehicleid] == 1) {
    DestroyVehicle(vehicleid);
    }
    return 1;
    }

    Guten Tag liebe Brotfische,


    aktuell habe ich mal wieder ein Problem bei meinem Parken Befehl. Sobald das Fahrzeug kaputt geht wird dieses nicht an die neue Position gespawnt. Hat jemand eine Idee woran dies liegt ?


    Einmal der Parkbefehl als Code



    for(new id = 0; id < sizeof(cInfo); id++)
    {
    if(cInfo[id][id_x] == veh)
    {



    if(cInfo[id][fraktion] == PlayerInfo[playerid][pMember])
    {
    GetVehiclePos(cInfo[id][id_x],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z]);
    GetVehicleZAngle(cInfo[id][id_x],cInfo[id][c_r]);
    new query[256];
    format(query,sizeof(query),"UPDATE fautos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],cInfo[id][db_id]);
    mysql_pquery(handle, query);
    return SendClientMessage(playerid,COLOR_RED,"Ab sofort findest du dieses Fraktionsfahrzeug hier.");
    }
    else
    {
    return SendClientMessage(playerid,COLOR_RED,"Du besitzt keinen Schlüssel für dieses Fahrzeugs");
    }
    }
    }

    Ich scheine bei der Umsetzung zu doof zu sein. Ich versteh es irgendwie nicht. Mag es ggf. einer für eine kleine Entlohnung für mich umsetzen ?


    Push

    Also du brauchst eine Seite wo du dann neue Check-boxen hinzufügen kannst oder dementsprechend. ((Beispiel) Mit ID, Name, Fahrzeug, Select)
    Diese Seite oder das Formular fügt dann in der Datenbank (Beispiel) "Fahrzeug Checkboxen" dementsprechend den Eintrag hinzu.


    Die Seite welche die Check-boxen auflisten soll muss dann bei jedem neuen Aufruf die aktuellen Einträge aus der Datenbank auslesen und je nach Fahrzeug auflisten.
    Ist das so c.a richtig verstanden und formuliert ?

    Diese Aussage trifft langsam dem zu was ich möchte. Es sollen nicht nur die neuen Werte die angeklickt wurden dem entsprechenden Fahrzwug angezeigt werden sondern alle. Das heißt wir erstellen für einen BMW eine neue Mängelzugehörigkeit wie z.b "Steinschlag in der Windschutzscheibe". Für den BMW haben wir alles eingetragen. Nun soll es an einen VW gehen. Dieser hat auch einen Steinschlag in der Windschutzscheibe. Nun möchte ich nicht für dass nächste Fahrzeug erneut den Wert erstellen sondern Ihn nur anklicken können.


    Also im Grunde


    Mängel erstellt = Soll für jedes Fahrzeug angezeigt werden.


    Natürlich soll die Auswahl der Checkoxmängel nur für ein bestimmtes Fahrzeug sein und nicht für alle.

    Ich habe im Anhang nun ein Bild angefügt welches dass ganze vielleicht etwas besser beschreibt. Im Bild gibt es aktuelle Mängel die man in einer Checkbox auswählen kann und speichern kann. Nach dem erneuten aufrufen werden die vorher gespeicherten Daten als angeklickt markiert.


    Nun möchte ich aber nicht, alle möglichen Mängel die es gibt dort aufschlüsseln (Fest im Code) sondern die möglichkeit haben, sobald ein Mangel entsteht diesen über die Datenbank flexibel hinzuzufügen ohne die PHP Datei anfassen zu müssen.

    Ich glaube, in diesem Video ist dein Vorhaben ganz gut beschrieben, sollte ich deine Pläne richtig aufgefasst haben.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    So wie ich es im schnell Durchlauf verstehe muss ich die Werte aber Hardcodet in die PHP Datein einbinden. Und genau dass will ich nicht. Ich möchte einfach eine Kategorie erstellen die ohne Bearbeiten der PHP Datei dann angezeigt werden und als Checkbox gefüllt werden können.

    Also ich benötige dies für ein Fuhrpark - System.


    Wir haben insgesamt zwei Fahrzeuge. Diese benenne ich hier mit "BMW" und "Audi". Beide Fahrzeuge können Technische/Optische Mängel im laufe der Zeit bekommen. Nun möchte ich aber nicht alle Mängel die es bei einem Fahrzeug gibt Hardcodete einbinden. Als Ersatz ist mir in gedanken gekommen dass man eine Art Kategorie erstellt wie z.b "Licht defekt" , "Reifen verschlissen" oder " Bremsen verschlissen". Natürlich hat in diesen Fall der BMW einen anderen Mangel als der Audi . Daher war meine Idee gewesen, solche Kategorien wie oben genannt zu erstellen. Die Mängel(Kategorien) sollen dann auf der Fahrzeug Editor Seite via Checkbox angeklickt werden können. Um so mehr Kategorien es gibt desto mehr sollte natürlich auch als Auswahl möglichkeit angezeigt werden. Die Auswahl soll natürlich gespeichert werden und auch später wieder abgefragt werden können.


    Ich hoffe Ihr konntet damit einen kleinen Einblick in mein vorhaben bekommen und könnt mir bei meinem vorhaben helfen.

    Hallo,


    ich würde gerne bestimmte Kategorien via MySQL erstellen. Diese Kategorien sollen dann z.b für jeden Benutzer in eine Art Profil angezeigt werden (via Checkbox) heißt also Abfragen und neu setzen können. Dabei soll jedes Konto natürlich andere Checkbox Werte besitzen so dass für jedes Konto ein anderer Checkbox - Wert gespeichert werden kann.


    Wie ist die Umsetzung hierbei am sinnvollsten ?


    Über jede Hilfe bin ich dankbar. Sollten weitere Fragen bestehen, zögert nicht Sie zu stellen um mir bald möglichst weiter zu helfen.


    Bis dahin bedanke ich mich fürs durchlesen meines Beitrags und wünsche einen angenehmen Abend/Morgen/Tag.


    Mit besten grüßen


    BreadScript.