Beiträge von Kaliber

    Alles was du dafür brauchst:

    GetPlayerWeapon und GetPlayerAmmo gibt dir das nur von der aktuellen Waffe, die der Spieler in der Hand hält.


    Wenn er das von einer Waffe machen will, die er nicht in der Hand hat, braucht er [wiki]GetPlayerWeaponData[/wiki] :)

    CJ Laufstyle

    Das geht leider nicht, da man das nur allen oder keinem geben kann xD


    Da musst du aber sehr genau schauen, wie du das ausbalancierst. So wie du es z.B. in deinem Beispiel beschrieben hast, würde keine Vampir werden wollen, sondern alle Werwölfe, da sie da keine Nachteile haben + Waffen Immunität. (extrem OP)


    Klar sind nur so Gedanken, aber musst halt aufpassen das sich das alles im Rahmen hält, ansonsten wird das schnell richtig behindert, denn es sind dann alle Werwölfe oder keiner will mehr spielen xD


    Aber ich finde das distanziert sich schon wieder viel zu krass, von der eigentlichen gta Welt. Da man, wenn man sowas hört richtig visuell denkt und wenn man dann nur sowas bekommt, ist man denke ich recht stark enttäuscht.


    Ich würde dir empfehlen, gerade wenn es um ein Apokalypse-Setting geht, eher dich in Richtung DayZ umzuschauen.
    Du musst überlegen, wie du Leute gruppierst, dann wie sie schnell handeln können oder sehr strategisch vorgehen können.


    Im Spoiler ist nur ein optinales fiktives Szenario, so wie ich mir sowas evtl vorstelle.


    Die wichtigere Frage ist doch, inwiefern willst du das umsetzen?


    Was verstehst du denn unter Vampirismus oder Hexerei?


    Was für Fähigkeiten soll er dann bekommen? Kann man ihn dann nur noch mit Silberkugeln töten, kann er fliegen oder sich gar in eine Fledermaus verwandeln?


    Das sollte alles etwas klarer spezifiziert werden, so salopp kann man dir da keine Antwort drauf geben meiner Meinung nach :)

    Ja, das hat dann aber nichts mit den Querys zu tun, sondern lediglich mit deinen Abfragen.


    Musst halt auch prüfen ob es abgeschleppt wurde und wenn dem so ist, dann erstellst du es erst gar nicht, sondern erst dann, wenn es abgeholt wird.

    Das Problem ist wen ich das Fahrzeug abgeschleppe zeigt er nichts im Log an.

    • Wie kommst du auf die 1 in mysql_log? Ich hab doch geschrieben, du sollst alles loggen. 1 entspricht nur den Fehlern, wir wollen aber alles wissen. (LOG_ALL entspricht dezimal betrachtet der 7 also wenn dann mysql_log(7)) aber nutz doch einfach das Makro ^^
    • Dafür gibt es eine separate Log Datei..die MySQL Log heißt..

    Du hast eine Variable jetzt vom Typ bool.


    Das heißt, du musst es nicht 0 setzen, sondern false.


    Vehicle[vehicleid][vehDestroyed] = false;


    Das wäre richtig :)


    und beim Laden gibt es hier keine spezifische bool Funktion, daher nutze einen Trick:


    PrivateVehicle[playerid][slot][vehDestroyed] = !!cache_get_field_content_int(0, "vehDestroyed");

    Schein gut zusein, was ist die Wirkung von _:

    _: entfernt den TAG einer Variable.


    Also zum Beispiel Float: oder bool: oder MySQL: wird entfernt und du erhälst den reinen Integer wert.


    Allerdings ist die Benutzung von _: in den seltesten Situationen wirklich sauber, man sollte da eher die richtigen Funktionen nutzen.


    Du beispielsweise nutzt cache_get_field_content_float für einen Integer Wert.


    Klar kannst du dann den Tag entfernen und kommst auf deinen Int, wow xD


    Man kann auch gleich die richtige Funktion nutzen und zwar: cache_get_field_content_int dann kann man sich dieses doppelte "casten" schenken.

    Da gibt es mehrere Möglichkeiten.


    • Du verwendest eine globale Variable wie z.B. new muteTargets[MAX_PLAYERS]; und dann weist du in deinem Command die so zu: muteTargets[playerid] = pID; und kannst dann immer darauf zugreifen. Problem hierbei ist natürlich, dass du permanent Speicher reservierst und dabei wahrscheinlich nur ganz kurz die Variable brauchst, kommt halt darauf an, wenn du damit ganz oft was machen willst und viele Zugriffe hast, dann ist diese Variante zu empfehlen, da sie schneller ist, als Variante zwei.
    • Denn hier nutzt du einfach ein PVar. Machst also einfach im Befehl SetPVarInt(playerid,"muteTarget",pID); und kannst dann im Dialog folgendes verwenden: new pID = GetPVarInt(playerid,"muteTarget");. Und das schöne dabei ist, sobald du fertig mit der Verwendung bist, kannst du den Speicher wieder freigeben, mit DeletePVar(playerid,"muteTarget");. Allerdings dauern hier die Zugriffe minimal länger, da unter anderem der String erst aufgelöst werden muss.

    Hoffe ich konnte dir helfen :)

    Hmm das sieht ja schon sehr merkwürdig aus :D


    Ich empfehle dir nochmal zu prüfen, ob Includes + Plugins zusammenpassen und dann nochmal die Skripte einzeln zu kompilieren mit den aktuellen Includes :)


    Als Test kannst du ja mal versuchen, das Skript ohne Filterscripts zu laden oder ohne das TDE Plugin, ich denke da könnte es vielleicht Probleme geben ^^

    Er öffnet glaube ich den Singleplayer anstatt den Multiplayer.

    Dann musst du die Kompatibilität von deiner gta_sa.exe auf z.B. Windows 7 oder Windows XP 3 setzen.


    Von SA:MP keine Kompatibilität setzen.


    Und anschließend SA:MP als Admin starten, das sollte eigentlich funktionieren :)