Beiträge von Skynox

    Hallo Leute,


    ich bin noch recht neu bei GTA:N und probiere noch rum. Wo ich jetzt garnicht weiter komme, ich wollte ein Fraktionschat machen, leider schlägt das
    mit der Schleife immer fehl. Kann hier irgend jemand ein Beispiel posten? Wie ich ne Schleife mit Max_Players und so mache?


    MfG

    HI Leute,


    folgendes Problem: Ich hab ein Blitzer System geschrieben. Es funktioniert soweit auch. Man wird geblitzt, die Dinger laden und speichern auch alles super. Aber es gibt immer einen Blitzer der wird an
    den Koordinaten 0.0,0.0,0.0 erstellt. Ich hab das mal getestet, ob wenn ich alle erstellten Blitzer lösche der dann auch weg ist. Negativ, der wird auch erstellt wenn ich gar keine Blitzer erstellt habe
    die gespeichert wurden. Von anderen System bzw Objekten (Map) kann das nicht sein, da ich die Objekte nur in diesem Blitzer System verwende.


    stock SaveBlitzer()
    {
    new Datei[64];
    for(new i; i < MAX_BLITZER; i++)
    {
    format(Datei,sizeof(Datei),"/Blitzer/%d.txt",i);
    dini_IntSet(Datei,"ID",Blitzer[i][ID]);
    dini_IntSet(Datei,"Radius",Blitzer[i][Radius]);
    dini_IntSet(Datei,"Strafe",Blitzer[i][Strafe]);
    dini_IntSet(Datei,"Erstellt",Blitzer[i][Erstellt]);
    dini_IntSet(Datei,"Geschwindigkeit",Blitzer[i][Geschw]);
    dini_FloatSet(Datei,"Xpos",Blitzer[i][xpos]);
    dini_FloatSet(Datei,"Ypos",Blitzer[i][ypos]);
    dini_FloatSet(Datei,"Zpos",Blitzer[i][zpos]);
    dini_FloatSet(Datei,"Apos",Blitzer[i][apos]);
    dini_IntSet(Datei,"Objekt",Blitzer[i][Objekt]);
    dini_Set(Datei,"Aufsteller",Blitzer[i][Aufsteller]);
    }
    return 1;
    }
    stock LoadBlitzer()
    {
    new Spielerdatei[64];
    for(new i=0; i < MAX_BLITZER; i++)
    {
    format(Spielerdatei,sizeof(Spielerdatei),"/Blitzer/%d.txt",i);
    format(Blitzer[i][Aufsteller], 25, dini_Get(Spielerdatei,"Aufsteller"));
    Blitzer[i][ID] = dini_Int(Spielerdatei,"ID");
    Blitzer[i][Radius] = dini_Int(Spielerdatei,"Radius");
    Blitzer[i][Strafe] = dini_Int(Spielerdatei,"Strafe");
    Blitzer[i][Erstellt] = dini_Int(Spielerdatei,"Erstellt");
    Blitzer[i][Geschw] = dini_Int(Spielerdatei,"Geschwindigkeit");
    Blitzer[i][xpos] = dini_Float(Spielerdatei,"Xpos");
    Blitzer[i][ypos] = dini_Float(Spielerdatei,"Ypos");
    Blitzer[i][zpos] = dini_Float(Spielerdatei,"Zpos");
    Blitzer[i][apos] = dini_Float(Spielerdatei,"Apos");
    Blitzer[i][Objekt] = CreateObject(18880,Blitzer[i][xpos]+1,Blitzer[i][ypos]+1,Blitzer[i][zpos]-2,0.0,0.0,Blitzer[i][apos],400);
    }
    return 1;
    }


    Habe ich vllt bei der LoadBlitzer(); Funktion irgendwas falsch?


    MfG

    Okay das ist schonmal ein großer hilfreicher Schritt. meine nächste Frage wäre: Wenn der Spieler jetzt dahin kommt und dort z.B. eine M4 liegt als Object. Wie kann das dann
    in einem DIALOG_STYLE_LIST angezeigt werden was da liegt?

    Juten Tag liebe Fische,


    ich arbeite gerade aus Langeweile an einem Survival Script, also richtig mit überleben, verhungern etc. Jetzt möchte ich, dass auf dem Server Items Spawnen an z.B. Haustüren etc. Leider fehlt mir der Ansatz wie ich das
    umsetzen soll. Ich hab mir das so vorgestellt wie bei DayZ, dass da immer Random nur Essen oder nur Waffen oder Munition oder alles gemischt Spawnt und wenn der Spieler in der Nähe solcher Items ist er die auch
    aufheben kann. Kann mir da jemand Starthilfe geben? :D Wäre echt super!


    MfG


    Skynox

    Hey Leute,


    ich benutze ein GF Script mit den meisten Standard Befehlen. Nach einiger Zeit wenn man Objekte erstellt und gelöscht hat werden keine Objekte mehr erstellt. Weder Feuer (Feuersystem) noch die /arb Objekte.
    Also so als würde CreateObject deaktiviert werden. Ich hab schon in der stream rate und was weiß ich nicht was geguckt ich weiß nicht woran es liegen könnte. Vorher hats funktioniert. Ich hab an diesen Befehlen
    nicht gemacht und aufeinmal gehts nicht mehr.


    MfG

    Das wäre dann meine nächste Antwort gewesen, dass es an irgendetwas am existierenden Code liegt, da das blockiert.Gut, dass es klappt!


    Könntest du uns die Include noch nennen, falls mal wieder jemand dieses Problem hat? Wäre super!

    Die Include heißt: GVNP


    Und das ist der Code der die Include beinhaltet:


    /*
    GetVehiclePlate by !TheO
    */


    new
    Plate[MAX_VEHICLES][24];


    native __SetVehicleNumberPlate(vehicleid, numberplate[]) = SetVehicleNumberPlate;


    stock _SetVehicleNumberPlate(vehicleid, numberplate[])
    {
    format(Plate[vehicleid],24, "%s", numberplate);
    return 1;
    }



    #if defined _ALS_SetVehicleNumberPlate
    #undef SetVehicleNumberPlate
    #else
    #define _ALS_SetVehicleNumberPlate
    #endif
    #define SetVehicleNumberPlate _SetVehicleNumberPlate


    stock GetVehicleNumberPlate(vehicleid)
    {
    return Plate[vehicleid];
    }

    Lade dir mal den neusten Server von der SA-MP Seite runter und starte den mit einem leeren Gamemode.
    Füge dann nur als einfachen Test-Befehl das ein:
    new carid = CreateVehicle(400,x,y,z,a,-1,-1,-1);SetVehicleNumberPlate(carid,"Test");


    Bei x,y,z,a trägst du irgendwelche existierenden Koordinaten ein, in der Nähe wo du spawnst (/save).


    Geht es dann?

    Ja das funktioniert


    //Edit


    Problem Gelöst! Es lag an einer Include die die Funktion GetVehicleNumberPlate enthält. Ich hab die Include aus den SAMP Forums. Jetzt habe ich die entfernt und alle
    Nummernschilder werden gesetzt.


    Danke an alle für eure Hilfe ^^


    MfG

    Habs versucht, geht immer noch nicht, langsam verzweifle ich....


    http://www.pic-upload.de/view-32587550/sa-mp-041.png.html


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == AUTOHAUS)
    {
    if(response == 0)
    {
    RemovePlayerFromVehicle(playerid);
    }
    if(response == 1)
    {
    new vehicleid = GetPlayerVehicleID(playerid),str[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,CarInfo[vehicleid][Model]);
    if(dini_Exists(str))return SendClientMessage(playerid,Weiss,"Dieses Fahrzeug Model besitzt du bereits.");
    if(SpielerInfo[playerid][pOwnCars] > 1)return SendClientMessage(playerid,Weiss,"Du kannst nicht mehr als 2 Fahrzeuge besitzen.");//Nur 2 Fahrzeuge
    SendClientMessage(playerid,Orange,"Du hast den Wagen gekauft.");
    RemovePlayerFromVehicle(playerid);
    CreatePlayerCar(playerid,CarInfo[vehicleid][Model],1,1,1263.2650,-2029.6702,59.3266,181.0644);
    if(CarInfo[vehicleid][Autohaus] == 0) { AutoKasse0 += 10; }//Anpassen
    if(CarInfo[vehicleid][Autohaus] == 1) { AutoKasse1 += 10; }//Anpassen
    if(CarInfo[vehicleid][Autohaus] == 2) { AutoKasse2 += 10; }//Anpassen
    }
    }
    return 1;
    }


    stock CreatePlayerCar(playerid,model,color1,color2,Float:x,Float:y,Float:z,Float:a)
    {
    new str[56],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);
    SetVehicleNumberPlate(carid,name);
    SetVehicleToRespawn(carid);
    SpielerInfo[playerid][pOwnCars] ++;
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,model);
    dini_Create(str);
    dini_IntSet(str, "Model", model);
    dini_FloatSet(str, "F_X", x);
    dini_FloatSet(str, "F_Y", y);
    dini_FloatSet(str, "F_Z", z);
    dini_FloatSet(str, "F_A", a);
    dini_Set(str, "Kennzeichen",name);
    dini_IntSet(str, "Farbe1", color1);
    dini_IntSet(str, "Farbe2", color2);
    SetTimerEx("RespawnCar", 1000, false, "d", carid);
    return 1;
    }

    Dann versuche es mal so:
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);SetVehicleNumberPlate(carid, name);
    Zu
    new carid;SetVehicleNumberPlate((carid = CreateVehicle(model,x,y,z,a,color1,color2,-1)), name);

    Hab ich gemacht, das Fahrzeug spawnt, aber immer noch diese XYZ Kennzeichen.. :( Jetzt habe ich es wieder so:


    stock CreatePlayerCar(playerid,model,color1,color2,Float:x,Float:y,Float:z,Float:a)
    {
    new str[56],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);
    SetVehicleNumberPlate(carid,name);
    SetVehicleToRespawn(carid);
    SpielerInfo[playerid][pOwnCars] ++;
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,model);
    dini_Create(str);
    dini_IntSet(str, "Model", model);
    dini_FloatSet(str, "F_X", x);
    dini_FloatSet(str, "F_Y", y);
    dini_FloatSet(str, "F_Z", z);
    dini_FloatSet(str, "F_A", a);
    dini_Set(str, "Kennzeichen",name);
    dini_IntSet(str, "Farbe1", color1);
    dini_IntSet(str, "Farbe2", color2);
    Owner = name;
    return 1;
    }


    //Edit: Da mir hier sonst keiner weiterhilft... -.- Habe ich mal bisschen rumgeforscht und herausgefunden dass er SetVehicleToRespawn garnicht ausführt. Der Name wird sogar in der Dini
    etc gespeichert aber das Fahrzeug wird einfach nicht respawnt, als ob er carid nicht erkennen würde...

    Hey Leute, ich sitze an einem eigenen System. Ich bin soweit gut voran gekommen. Nur was ich nicht verstehe, das Nummernschild wird nicht gesetzt.
    Das steht immer noch dieses XYZ... wenn ich das Fahrzeug erstelle.
    Hoffe jemand kann helfen.


    stock CreatePlayerCar(playerid,model,color1,color2,Float:x,Float:y,Float:z,Float:a)
    {
    new str[56],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);
    SetVehicleNumberPlate(carid, name);
    SpielerInfo[playerid][pOwnCars] ++;
    format(str,sizeof(str),"%s",name);
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,model);
    dini_Create(str);
    dini_IntSet(str, "Model", model);
    dini_FloatSet(str, "F_X", x);
    dini_FloatSet(str, "F_Y", y);
    dini_FloatSet(str, "F_Z", z);
    dini_FloatSet(str, "F_A", a);
    dini_Set(str, "Kennzeichen",name);
    dini_IntSet(str, "Farbe1", color1);
    dini_IntSet(str, "Farbe2", color2);
    return 1;
    }

    Also um anderen zu helfen die das selbe Problem haben: Ich hab das PickUp durch einen Totenkopf ersetzt, da ich zuvor eine Pille hatte.
    Danach hat es normal funktioniert.


    MfG

    Hey leute,


    ich hab ein ganz normales GF und irgendwie immer wenn ein Spieler stirbt (egal wie) crasht der User daneben. Kann das vllt an SpawnPlayer oder etwas liegen?


    //#############################################[ Wiederbelebung ]#########################################
    if(PlayerInfo[playerid][pLevel] >= 1 && KHSperre[playerid] == 0 && PlayerChallenge[playerid] == 0 && PlayerInfo[playerid][pPriCP] == 0 && PlayerInLVArena[playerid] == 0 && PlayerInLSArena[playerid] == 0 && PlayerInfo[playerid][pJailed] == 0 && EventDuty[playerid] == 0 && PlayerInfo[playerid][pGangJailed] == 0 && gangfightkill[playerid] == 0 && AdminDuty[playerid] == 0 && PlayerInfo[playerid][pTot] == 0 && gangfightkill[playerid] == 0)
    {
    PlayerInfo[playerid][pTot] = 1;
    new Float:pX,Float:pY,Float:pZ,playaname[MAX_PLAYER_NAME],str[64];
    GetPlayerName(playerid,playaname,sizeof(playaname));
    GetPlayerPos(playerid, pX, pY, pZ);
    KadaverX[playerid] = pX;
    KadaverY[playerid] = pY;
    KadaverZ[playerid] = pZ;
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerCameraPos(playerid,1521.2195,-1613.5698,27.4405);
    SetPlayerPos(playerid,1493.0571,-1565.8458,-6.4895);
    SetPlayerCameraLookAt(playerid,1519.4076,-1582.1859,21.6170);
    TotenKopf[playerid] = CreateDynamicPickup(1241,1, pX, pY, pZ);
    format(str,sizeof(str),"%s [ID: %d]",playaname,playerid);
    TotenLabel[playerid] = Create3DTextLabel(str,COLOR_LIGHTRED,pX, pY, pZ,10.0,0,0);
    SetPlayerHealth(playerid,5);
    SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
    Totentimer[playerid] = SetTimerEx("DeleteTotenkopf",181000,false,"i",playerid);
    TodTimer[playerid] = SetTimerEx("NachBehandlung2",180000,false,"i",playerid);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"[Krankenhaus]: {FFFFFF}Du bist in Ohnmacht gefallen und wurdest ins Krankenhaus gebracht.");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"[Krankenhaus]: {FFFFFF}Du ruhst dich nun 3 Minuten aus.");
    FreezePlayer(playerid);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerInFrac(i,4) && PlayerInfo[i][pTot] == 0 && OnDuty[i] == 1 || FOnDuty[i] == 1)
    {
    SendClientMessage(i,COLOR_DBLUE,"[HQ]: {FFFFFF}Wir haben einen neuen Notruf!");
    SendClientMessage(i,COLOR_DBLUE,"[HQ]: {FFFFFF}Koordinaten werden auf das Navi übertragen.(/opfer)");
    }
    }
    }
    else
    {
    SpawnPlayer(playerid);
    }
    //##########################################################################################################


    MfG