Driveby System

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 Leute


    Ich habe mich an einen driveby system versucht.
    Leider funktioniert es nicht


    Ich hoffe mir kann Jemand weiterhelfen.
    Oder gibt es eine andere Möglichkeit?



  • if(gun != 28 || gun != 29 || gun != 32 || gun != 31)Du musst jeweils statt || die Zeichen && verwenden.

    Leider ändert es nichts.

  • Wenn ich mit g in ein Fahrzeug steige verschwindet die Waffe die als Driveby verwendet werden soll.

  • Leider geht es immer noch nicht. So sieht es jetzt aus.

    C
    if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
    	new gun,tmpaa;
       	GetPlayerWeaponData(playerid,4,gun,tmpaa);
        	#pragma unused tmpaa
    	if(gun != 28 && gun != 29 && gun != 32 && gun != 31)
    	return   SetPlayerArmedWeapon(playerid,0);
    }
  • Machs doch einfach so:

    C
    if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
        new gun,ammo;
        GetPlayerWeaponData(playerid,4,gun,ammo);
        if(gun > 0 && ammo > 0) SetPlayerArmedWeapon(playerid,0);
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Machs doch einfach so:

    Genau das will er ja nicht.



    Wenn ich mit g in ein Fahrzeug steige verschwindet die Waffe die als Driveby verwendet werden soll.

    Versuche es so:
    if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
    new gun = GetPlayerWeapon(playerid);
    if(gun != 28 && gun != 29 && gun != 32 && gun != 31) SetPlayerArmedWeapon(playerid,0);
    }
    Falls das auch nicht geht, lasse dir mit einem print mal die Waffe ausgeben:
    printf("gun: %d", gun);

  • Genau das will er ja nicht.

    Oh, also er will drive-by nutzen.


    Dann macht der Code doch erst recht keinen Sinn, da es anscheinend ein Include bereits gibt (oder so code) der dafür sorgt, dass die Waffen entzogen werden.


    Denn standardmäßig ist drive-by ja möglich :)


    Da muss er einfach nur den Code finden (evtl in einem Anti-Cheat system) und das entfernen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Oh, also er will drive-by nutzen.

    Auch das nur nicht komplett, sondern nur wenn die weaponid eine der vier genannten ist.



    da es anscheinend ein Include bereits gibt (oder so code) der dafür sorgt, dass die Waffen entzogen werden.

    Das kann durchaus sein, es kann aber auch sein, dass GetPlayerWeaponData (was bekanntermaßen ja nicht immer richtig funktioniert) einen falschen Wert zurückgibt.
    Einfach mal abwarten, was der Debug Print ausgibt.

  • geht immer noch nicht quasi immer noch WERT 0

    C: PAWN
    {
    		new weapons, ammo;
    		new gun = GetPlayerWeaponData(playerid, 4, weapons, ammo);
    		if(gun != 28 && gun != 29 && gun != 32 && gun != 31)
    	 	{
    			SetPlayerArmedWeapon(playerid,0);
    			printf("gun: %d", gun);
    		}
    	}
  • LaTeX: Server.log
    [19:39:11] gun: 0

    Problem besteht trotzdem

  • Wenn ich mit einer Mp5 oder AK etc mit g in ein Fahrzeug einsteige, wird der Waffenslot auf 0 Gesetzt Quasi Faust.


    Wenn ich wieder aussteige sind sie wieder da logisch

  • Die AK47 ist im Slot 5, daher würde das damit nicht gehen.


    Mit der MP5 sollte es klappen. Hast du vielleicht noch einen anderen Code bei OnPlayerStateChange, der die Waffe beim Einsteigen in das Fahrzeug zur Faust setzt? Eventuell in einem Filterscript?

  • Nein habe ich geschaut, ich muss dazu sagen, dass ich die Version 0.3.8 verwende