[Hilfe]KameraCheck

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 wollte in meinem Script etwas einfügen, um zu checken, od der Player noch eine Kamera hat. Ich habe auch einen Code geschrieben, der auch funktioniert. Das Probleem ist nur, dass ich dann, wenn ich keine Kamera mehr hatte, nach dem spawnen wieder die Message bekomme, die ich senden wollte. Was muss da geändert werden?
    Hier der Code:
    //oben im Script
    new KameraCheckTimer;
    //unter OnPlayerSpawn
    KameraCheckTimer = SetTimerEx("KameraCheck",1000,0,"i",playerid);
    //der eigentliche Code:
    public KameraCheck(playerid)
    {
    new weapons[13][2];
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
    }
    if(weapons[9][0])
    {
    SendClientMessage(playerid,ROT,"Du hast keine Kamera mehr.");
    KillTimer(KameraCheckTimer);
    }
    }
    Danke im Voraus. :)

    Einmal editiert, zuletzt von DuffMan ()

  • Ich gebe dir nur Tip:



    Frage den Player ab ob er Eine Hat oder nicht. Wenn er eine hat soll diese nachricht schiken :thumbup::thumbup:

  • public KameraCheck(playerid)
    {
    new wid, muni;
    GetPlayerWeaponData(playerid,9, wid,muni);
    if(wid==0) {
    SendClientMessage(playerid,ROT,"Du hast keine Kamera mehr.");
    KillTimer(KameraCheckTimer);
    }
    return 1;
    }
    PS: Ich würd lieber sowas wie "new KameraCheckTimer[MAX_PLAYERS];" machen und dann für jede ID einen neuen Timer machen, weil sosnt der alte überschrieben wird und es für keinen, außer den neusten aufhöhrt, wenn jemand keine hat

  • Du has doch selbst gesagt

    Zitat

    PS: Ich würd lieber sowas wie "new KameraCheckTimer[MAX_PLAYERS];" machen und dann für jede ID einen neuen Timer machen, weil sosnt der alte überschrieben wird und es für keinen, außer den neusten aufhöhrt, wenn jemand keine hat

  • Achso, das meinst du^^
    //ganz nach oben:
    new KameraCheckTimer[MAX_PLAYERS];
    //OnPlayerConnect:
    KameraCheckTimer[playerid] = SetTimerEx("KameraCheck",1000,0,"d",playerid);
    //ganz nach unten:
    public KameraCheck(playerid)
    {
    new wid, muni;
    GetPlayerWeaponData(playerid,9, wid,muni);
    if(wid==0) {
    SendClientMessage(playerid,ROT,"Du hast keine Kamera mehr.");
    KillTimer(KameraCheckTimer[playerid]);
    }
    return 1;
    }