SetTimerEx Problem

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
  • Hi,
    Ich hab es so gemacht dass wenn jemand in ein Ganggebiet geht, gekickt wird . Das geht ja auch alles nur ich habs dann SetTimerEx probiert aber ich werde nich gekickt wenn ich in das ganggebiet reingehe hier mal das Script: (Nur wenn ich Id 0 hab geht es :P)


    forward check(playerid, Float:o_x, Float:o_y, Float:o_z);


    Unter OnPlayerSpawn

    SetPlayerWorldBounds(playerid, -1237.855, -2977.858, 1611.547, -735.7062);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetTimerEx("check",100,true,"ai",x,y,z);


    public check(playerid, Float:o_x, Float:o_y, Float:o_z)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerAdmin(i))
    {
    if(Spieler[i][eingeloggt] == 1)
    {
    if(IsPlayerInArea(i,-2989.536, 1763.359, 2977.858, 2989.536) || IsPlayerInArea(i,-2989.536, -2942.825, 2977.858, -864.1628) || IsPlayerInArea(i,-1237.855, -2942.825, 2977.858, 2989.536)) //abc
    {
    SendClientMessage(i,COLOR_RED, " Du wurdest gekickt!");
    Kick(i);
    }
    }
    }
    }
    return 1;
    }


    Ich hoffe ihr könnt mir helfen
    //Edit Ich hatte vergessen zu erwähnen dass ich vorher SetTimer hatte und es dann nur mit Id0 ging bei ExTimer geht es auch nicht mit id 0 :(

  • Geht leider auch nicht ich hab das eine umgeändert da man ja alle 4 Seiten braucht aber es geht immer noch net
    public check(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(x >= minX && x <= maxX && y >= minY && y <= maxY)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerAdmin(i))
    {
    if(Spieler[i][eingeloggt] == 1)
    {
    if(IsPlayerInArea(i,-2989.536, 1763.359, 2977.858, 2989.536) || IsPlayerInArea(i,-2989.536, -2942.825, 2977.858, -864.1628) || IsPlayerInArea(i,-1237.855, -2942.825, 2977.858, 2989.536)) //abc
    {
    SendClientMessage(i,COLOR_RED, " CHEATER AN DIE WAND !!!!");
    Kick(i);
    }
    }
    }
    }
    }
    return 1;
    }


    Oder ist das falsch?

  • Mach es nach diesem Schema, da es viel Schonender ist und dein Code sinnlos eine Position abfragt xD


    public OnGameModeInit()
    {
    SetTimer("check", 100, 1); //Wobei ich eher 1000ms empfehlen würde...
    return 1;
    }



    forward check();
    public check()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerAdmin(i)) return 1;
    if(Spieler[i][eingeloggt] != 1) return 1;
    if(IsPlayerInArea(i,-2989.536, 1763.359, 2977.858, 2989.536) ||
    IsPlayerInArea(i,-2989.536, -2942.825, 2977.858, -864.1628) ||
    IsPlayerInArea(i,-1237.855, -2942.825, 2977.858, 2989.536))
    {
    SendClientMessage(i,COLOR_RED, " CHEATER AN DIE WAND !!!!");
    Kick(i);
    }
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ach ich depp, tut mir echt leid, hier der richtige Code...


    public check()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerAdmin(i)) continue;
    if(Spieler[i][eingeloggt] != 1) continue;
    if(IsPlayerInArea(i,-2989.536, 1763.359, 2977.858, 2989.536) ||
    IsPlayerInArea(i,-2989.536, -2942.825, 2977.858, -864.1628) ||
    IsPlayerInArea(i,-1237.855, -2942.825, 2977.858, 2989.536))
    {
    SendClientMessage(i,COLOR_RED, " CHEATER AN DIE WAND !!!!");
    Kick(i);
    }
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!