Beiträge von Robert

    Hallo Leute,


    ich habe aufgrund von Azure's Include also das Tuning System bzw die erleichterung habe ich noch vom ähnlichen Prinzip eine eigene geschrieben.
    Hier ist der Pastebin: http://pastebin.com/RpGis4pP


    [tabmenu]


    [tab='Vorhande Funktionen']
    [subtab='Befehle']

    stock AddWheels(vehicleid,rad[])
    stock AddNitro(vehicleid,nos[])
    stock AddAuspuff(vehicleid,typ[])
    stock AddHydraulik(vehicleid)
    stock AddSpoiler(vehicleid,spoiler[])

    [subtab='Einzelheiten']
    Räder:
    shadow
    mega
    rimshine
    wires
    classic
    twist
    cutter
    switch
    grove
    import
    dollar
    trance
    atomic
    ahab
    virtual
    access


    Nitro:
    2x,5x,10x


    Auspuff: ( Bisher nur die Standart d.h. nicht für besondere tuning's wie Charmin etc )
    upswept
    twin
    large
    medium
    small


    Spoiler: ( Bisher nur alle für X-Flow&Alien [ Also Sultan etc ] )
    x-flow
    alien
    [tab='Vorgesehene Updates']
    - Alle Spoiler einbauen die existieren
    - Alle Auspuffe einbauen
    - Alle Front sowie Rear Bumper einbauen ( Stoßstangen )
    - Alle Sideskirts ( Seitenteile ) einbauen
    - Alle Lampen
    - Alle Hoods & Roof Sachen einbauen
    [tab='Beispiel Verwendung']
    [subtab='Räder']

    dcmd_tunewheels(playerid,params[])
    {
    new rad[8];
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"Du bist in keinem Fahrzeug");
    if(sscanf(params,"s",rad)) {
    SendClientMessage(playerid,COLOR_WHITE,"Räder aufgelistet .... ");
    return SendClientMessage(playerid,COLOR_WHITE,"Befehl: /tunewheels [Rad]"); }
    AddWheels(GetPlayerVehicleID(playerid),rad);
    }

    [/tabmenu]



    Ich hoffe es hilft euch weiter.
    Fragen oder Probleme einfach im Thread schreiben oder über eine Private Nachricht.


    Mit freundlichen Grüßen,


    SpySpy

    Du könntest jeweils immer 3 Zahlen benutzen.
    Also so:


    new string[100];
    format(string,sizeof(string),"%i.%i.%i",Zahl1,zahl2,zahl3);

    Dadrüber habe ich auch bereits nachgedacht aber ich weiß nicht was man berechnen muss bzw nicht mit welcher Formel um diese Zahlen rauszubekommen.


    Valstr
    strlen
    strins


    Damit sollte man schon relativ weit kommen.

    Eine kleine Erklärung wäre mir lieb da ich mit Valstr mit garnichts vorstellen kann grade.

    Hallo,


    erstmal Sorry das der Titel nicht eindeutig ist aber mir ist nicht bekannt wie man dies sonst nennen sollte. Ich meine das Geld so angezeigt wird:

    Halt ab 1000 mit einem Punkt zwischen den Berreich. - Mir reicht es auch aus wenn mir gesagt wird mit welchen Befehlen gearbeitet werden muss und was ungefähr gemacht werden muss.
    Danke im vorraus !


    MfG

    Hier ist ein kleiner Fehler :

    public OnPlayerDisconnect(playerid
    {
    pCar[playerid] = INVALID_VEHICLE_ID; // Das muss eine Zeile runter
    DestroyVehicle(pCar[playerid]);
    return 1;
    }



    Ansonsten wird das pCar[playerid] nicht gelöscht^^ also das damit verlinkte Fahrzeug

    So sollte es gehen:

    public CheckGas()
    {
    new string[256];
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
    {
    new vehicle = GetPlayerVehicleID(i);
    if(Gas[vehicle] >= 1)
    {
    if(IsAPlane(vehicle) || IsABoat(vehicle)) { }
    else {
    if(Gas[vehicle] <= 10) { PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0); }
    if(gGas[i] == 1) {
    format(string, sizeof(string), "",Gas[vehicle]);
    GameTextForPlayer(i,string,15500,3); }
    Gas[vehicle]--;
    }
    }
    else
    {
    NoFuel[i] = 1;
    TogglePlayerControllable(i, 0);
    GameTextForPlayer(i,"~w~~n~~n~~n~~n~~n~~n~~n~~n~Kein Treibstoff im Fahrzeug~n~Benutze /exit",1500,3);
    }
    }
    }
    }
    return 1;
    }


    Hoffe es klappt so ist ungetestet.


    MfG

    [pwn='Ungetestet']
    // Zu deinen New's
    new Orten[MAX_PLAYERS],ortentimer;


    // Zu Gamemodeinit
    SetTimer("Orte",2000,1); // das wären alle 2 sekunden ( optional umstellen )


    //======== ORTEN ==========//
    if(strcmp(cmd, "/orten", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(Orten[playerid] == 1) {
    KillTimer(ortentimer);
    SendClientMessage(playerid,COLOR_GREY,"Du hast das Orten beendet.");
    return 1;
    }
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    Orten[playerid] = giveplayerid;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
    }
    }
    return 1;
    }

    forward Orte();
    public Orte()
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(Orten[i] == 1) {
    #define giveplayerid Orten[i]
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(i, X,Y,Z, 6);
    #undef giveplayerid
    }
    }
    return 1;
    }
    [/pwn]
    Alles ungetestet


    Ich hoffe es funktioniert dennoch.


    Mfg

    Frage zum Decrypton: Was ist das überhaupt ? Vielleicht bin ich ganz blöd aber mich interessiert grade was das ist. Ich hoffe diese Frage ist genehmigt. Ansonsten bitte mich Informieren dann lösche ich den Post.

    Hallo,


    ich wollte euch mal fragen - sofern das jemand beantworten kann - ob und wie man eine MySQL Datenbank durchlaufen kann. Ich will alle Spieler durchlaufen lassen um abfragen an den Account zu stellen. Aber wie mache ich eine "schleife" für Offline Spieler im MySQL System ? Zudem was braucht ihr damit mir geholfen werden kann ? [ Wg verschiedenen MySQL Systemen ]


    MfG

    [table='4']
    [*]Parameter
    [*]Name
    [*]Erklärung
    [*]Beispiel


    [*]i, d
    [*]Integer
    [*]Eine einfache Zahl.
    [*]-314, -1, 0, 1, 2, 5, 8765345


    [*]I, D
    [*]Integer (Optional)
    [*]Eine einfache Zahl.
    [*]-314, -1, 0, 1, 2, 5, 8765345


    [*]c
    [*]Character
    [*]Ein einzelner Character bzw Bustabe.
    [*]a, o, *


    [*]C
    [*]Character (Optional)
    [*]Ein einzelner Character bzw Bustabe.
    [*]a, o, *


    [*]l
    [*]Logical
    [*]Ein Logischer wert wie true (wahr) oder false (falsch).
    [*]true, false


    [*]L
    [*]Logical (Optional)
    [*]Ein Logischer wert wie true (wahr) oder false (falsch).
    [*]true, false


    [*]b
    [*]Binary
    [*]Eine Binärzahl.
    [*]01001, 0b1100


    [*]B
    [*]Binary (Optional)
    [*]Eine Binärzahl.
    [*]01001, 0b1100


    [*]h, x
    [*]Hex
    [*]Eine Hexadezimalzahl.
    [*]1A, 0x23


    [*]H
    [*]Hex (Optional)
    [*]Eine Hexadezimalzahl.
    [*]1A, 0x23


    [*]o
    [*]Octal
    [*]Ein Oktalwert.
    [*]045 12


    [*]O
    [*]Octal (Optional)
    [*]Ein Oktalwert.
    [*]045 12


    [*]n
    [*]Number
    [*]Eine einfache Zahl (Sowohl integer, als auch Binär,Hexadezimal, etc. Wert).
    [*]42, 0b010, 0xAC, 045


    [*]N
    [*]Number (Optional)
    [*]Eine einfache Zahl (Sowohl integer, als auch Binär,Hexadezimal, etc. Wert).
    [*]42, 0b010, 0xAC, 045


    [*]f
    [*]Float
    [*]Eine Gleitkommazahl.
    [*]0.7, -99.5


    [*]F
    [*]Float (Optional)
    [*]Eine Gleitkommazahl.
    [*]0.7, -99.5


    [*]g
    [*]IEEE Float
    [*]Eine IEEE Gleitkommazahl.
    [*]0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E


    [*]G
    [*]IEEE Float (Optional)
    [*]Eine IEEE Gleitkommazahl.
    [*]0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E


    [*]u
    [*]User name/id (bots und spieler)
    [*]Ein Spielername oder eine playerid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich.
    [*]Maddin, Hans, Bot1, Bot2, 0, 1


    [*]U
    [*]User name/id (bots und spieler) (Optional)
    [*]Ein Spieler-/Botname oder eine player-/botid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich.
    [*]Maddin, Hans, Bot1, Bot2, 0, 1


    [*]q
    [*]Bot name/id
    [*]Ein Botname oder eine botid. Also sowohl z.b /kick Beispielbot als auch /kick 0 sind möglich. Hier werden allerdings nur Bots beachtet, keine Spieler!
    [*]Bot1, Bot2, 0, 1


    [*]Q
    [*]Bot name/id (Optional)
    [*]Ein Botname oder eine botid. Also sowohl z.b /kick Beispielbot als auch /kick 0 sind möglich. Hier werden allerdings nur Bots beachtet, keine Spieler!
    [*]Bot1, Bot2, 0, 1


    [*]r
    [*]Player name/id
    [*]Ein Spielername oder eine playerid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich. Hier werden allerdings nur Spieler beachtet, keine Bots!
    [*]Maddin, Hans, 0, 1


    [*]R
    [*]Player name/id (Optional)
    [*]Ein Spielername oder eine playerid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich. Hier werden allerdings nur Spieler beachtet, keine Bots!
    [*]Maddin, Hans, 0, 1


    [*]{, }
    [*]Quit section
    [*]{ } Wird verwendet wenn in einem parameter zwar bestimmte zeichen vohanden sind, diese aber nicht weiter verarbeitet werden solle.
    [*]{iis[128]}


    [*]P
    [*]Trennzeichen
    [*]Ein angegebenen trennzeichen, an dem sscanf erkennt was die einzelnen werte voneinander trennt. Standartmäßigm ist es das Leerzeichen.
    [*]P<|>iiii Ersetzt ungültige Trennzeichen mit einem "|"


    [*]p
    [*]Trennzeichen
    [*]Ein angegebenen trennzeichen, an dem sscanf erkennt was die einzelnen werte voneinander trennt. Standartmäßigm ist es das Leerzeichen.
    [*]p<|>iiii Ersetzt Trennzeichen mit einem "|"


    [*]Z(string)[länge]
    [*]Ungültiger Optionaler String
    [*]Ein Ungültiger Optionaler String.
    [*]-


    [*]z(string)[länge]
    [*]Verworfener Optionaler String
    [*]Ein Verworfener Optionaler String.
    [*]-


    [*](string)[länge]
    [*]Optionaler String
    [*]Eine zeichenkette (string) mit angegebener länge. Hierbei wird die länge des strings angegeben, an den der wert übergeben werden soll.
    [*]-


    [*]s[länge]
    [*]String
    [*]Eine zeichenkette (string) mit angegebener länge. Hierbei wird die länge des strings angegeben, an den der wert übergeben werden soll.
    [*]-


    [*]A(default)[länge]
    [*]Optionales Array des Angegebenen types
    [*]Ein Optionales Array des Angegebenen types.
    [*]-


    [*]a[länge]
    [*]Array des Angegebenen types
    [*]Ein Array des Angegebenen types.
    [*]-


    [*]e
    [*]Enum
    [*]Ein Parameter, der verwendet werden kann um alle werte die sich zwischen den beiden < > befinden an ein Enum weiter zu geben.
    [*]-


    [*]E(default)
    [*]Enum (Optional)
    [*]Ein Parameter, der verwendet werden kann um alle werte die sich zwischen den beiden < > befinden an ein Enum weiter zu geben.
    [*]-


    [*]'string'
    [*]Suchbegriff
    [*]Ein Begriff nachdem im angegebenen Parameter gesucht werden soll
    [*]-


    [*]%
    [*]Deprecated optional specifier prefix
    [*]Ganz ehrlich, ich habe keine ahnung xD Wenns jemand weiss PN an mich und ich trag es nach.
    [*]-
    [/table]


    Maddin's Tabelle nochmal ordentlich gemacht.
    Super Tutorial maddin

    format(rangname, sizeof(rangname), "lspdrangname%d", GetPVarInt(playerid, "Rank")); // Hier deine Rank Definition einsetzen
    format(text,sizeof(text),"%s %s: %s",rangname, SpielerName(playerid),text);


    Sollte so funktionieren... ( ungetestet )

    Wenn es nur um die Sniper geht sollte es so funktionieren:



    public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
    {
    if(weaponid == 34)
    {
    SetPlayerHealth(damagedid, 0);
    }
    return 1;
    }



    Damit ginge es dann aber auch überall - nicht nur am Kopf.