Spawnkillscript tut nicht was es soll

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe nun ein Anti-Spawnkill-Filterscript geschrieben, es treten aber einige Probleme auf:
    - Der Gametext wird bei allen Usern angezeigt
    - Alle User bekommen Spawnkillschutz
    - Die Chatbubble wird iwie nicht angezeigt? Ô_o


    Das ist mein Script soweit... ^^
    #include <a_samp>


    forward sks(playerid);
    forward cd4(playerid);
    forward cd3(playerid);
    forward cd2(playerid);
    forward cd1(playerid);


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Spawnkillschutz by maddin911 ");
    print("--------------------------------------\n");
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    SetPlayerChatBubble(playerid, "Spawn-Kill-Schutz aktiv!", 0xFF0000FF, 50.0, 5000);
    SetTimer("sks", 5000, false);
    SetPlayerHealth(playerid, 9999999999);
    GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 5 Sekunden!", 1000, 4);
    SetTimer("cd4", 1000, false);
    }


    public cd4(playerid)
    {
    GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 4 Sekunden!", 1000, 4);
    SetTimer("cd3", 1000, false);
    }


    public cd3(playerid)
    {
    GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 3 Sekunden!", 1000, 4);
    SetTimer("cd2", 1000, false);
    }


    public cd2(playerid)
    {
    GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 2 Sekunden!", 1000, 4);
    SetTimer("cd1", 1000, false);
    }


    public cd1(playerid)
    {
    GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 1 Sekunde!", 1000, 4);
    }


    public sks(playerid)
    {
    SetPlayerHealth(playerid, 100);
    }

  • Bin mir nicht genau sicher aber man muss auch die playerid mit ürgeben an den nächsten public dafür verwendet man normaler weiße SetTimerEx also müsstest du jeden timer mit
    SetTimerEx("cd...", 1000, false, "i",playerid); 
    ersetzen. Vielleicht hilft es dir ja weiter.


    MFG Raicoon

  • Willkommen in Spam-a-lot, junger Knabe.
    Keine Sorge, Königin Ni Veau und König Hil feh sind zur Zeit weg, glaube also nicht, das ist normal so.
    Das Volk antwortet aber immer gerne, auch wenn es keine Ahnung hat.
    Viel Spaß


    Spoiler anzeigen

    @Suggalike: Interessant..... Und du scriptest ?
    Raicoon: Richtig
    @TS: Du brauchst nen SetTimerEx, SetTimer wird nur für globale Dinge wie nen Payday verwendet und kann keine Parameter (wie die ID des Spielers) übergeben.


  • enum playerdata
    {
    CountPerPlayer,
    timer_lol,
    }
    new SpielerBlubb[MAX_PLAYERS][playerdata];
    public OnPlayerSpawn(playerid)
    {
    SpielerBlubb[playerid][timer_lol] = SetTimerEx("AntiSpawnKill",1000,0,"%i",playerid);
    SetPlayerHealth(playerid, 9999999999);
    return 1;
    }
    public OnPlayerDisconnect(playerid,reason)
    {
    SpielerBlubb[playerid][CountPerPlayer] = 0;
    KillTimer(SpielerBlubb[playerid][timer_lol]);
    return 1;
    }
    public AntiSpawnKill(playerid)
    {
    switch(SpielerBlubb[playerid][CountPerPlayer])
    {
    case 0:GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 5 Sekunden!", 1000, 4);
    case 1:GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 4 Sekunden!", 1000, 4);
    case 2:GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 3 Sekunden!", 1000, 4);
    case 3:GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 2 Sekunden!", 1000, 4);
    case 4:GameTextForPlayer(playerid, "~w~Spawn-Kill-Schutz: 1 Sekunden!", 1000, 4);
    case 5:{SetPlayerHealth(playerid, 1000.0);SpielerBlubb[playerid][CountPerPlayer]=0;}
    }
    SpielerBlubb[playerid][CountPerPlayer]++;
    return 1;
    }



    sollte gehen

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()