Bracuhe Hilfe bei PAYDAY Toren und fahrzeugen

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
  • Hallo erstmal :D


    Ich hab seit sehr kurzem angefangen zu scripten.
    Jetzt hab ich Folgende Probleme die ich nicht lösen kann :/

    1.Fahrzeuge


    Wie füg ich Fahrzeuge ein die nicht verschwinden O.obesserg3esagt respawnen.
    Die Fahrzeuge sollten aber beim server restart wieder respawnen wo die eingefügt worden sin.


    2.Tore


    Ich hab im script viele Tore die man sehr schlecht sieht.


    Vorher beim CreateObject war alles ok man konnte sie gut sehen
    jetzt hab ich sieh beweglich und mit timer gemacht.
    IfPlayerInRangeOfPoint ist auch dabei.


    wenn ich näher komme also zu den toren seh ich sieh gut aber 10 meter dafor seiht man die nicht
    nur kurz beim anstosen (berühren) sieht man die Tore vollständig.


    3.Payday

    Ich will ein Payday system machen
    also jede 60 min soll man geld und exp kriegen


    das Problem aber wenn ich einen timer setze und 60 min durchzocke müsste ich geld beckommen (habs noch nicht versucht)
    aber wenn ich bei 30 min aufhöre dan muss ich von forne anfangen wie ich das abspeicher soll
    weis ich nicht O.o


    Am besten jemand würde ein payday filterscript reinschreiben were sehr nett :D

    Hoffe es antwortet jemand und danke im vorraus für jede Antwort ;P


    mfg
    euer ItachiUschia



    PS: am besten ein payday system ohne mysql oder andere datenbanken weil ich mich in solchen sachen
    überhaupt nicht auskenne O.o :whistling:

  • 1:

    #include <a_samp>
    #include <dini>
    #define saveexit == true // True= Fahrzeuge werden da geladen wo sie beim Server ausschalten standen||False=laden da wo sie gespeichert wurden


    enum vehicle
    {
    Float:SavedX,
    Float:SavedY,
    Float:SavedZ,
    Float:SavedA,
    Float:LastX,
    Float:LastY,
    Float:LastZ,
    Float:LastA,
    };
    new CAR[MAX_VEICLES][vehicle];


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print("Carsaver by KillerKater(ThomasSossna)");
    print("--------------------------------------\n");
    return 1;
    #if saveexit == true
    for(new d;d<MAX_VEHICLES;d++)
    {
    new datei[64];
    format(datei,sizeof(datei),"%d.veh",d);
    if(dini_Exists(d))
    {
    AddStaticVehicle(dini_Get(d,"model"),dini_Float(d,"SavedX"),dini_Float(d,"SavedY"),dini_Float(d,"SavedZ",)dini_Float(d,"SavedA"),-1,-1);
    }else return break;
    }
    #endif
    #if saveexit == false
    for(new d;d<MAX_VEHICLES;d++)
    {
    new datei[64];
    format(datei,sizeof(datei),"%d.veh",d);
    if(dini_Exists(d))
    {
    AddStaticVehicle(dini_Get(d,"model"),dini_Float(d,"lastX"),dini_Float(d,"lastY"),dini_Float(d,"lastZ",)dini_Float(d,"lastA"),-1,-1);
    }else return break;
    }
    #endif
    }


    public OnFilterScriptExit()
    {
    #if saveexit == true
    for(new v;v<MAX_VEHICLES;v++)
    {
    new datei[64];
    format(datei,sizeof(datei),"%d.veh",v);
    new Float:vehx, Float:vehy, Float:vehz, Float:veha;
    GetVehiclePos(v, vehx, vehy, vehz);
    GetVehicleZAngle(v, veha)
    if(!dini_Exists(datei))
    {


    dini_create(datei);
    dini_Int(datei, "Model", GetVehicleModel(v))
    dini_FloatSet(datei, "SavedX", vehx);
    dini_FloatSet(datei, "SavedY", vehy);
    dini_FloatSet(datei, "SavedZ", vehz);
    dini_FloatSet(datei, "SavedA", veha);


    }else
    {
    dini_FloatSet(datei, "SavedX", vehx);
    dini_FloatSet(datei, "SavedY", vehy);
    dini_FloatSet(datei, "SavedZ", vehz);
    dini_FloatSet(datei, "SavedA", veha);
    }


    }
    #endif
    #if saveexit == false
    for(new v;v<MAX_VEHICLES;v++)
    {
    new datei[64];
    format(datei,sizeof(datei),"%d.veh",v);
    new Float:vehx, Float:vehy, Float:vehz, Float:veha;
    GetVehiclePos(v, vehx, vehy, vehz);
    GetVehicleZAngle(v, veha)
    if(!dini_Exists(datei))
    {


    dini_create(datei);
    dini_Int(datei, "Model", GetVehicleModel(v))
    dini_FloatSet(datei, "lastX", vehx);
    dini_FloatSet(datei, "lastY", vehy);
    dini_FloatSet(datei, "lastZ", vehz);
    dini_FloatSet(datei, "lastA", veha);


    }else
    {
    dini_FloatSet(datei, "lastX", vehx);
    dini_FloatSet(datei, "lastY", vehy);
    dini_FloatSet(datei, "lastZ", vehz);
    dini_FloatSet(datei, "lastA", veha);
    }


    }
    #endif
    return 1;
    }
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/saveveh", true))
    {
    new playerState = GetPlayerState(killerid);
    if (playerState ==PLAYER_STATE_DRIVER)
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"CarSaver","Möchtest du das Fahrzeug indem du Sitzt speichern?","Close","")
    }else return SendClientMessage(playerid,0xFFFFFFFF,"Du musst im Fahrzeug sitzen");
    return 1;
    }
    return 0;
    }
    public OnVehicleSpawn(vehicleid)
    {
    new datei[64];
    format(datei,sizeof(datei),"%d.veh",vehicle);


    if(car[vehicleid][savedx]== "0"&&car[vehicleid][savedy]== "0"&&car[vehicleid][savedz]== "0")
    {

    SetVehiclePos(vehicleid,car[vehicleid][lastX],car[vehicleid][lasty],car[vehicleid][lastz]);
    SetVehicleZAngle(currentveh, car[vehicleid][lastA]);

    }else
    {

    SetVehiclePos(vehicleid,car[vehicleid][SavedX],car[vehicleid][savedy],car[vehicleid][savedz]);
    SetVehicleZAngle(currentveh, car[vehicleid][SavedA])


    }
    return 1;
    }
    public OnVehicleDeath(vehicleid)
    {
    GetVehiclePos(vehicleid,car[vehicleid][lastX],car[vehicleid][lasty],car[vehicleid][lastz]);
    GetVehicleZAngle(vehicleid,car[vehicleid][lastA]);
    return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==999)
    {
    if(response==0)return SendClientMessage(playerid,COLOR_WHITE,"Ok dann nicht!");
    if(responde==1)
    {
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    new datei[64];
    format(datei,sizeof(datei),"%d.veh",vehicle);
    new Float:vehx, Float:vehy, Float:vehz, Float:veha;
    GetVehiclePos(currentveh, vehx, vehy, vehz);
    GetVehicleZAngle(currentveh, veha)
    if(!dini_Exists(datei))
    {


    dini_create(datei);
    dini_Int(datei, "Model", GetVehicleModel(v))
    dini_FloatSet(datei, "SavedX", vehx);
    dini_FloatSet(datei, "SavedY", vehy);
    dini_FloatSet(datei, "SavedZ", vehz);
    dini_FloatSet(datei, "SavedA", veha);


    }else
    {
    dini_FloatSet(datei, "SavedX", vehx);
    dini_FloatSet(datei, "SavedY", vehy);
    dini_FloatSet(datei, "SavedZ", vehz);
    dini_FloatSet(datei, "SavedA", veha);
    }
    }
    }
    return 1;
    }


    2:Benutzt du einen ObjectStreamer?


    3:benutzt du ein LoginSystem?

  • Vielen dank für die schnelle und hilfreiche Antwort :D
    Werd es dan versuchen umzusetzen :)


    ich hab mal objekt streammer ge googelt soweit ichs versteh muss ich
    plugin runterladen dan im server reintun und dann im script reinschreiben
    und alle objects auf createdynamicobjekt endern oder ?


    ja ich hab ein login system jedoch speichert es nur geld nicknamen

  • nein, also kannst du machen musst du aber nicht.
    ich wollte eigentlich nur wissen ob du einen objectstreamer verwendest, weil das würde die verzögerung der tore erklären.


    Was auch sein kann ist dass du so viele objecte draif hast das der serber einfach nichtmher nachkommt. Benutzt du gemappte sachen also viele createobject? wenn ja dann wäre der einbau von einem streamer ratsam, ich kann aus erfahrung nur zu incognitos streamer plugin pledieren...


    mfg

  • Neein ich hab recht wenige Objekte und der server der ist nichtmal gehostet


    ich hab alles zu dynamic geändert jetzt sieht man die objekte scharf und deutlich


    danke nochmal :D


    jetzt wer ich mal den vehicle script ausprobieren O.o