Beiträge von SoulMan

    In etwa so
    public policecar(playerid)
    {
    for(new i = 0; i < sizeof(policecars); i++)
    {
    if(GetPlayerVehicleID(playerid) == policecars[i] && pInfo[playerid][Fraktion]!= 4)
    {
    SendClientMessage(playerid,0xC8C8C8FF,"Du bist kein Mitglied des LSPD!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 0;
    }


    Bei public OnPlayerStateChange(playerid, newstate, oldstate)
    machste
    switch(newstate)
    {
    case PLAYER_STATE_DRIVER:
    {
    policecar(playerid);
    }


    Die Namen natürlich zu deinen Variablen ändern.
    mfG
    Walker


    //Ganz oben natürlich
    forward policecar(playerid);

    Benutz zcmd.
    Ist sehr schnell und einfach zu handhaben. strcmp kann man flooden, dadurch können Serverlaggs entstehen.
    Solang du noch nicht sehr viel gescriptet hast, wäre es ratsam, umzusteigen. ;)
    Und dazu mit sscanf arbeiten.
    mfG
    Walker

    Was soll den der Timer bewirken?
    Hab schon einen, der die Knastzeit ausrechnet.
    Will das einbauen, bin aber nicht sicher. :P
    mfG
    Walker


    //Doppeltes Wort.
    //2
    Jetzt wird man jede Sekunde vor's LSPD gesetzt, wenn man gespawnt ist. :D
    //3
    Hab jetzt eingestellt, dass der Timer nur dann einsetzt, wenn man im Knast ist, aber wie es aussieht werden die sekunden doch nicht runtergezählt..

    Hey, ihr Scripter!
    Ich hab bis jetzt kaum mit 3D Textlabels gearbeitet und wollte mal fragen, ob ihr mir evtl.
    sagen könntet, wie ich bei einem TextLabel für einen Spieler einen Wert aus dem Account eintragen lassen kann.
    Also sowas wie %i Wanteds.
    mfG
    Walker


    P.S.
    Die Wiki half mir leider nicht.


    //Bustabe vergessen.

    Ist vorhanden. ;)
    Trotzdem danke. :) Was gäbe es denn nun für Alternativen?
    Solch ein Timer frisst doch sicher eine Menge Recourcen, nicht wahr?
    mfG
    Walker


    //Nachdem ich nun fast jeden erdenklichen Versuch unternommen hab, dieses Problem zu lösen, geb ich es langsam auf..
    Kann mir wirklich niemand helfen? Wie sieht's denn mit einem Timer aus, der die Zeit immer aktualisiert?
    Wie setz ich das um?

    Okey, dann wird mir das wohl nicht wirklich mehr bringen.
    Die Zeit soll beim Disconnect jedoch nicht weiterlaufen. Verstehe nur hierbei nicht, warum es
    beim Prisonsystem ging. Da konnte ich halt die Zeit selbst angeben.
    mfG
    Walker

    Nein, hab ich noch nicht genutzt die public.
    Ups. :D Hab aber auch keine Ahnung, wie ich diese nutzen soll.
    Hab damit noch nie gearbeitet.
    mfG
    Walker


    //In der mysql.log gibt es bzgl. dem laden u. speichern der JailTime keine Probleme.

    Zum Speichern
    mysql_SetInt("Accounts", "JailTime", pInfo[playerid][JailTime], "Name", SpielerName[playerid]);
    Zum Laden
    pInfo[playerid][JailTime] = mysql_GetInt("Accounts", "JailTime", "Name", SpielerName[playerid]);


    mfG
    Walker

    Speichern tu ich alles mit MySQL.
    Das wird ja alles automatisch geladen/gespeichert.
    Der Befehl zum einsperren geht so
    COMMAND:einsperren(playerid,params[])
    {
    new pID;
    if(sscanf(params, "u",pID))return SendClientMessage(playerid,0xC8C8C8FF,"/einsperren [ID/Name]");
    if (!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if (pID == playerid)return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber einsperren!");
    if(pInfo[playerid][Fraktion] != 4 && pInfo[playerid][Fraktion] != 9)return SendClientMessage(playerid,0xC8C8C8FF,"Du bist kein Cop/FBI!");
    {
    if(IsPlayerInRangeOfPoint(playerid,8,267.8802,82.1092,1001.0391) && pInfo[pID][Wanteds] >= 1)
    {
    new str[128],str2[128];
    SetTimerEx("Jail",pInfo[pID][Wanteds] * 60000 * 3,false,"i",pID);
    pInfo[pID][JailTime] = pInfo[pID][Wanteds] * 60000 * 3;
    pInfo[pID][Wanteds] = 0;
    SetPlayerWantedLevel(pID,0);
    SetPlayerPos(pID,264.7867,82.0650,1001.0391);
    SetPlayerInterior(pID,6);
    SetPlayerVirtualWorld(pID,38);
    format(str,sizeof(str),"<< %s hat den Verdächtigen %s eingesperrt >>",SpielerName[pID],SpielerName[playerid]);
    format(str2,sizeof(str2),"Du wurdest von %s für %i Minuten eingesperrt!",SpielerName[playerid],pInfo[pID][JailTime]/60000);
    SendClientMessageToAll(0xFF6347AA,str);
    SendClientMessage(pID,0xFF6347AA,str2);
    }
    else return SendClientMessage(playerid,0xC8C8C8FF,"Du bist nicht an den Zellen oder der Spieler hat keine Wanteds!");
    }
    return 1;
    }


    Es geht halt darum, die "JailTime" zu speichern und den Wert beim Spawn wieder zuzuteilen.
    Aber der Wert im Account bleibt immer gleich, dadurch funktioniert das nicht wirklich. Sonst würde die Zeit ja nach jedem Relogg wieder hochgesetzt werden.
    mfG
    Walker


    //Pawn Code falsch gepostet