Beiträge von Dudalus

    Hallo


    Hau mal in OnPlayerDisconnect() ein paar printfs() rein, um zu schauen wie weit er kommt und dann kannst Du nach und nach den Fehler eingrenzen. Ich geh aber davon aus, dass Du nur die kompilierte .amx hast und nicht den Sourcecode ?

    Hallo


    Ah jetzt ist der Sinn schon ganz anderst, dass ist eine "Abbruchfunktion" wegen einem zu kurzen Passwort (Ich dachte Du fragst ab, ob das Passwort länger als 4 ist und registirerst dann, wenn es kürzer als 4 ist kommt ein else Block, es ist aber so das Du den Dialog nochmals öffnet wenn es zu kurz ist).


    Mach aus

    Code
    if(strlen(inputtext) >= 4)


    bitte

    Code
    if(strlen(inputtext) <= 4)


    Ansonsten kannst Du dich nur mit einem Passwort kürzer als 4 registrieren

    Hi


    Zeig mal die Funktion/Codeblock wo die DialogID gehandhabt wird. Meines Wissens darf man zudem nicht 2 Mal diesselbe DialogID verwenden, mach also aus dem 2.Dialog die 14601


    Registrierungsaufforderung: 14600
    Handhabund des Dialogs: 14601 oder Aufruf des Dialogs ausserhalb von 14600

    Hallo


    Sollen die Fahrzeuge garnicht mehr neu spawnen oder immer an der Stelle wo sie vor dem Respawnen standen (Schlussendlich läuft das aufs gleiche hinaus). Entweder kannst Du die Respawnzeit sehr hoch setzen oder Du verwendest Koordinaten. Weiss nicht mehr ob ein Intervall Respawn von Fahrzeugen OnVehicleDeath() aufruft, wenn ja, kannst Du dort die Koordinaten nehmen und bei OnVehicleSpawn SetVehiclePos benützen und das Fahrzeug zur "Todesposition" zurück teleportieren.


    Bessere Lösung ist jedenfalls eine höhe Respawntime zu nehmen, aber dann stehen dir mit der Zeit alle Fahrzeuge rum. Das wäe aber per Timer und Hochcounten der unbenutzten Zeit verhinderbar.


    Gruss

    Hallo


    Ein boolscher Wert kann 2 Zustände haben: true und false. Was anderes in Form eines Integer/Zahl gibt es nicht. Entweder Du änderst den datentyp der Variable in einen Integer (also bool: weg) oder Du verwendest nur boolsche Werte.


    Gruss

    @TheFreak man könnte die Namen doch auch per Cronjob immer auf die Blacklist für Usernamen hauen (WBB intern)?


    b2t
    Wahrscheinlich werden dann gewisse Threads zerissen, da der Account vom Usernamen, welcher evt. Threadstarter ist gelöscht wird. Evt erscheint dieser Beitrag dann von einem Gast oder wenn er mitgelöscht wird, ist er weg, was kontextmässig unpassend ist.


    Gruss

    Hallo


    Sorry hab letztens vor nem halben Jahr in Pawn programmiert, hoffe keine C Fehler gemacht zu haben. Hier eine mögliche Version (Beachte bitte Falloff, sprich den Hinweis oben). Aus dem Kopf:



    Gruss

    Hi


    Dafür gibts ein nettes Callback: http://wiki.sa-mp.com/wiki/OnPlayerExitVehicle, jedoch mit dem Verweis:


    Zitat

    Important Note: Not called if the player falls off a bike or is removed from a vehicle by other means such as using SetPlayerPos. You must use OnPlayerStateChange and check if their old state is PLAYER_STATE_DRIVER or PLAYER_STATE_PASSENGER.


    Erstell einen Befehl welcher ein Fahrzeug als Fahrzeugadmin markiert (GLobales Array für MAX_VEHICLES) und setzt dort einen Wert, kannst ja den Datentyp bool nehmen, Beim Verlassen fragste mithilfe der playerid und der vehicleid ab, ob es sich um einen Admin und ein Adminfahrzeug handelt, löscht das fahrzeug und resettest den Wert im Array.


    Gruss

    Hallo



    Der Feuerlöscher hat Munition:


    Code
    GivePlayerWeapon(playerid, 42, 9999)


    Sollte das so nicht gehen ?


    Gruss


    Edit
    Als mögliche Stellen könnten OnPlayerSpawn oder die Duty Funktion in Frage kommen

    Hallo


    Also grob wie folgt:


    1.) Du benötigst ein Befehlssystem und ein Parametersplitter. Empfehlenswert sind folgende Tutorials:


    [ SCRIPTING ] Commands mit Parametern
    [ SCRIPTING ] sscanf 2.0


    2.) Jetzt scriptest Du einen Befehl, mit welchem der Spieler seine DM Gruppe auswählen kann. Hierfür verwendest Du eine "Globale Variable", also ein Array mit der Grösse MAX_PLAYER(S) (Array --> Google)
    3.) Du schreibst eine Funktion die bei diesem Befehl aufgerufen wird und denn Spieler an die bestimmte Position setzt (je nach ID/Wert)
    4.) Diese Funktion rufst Du auch auf, wenn OnPlayerSpawn() aufgerufen wird und sich der Spieler im DM befindet - so vermeidest Du doppelten Code


    Nebenbei sei dir besonders erwähnt, dass dir nichts in den Mund geflogen kommt. Tönt zwar hart, ist aber so. Selber lernen ist Gold wert.


    Gruss

    Hallo


    Mit ID meinte ich einen Wert, welcher vom Spieler sagt, zu welchem Team gehört. Du machst zB einen Befehl , mit welchem man sein Team auswählen kann. Einen Wert deklarieren und 0 zuweisen wird immer in case 0 enden.


    Gruss

    Hallo


    Je nach Gruppe hat diese Person eine ID (Polizei, Terrorist etc.). Du kannst dann unter OnPlayerSpawn() die Funktion SetPlayerPos() verwenden und denn Spieler an Position XYZ portieren.


    http://wiki.sa-mp.com/wiki/OnPlayerSpawn
    http://wiki.sa-mp.com/wiki/SetPlayerPos



    Gruss


    Edit:
    Du kannst optional noch SetPlayerSkin, GivePlayerWeapon und SetPlayerArmour benutzen, um das ganze realistischer zu machen

    Hallo


    Ja, frag einfach ab, was für einen Wert GET hat, dann kannst Du zB ein Template öffnen, dort nach einem String suchen, diesen mit deinem Wunschinhalt ersetzten und das ganze per echo laden, kann dir sonst am Montag mal ein Beispiel schicken ;)


    Mach dir zudem eine Styledatei, welche Du per include ladne kannst


    Gruss Simon