Beiträge von Raffael_Litrico

    Entweder kannst du das Callback OnPlayerKeyStateChange nutzen und abfragen, ob der Spieler die Taste "KEY_FIRE" genutzt hat. Dann vielleicht noch abfragen, ob er da eine Waffe hatte.


    Beispiel:


    Schließlich dann noch einen Timer von 3 Sekunden erstellen und seine Farbe auf Transparent setzen.


    - R.L.

    Guck mal auf Wikipedia:


    http://wiki.sa-mp.com/wiki/OnPlayerDisconnect



    - R.L.

    Ja, gute Überlegung, doch benutz lieber das Callback OnPlayerTakeDamage, da OnPlayerGiveDamage auch verwendet wird, wenn der Spieler auf dem Desktop ist.


    Nur SetPlayerHealth geht nicht. Mach es so:


    Code
    new Float:health; GetPlayerHealth(damagedid, health);
    SetPlayerHealth(damagedid, health-schaden);


    Und die waffenid 24 ist keine Shotgun, sondern eine Desert Eagle. Die id einer Shotgun ist 25.


    - R.L.

    Ne ne, strrest verlangt ja einen string. :)


    So muss es sein:
    if( strcmp("/capass", cmdtext, true, 10) == 0)
    {
    new gMessage[128];
    gMessage = strrest(cmdtext,idx);
    if(strlen(gMessage)==0)return SendClientMessage(playerid, COLOR_GREY," FEHLER: /capass [neues passwort] ");
    new newpass[64];
    format(newpass,sizeof(newpass),"%s",gMessage);


    return 1;
    }


    off topic: Das PW-changen wird hier aber nichts bringen,weil newpass keine globale Variable ist :D

    Eigentlich ganz easy. Du verwendest einfach anstatt einer Variable für Wanteds, zwei.


    Sagen wir er geht zu den Cops, dann machst Du das so: (natürlich an deine Variablen anpassen)



    SetPVarInt(playerid,"oldWanteds",GetPVarInt(playerid,"Wanteds")); // Die Variable "oldWanteds" musst du dann ggf. auch speichern per dini / mysql
    SetPVarInt(playerid,"Wanteds",0); // Und dann setzen wir den Wert auf 0, da er ja bei den Cops keine Wanteds haben kann!


    Okay, so weit so gut. Wenn er dann doch zu den Zivilisten gehen will, schreibst Du folgendes auf:
    SetPVarInt(playerid,"Wanteds",GetPVarInt(playerid,"oldWanteds")); // er erhält seine Wanteds zurück, die er früher hatte
    SetPVarInt(playerid,"oldWanteds",0); // die Variable wird auf 0 gesetzt, da wir sie jetzt nicht brauchen


    So einfach ist das eigentlich. ;)

    Du musst die Funktion strrest benutzen. ;)



    stock strrest(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }
    new offset = index;
    new result[128];
    while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }