Beiträge von ToastFighter

    Schreibe mich per Pn an.

    Und wieso schreibst du es nicht hier hin?


    So könnte man ja auch mal anderen Leuten mit der gleichen Frage helfen.
    Blöd wenn alle immer sagen "SuFu" aber Probleme per PN beantwortet werden.



    new VoteKickAktiv;
    new VoteKickPlayer;
    new VoteCount;
    new Voted[MAX_PLAYERS];
    new VoteTime;
    new VoteKTimer;


    public OnPlayerDisconnect(playerid, reason)
    {
    if(VoteKickPlayer == playerid)
    {
    VoteKickPlayer = 0;
    KillTimer(VoteKTimer);
    }
    return 1;
    }


    stock GetOnlinePlayerCount()
    {
    new pCount = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(i != INVALID_PLAYER_ID)
    {
    pCount++;
    }
    }
    return pCount;
    }


    if(strcmp(cmd, "/Vote",true)==0)
    {
    if(Voted[playerid] == 0)
    {
    Voted[playerid] = 1;
    VoteCount++;
    new msg[256];
    new pName[20];
    GetPlayerName(playerid, pName, 20);
    format(msg, 256, "VoteKick: %s hat gevotet! Stand: %d/%d", pName, VoteCount, GetOnlinePlayerCount());
    SendClientMessageToAll(0x00FFBEFF, msg);
    }
    else
    {
    SendClientMessage(playerid, 0xC4463EFF, ".:Du hast bereits für einen Kick gevotet:.");
    }
    }

    if(strcmp(cmd, "/VoteKick",true)==0)
    {
    new aCount = 0;
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerAdmin(i))
    {
    aCount++;
    }
    }
    if(aCount == 0)
    {
    if(VoteKickAktiv == 0)
    {
    new pID, reason[128];
    if(sscanf(params, "us[128]", pID, reason)) return SendClientMessage(playerid, 0xFF5A00FF, "/VoteKick [Spieler] [Grund]");
    new msg[256];
    new pName[20];
    new pName2[20];
    GetPlayerName(pID, pName2, 20);
    GetPlayerName(playerid, pName, 20);
    format(msg, 256, "VoteKick: %s fordert einen Votekick für Spieler %s! Grund: %s", pName, pName2, reason);
    SendClientMessageToAll(0xC4463EFF, msg);
    SendClientMessageToAll(0xC4463EFF, ".:Benutze /Vote um den Spieler zu kicken:.");
    VoteKickPlayer = pID;
    VoteKickAktiv = 1;
    VoteCount = 1;
    VoteTime = 60;
    VoteKTimer = SetTimerEx("VoteKickTimer", 1000, 0, "i", pID);
    }
    else
    {
    SendClientMessage(playerid, 0xFF5A00FF, ".:Votekick nicht möglich! Es läuft aktuell bereits eine Votekick:.");
    }
    }
    else
    {
    SendClientMessage(playerid, 0xFF5A00FF, ".:Votekick nicht möglich! Es ist ein Administrator online:.");
    }
    }



    forward VoteKickTimer(playerid);
    public VoteKickTimer(playerid)
    {
    VoteTime--;
    if(VoteTime == 0)
    {
    new msg[256];
    format(msg, 256, "VoteKick Ergebnis: %d/%d", VoteCount, GetOnlinePlayerCount());
    SendClientMessageToAll(0x00FFBEFF, msg);
    if(VoteCount > GetOnlinePlayerCount()/2)
    {
    new pName[20];
    GetPlayerName(playerid, pName, 20);
    format(msg, 256, "VoteKick: %s wurde gekickt!", pName);
    SendClientMessageToAll(0xFF1400FF, msg);
    Kick(playerid);


    }
    else
    {
    new pName[20];
    GetPlayerName(playerid, pName, 20);
    format(msg, 256, "VoteKick: %s wurde nicht gekickt!", pName);
    SendClientMessageToAll(0xFF1400FF, msg);
    for(new i; i < MAX_PLAYERS; i++)
    {
    Voted[i] = 0;
    }
    }
    VoteKickAktiv = 0;
    KillTimer(VoteKTimer);

    }
    }




    Wurde noch nicht getestet, dürfte aber funktionieren.


    Bei Fehlern melde dich bitte nochmal.

    Du musst dann im Filterscript deinem Anti-Cheat System klar machen, dass das Geld legal ist.


    Dafür müsste man erstmal wissen, welches Anti-Cheat-System du hast. (Selfmade?)
    Dann guck doch mal, wie in anderen Befehlen das A-C-S ausser Kraft gesetzt wird.


    stock mysql_DeleteVehicle(Table[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    format(query, 128, "DELETE FROM `fahrzeuge` WHERE `ID` = '%s'", Table);
    mysql_query(query);
    return true;
    }


    Damit löscht er die Spalte der Tabelle "fahrzeuge", die die angegebene ID hat.


    Musst du natürlich auf deine Tabelle anpassen.

    Sag mal, hast du das überhaupt bei OnPlayerCommandText eingebaut?


    cmdtext müsste dann eigentlich definiert sein.


    Schick doch mal bitte einen Ordentlichen Code

    Wenn man in Freezed kann er auch nicht mit F/Enter aussteigen, er kann sich gar nicht mehr bewegen, nur schreiben.




    MfG,
    Fabian!


    Er möchte trotzdem dass nur das Auto gefreezt ist, und nicht der Spieler.


    Also entweder
    -Position beim freeze speichern und mit timer immer wieder auf Position stellen
    -Motor aus und Variable setzen, die das Motorstarten verhindert (Auto kann verschoben werden)


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    if(issuerid != INVALID_PLAYER_ID)
    {
    TextDrawSetString(Acertou, "X");
    TextDrawShowForPlayer(issuerid, Acertou);
    tempohit = SetTimerEx("TirarMark", 150, false, " ", issuerid);
    PlayerPlaySound(issuerid,17802,0,0,0);
    }

    return 1;
    }
    public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
    {
    if(damagedid != INVALID_PLAYER_ID)
    {
    TextDrawSetString(Acertou, "X");
    TextDrawShowForPlayer(playerid, Acertou);
    tempohit = SetTimerEx("TirarMark", 150, false, " ", playerid);
    PlayerPlaySound(playerid,17802,0,0,0);
    }


    return 1;
    }


    Such dir eins von denen aus :D

    Sooo...
    ---------------------------------------------------------------------------
    /oLicht | Zum Ein- und Ausschalten des Warnblinklichts
    /oPark [CarID] [Abschlepper = 1 | Ticket = 0] | Zum sperren des Fahrzeuges, mit der Option es freikäuflich zu machen oder nicht.
    /oUnlock [CarID] | Zum entsperren des Fahrzeuges.
    /oTicket [Spieler] [Ticketpreis] | Zum ausstellen eines Tickets.
    /Bezahlen | Zum Bezahlen des Tickets.
    ---------------------------------------------------------------------------


    Wurde ein Fahrzeug gesperrt, so erscheint am Auto ein Label:



    |Im Beispiel wurde das Auto Freikaufbar gemacht /opark [carid] 0|


    -------------------------------------------------------------------------------------------------
    Will ein Spieler in das gesperrte Auto einsteigen, wird er aus dem Auto geschmissen und das
    Auto wird an die Position zurückgesetzt, an der es gesperrt wurde.
    -------------------------------------------------------------------------------------------------


    Die Abschleppwagen vefügen über 2 verschiedene Arten von Warnsignalen:

    2 Frontblitzer unter den Scheinwerfern ( Gelb aufblitzend )
    2 aufhellende gelbe Warnlampen im Gelblichtbalken des Abschleppwagens