[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • @N1co es wird ja geladen aber nicht auf dem richtigen array gespeichert, @Jeffry könntest du mir vielleicht helfen? Würde gerne Fahrzeuge aus der Datenbank laden und dann ganz einfach bei befehlen abfragen, ich weiß aber nicht wie:


    SA:MP in 2020?

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Mach einfach im Fahrzeugenum einen neuen Eintrag, den du z.B. carSID = carserverid nennst.
    Den verwendest du dann so:



    Vehicle[i][carSID] = CreateVehicle(Vehicle[i][fModel],Vehicle[i][fSposX],Vehicle[i][fSposY],Vehicle[i][fSposZ],Vehicle[i][fSposO],Vehicle[i][fColor1],Vehicle[i][fColor2], CAR_RESPAWN_TIME,Vehicle[i][fSirene]);
    //Da CreateVehicle die Server Auto ID wiedergibt, kannst du sie so einfach verwenden, da sie in Vehicle[i][carSID] nun gespeichert ist.
    //Mit Vehicle[xy[carSID] kannst du es dann überall benutzen.


    Oder reden wir immer noch aneinander vorbei?

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Falls du mir schon vorher geantwortet hast, tut mir leid, muss ich wohl übersehen haben. Bins eigentlicht gewohnt eine Nachricht wegen "Zitat" oder Markierung zu kriegen.. ^^


    Ich verstehe aber nicht ganz wie ich das später anwenden soll, ich habe ja verstanden wie du es meinst, aber um an Ende dann mit dem Array [î] auch einstimmig zu sein, muss ich ja jedes mal eine Schleife machen die die rows aufzählt und dann von jeder Car ID die carSID überprüft, dies habe ich versucht aber es kamen mehrere Errors, könntest du mir ein Beispiel zeigen wie ich das anwende?

    SA:MP in 2020?

  • Was möchtest du denn dann mit der ID des Autos machen? Frage ich mal so, kann ich vielleicht ein besseres Beispiel zeigen.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Beispiel:


    befehl: /motor (bla bla unwichtig)
    if(HasKeys)
    SetEngineState(true) oder was auch immer ^^.
    Problem ist, durch den Array [î] was eigentlich die Row nummer ist bei dem LoadVehs, funktioniert das natürlich so nicht.

    SA:MP in 2020?

  • Probiere es mal so:



    if(strcmp(cmd, "/motor", true) == 0)
    {
    new carID = GetPlayerVehicleID(playerid);
    for(new i = 0; i < sizeof(Vehicle); i++)
    {
    if(!Vehicle[i][carSID])continue; // Oder wie auch immer du es nun genannt hast.
    if(!Vehicle[i][carSID] != carID)continue;
    if(Vehicle[i][fFrak] == PlayerInfo[playerid][frak]) //Die ID der Fraktion eintragen.
    {
    if(PlayerInfo[playerid][frak] != FRAKID)) //Die ID der Fraktion eintragen, die das Fahrzeug benutzen darf.
    {
    SendClientMessage(playerid, ROT, "Du hast keine Schlüssel.");
    break;
    }
    else
    {
    /* Hier jetzt Motor anschalten (Get- & SetVehicleParamsEx) */
    }
    }
    }
    return 1;
    }

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • sieht gut aus, hab da noch ne frage zu SEtVehicleParams,


    Wenn ich jetzt den motor an mache, muss ich dann jedes mal fragen, damit ich beim /motor den Lichstatus nicht beeinflusse:


    Code
    if(GetVehicleParamsEx(vehicleid, false, true, false, false, false, false, false))
    { SetVehicleParamsEx(vehicleid, true, true, false, false, false, false, false)) }
    if(GetVehicleParamsEx(vehicleid, false, false, false, false, false, false, false))
    { SetVehicleParamsEx(vehicleid, true, false, false, false, false, false, false)) }

    SA:MP in 2020?

  • "Parameters:


    (vehicleid, &engine, &lights, &alarm, &doors, &bonnet, &boot, &objective)"


    Du musst als erstes mal die Variablen erstellen dafür:



    new tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective;
    //Können beliebig geändert werden (Namen)
    //So benutzt du es dann:
    GetVehicleParamsEx(carid,tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective);
    //So werden die Variablen damit befüllt und du kannst sie beliebig ändern. So benutzt du es:


    if(tmp_engine==1)
    {
    tmp_engine=0;
    }
    else
    {
    tmp_engine=1;
    }
    SetVehicleParamsEx(carid,tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective);

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hey ich habe 2 kleine Anliegen
    1 warum sieht man mein Namen immernoch ?



    2 Warum steht bei mir nur das er Aktiviert wurde und bei wem anderes nur das er ausgemacht wurde ?



    @Jeffry:

  • Hallo,


    ich habe eine kurze Frage, bei der Funktion TogglePlayerSpectating kann es sein das man gekickt wird?
    Habe bei RequestClass eingeschaltet, damit die Spawnbuttons sich entfernen.
    Sobald die Playerdaten geladen wurden habe ich dies auf false gesetzt und werde gekickt.



    Code:

    Code
    public OnPlayerRequestClass(playerid, classid)
    {
        TogglePlayerSpectating(playerid, true);
        return 1;
    }

    Ich verstehe nicht warum ich gekickt werde :o
    Kann mir einer Helfen?

  • Wird in der console was ausgegeben ?

    nein nichts...
    Füge mal paar prints ein, habe wirklich alle Kick funktionen erstmal rausgenommen um sicher zu gehen :D



    //Edit:
    @reaL.
    Versuch mal dies so zu ändern:

    Code
    if(Masked[playerid] == true)
    {
         ShowPlayerNameTagForPlayer(playerid, i, 1);
         SendClientMessage(playerid,BLAU,"Du hast deine Maske abgesetzt.");
    }


    Außerdem kannst du auch beim Callback OnPlayerStreamIn folgendes eintragen:



    Code
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    	if(Maske[playerid] == true)
    	{
    	    ShowPlayerNameTagForPlayer(forplayerid, playerid, 0);
    	}
    	return 1;
    }
  • Benutze:

    Code
    SetPlayerMarkerForPlayer( i, playerid, 0xFFFFFF00 );


    Und probier mal:


    Einmal editiert, zuletzt von N1co ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen