Beiträge von Legö

    Hi,
    wie lasse ich am besten einen Timer abspeichern?
    Bzw die restliche Knastzeit, dass man dann nicht einfach reloggt...


    Hast du ein Login / Register System? wenn ja speicher eben jede sekunde/minute in die .ini des Spielers bei gf ist es z.B. pJailTime welches dan auf die Zeit gesetztwird z.B. 1 minute


    PlayerInfo[playerid][pJailTime] = 60;


    dann ein 10 sekündlicher timer


    PlayerInfo[playerid][pJailTime] -= 10;


    musst dann nur noch beim disconnecten speichern und beim connecten laden

    ne steigerung wäre natürlich wenn der Benutzer nur eine eineinstall.exe wie bei sa-mp.com bekommen würde und einfach SA:MP normal installieren könnte. Ist die Installation abgeschlossen dann würde bereits mein Server in der Favoriten Liste setehen.


    insofern 10/10 oder sagen wir unter Berücksichtigung der zusatzpunkte 10/15 sehr gute Idee!

    Hallo ich wollte mal wissen wenn ich einem Spieler wi folgt eine Dose in die Hand drücke wie ich die dann so verwende das ich mit jedem schlug 10 hp dazu bekomme?


    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK);

    ich denke wenn jeder hier rein schrieben würde keine Ahnung dann hätte das Thema 200 Seiten! Deshalb frage ich ja nach den Leuten die es wissen! Denn es gibt nicht nur über 70 sondern weit aus mehr! Ich möchte mir nur die arbeit ersparren wirklich alle 500 Animationen zudurchsuchen

    Wie heißt die Animation die bei den Getränkeautomaten abgespielt wird?


    am besten den ganzen cmd also: ApplyAnimation(...);

    aber ich habe doch nur eine Variable oder? setzt er sie dann im nur zwichen alter Farbe und angegebener Farbe?


    und wie setze ich dan die Farbe entgültig?


    Danke schonmal für die gute Hilfe ich gucks mir ach nochmal im wikki an

    also ich habe das so! public GangZoneBlink()
    {
    if(GangAttackZone == 1)
    {
    if(GangZoneBlinkStep == 0)
    {
    GangZoneFlashForAll(Zone[BlinkZone+3], BlinkColor1);
    GangZoneBlinkStep = 1;
    }
    else if(GangZoneBlinkStep == 1)
    {
    GangZoneFlashForAll(Zone[BlinkZone+3], BlinkColor2);
    GangZoneBlinkStep = 0;
    }
    }
    }

    Ich starte einen Timer: BlinkTimer = SetTimer("GangZoneBlink",1000,true); der ist jetzt mit wiederholungen. Allerdings will ich die nun wieder stopen.


    Ich habe KillTimer(BlinkTimer); versucht. Leieder funktioniert das nicht die wiedeholungen setzen sich weiter fort!
    wie kann ich die wiederholungen nun stopen?

    hatte ich auch schon über legt aber das halte ich für unsinfoll da der ja noch kürzere zeitinterwalle hat es ging mir aber bei meiner bitte eher darum den code an sich zu optimieren da ab es z.B. etwas mit DistanceBetweenPlayer was ich nich verstanden hatte vlt. kann man das für einen Speedo so anwenden dass es einfach besser ist

    Hallo habe mich jetzt die letzen drei tage verscuht hier durchzuwurschteln. Jetzt bin ich über eine Sache extrem gestoppelrt. Das ist mein Speedo. könnt ihr mir helfen meinen jetzt ziehmlich recurcen fressenden Tacho auf einen Sparsarmen Taco hienunter zu zwingen?


    Tach Code:
    public CheckSpeed(playerid)
    {
    new vehid = GetPlayerVehicleID(playerid);
    new Float:speed_x, Float:speed_y, Float:speed_z, Float:FSpeed;
    new final_speed_int;
    new string[256];
    if(vehid != 0)
    {
    GetVehicleVelocity(vehid, speed_x, speed_y, speed_z);
    FSpeed = floatsqroot(((speed_x * speed_x) + (speed_y * speed_y)) +(speed_z * speed_z)) * 136.6666666666666666667; //KM/H
    final_speed_int = floatround(FSpeed, floatround_round);
    format(string, 256,"~r~Speed: ~w~%i ~g~km/h", final_speed_int);
    TextDrawSetString(Speedo[playerid], string);
    if(gGas[playerid] == 1)
    {
    Fuel[playerid] = TextDrawCreate(250.00, 411.00, " Treibstoff ");
    TextDrawLetterSize(Fuel[playerid],1.0,1.8);
    TextDrawColor(Fuel[playerid], 0x00FFFFFF);
    TextDrawUseBox(Fuel[playerid], 1);
    TextDrawTextSize(Fuel[playerid], Gas[vehid]+250, 414.00);
    TextDrawBoxColor(Fuel[playerid], 0x0000FF48);
    TextDrawSetOutline(Fuel[playerid], 4);
    TextDrawShowForPlayer(playerid, Fuel[playerid]);
    gGas[playerid] = 0;
    }
    SetTimerEx("CheckSpeed",100,false,"i",playerid);
    }
    else
    {
    TextDrawSetString(Speedo[playerid], " ");
    TextDrawDestroy(Fuel[playerid]);
    }
    }



    Veilen Dank für eure hilfe!

    Ok habe es heraus gefunden wo das problem lag danke an eure wirklich sehr schnelle mithilfe!


    Das Problem lag darin das der NamTimer(); aktiviert war der dauernt alles zurück gesetzt hat auch wenn er sonst keine funktion auffweisst


    er stand dort einfach nur so da ohne new; oder forward kp was das sollte xD

    jo habe ich auch ausprobiert habe es sogar schon umgescriptet damit ich sehe wann ich streame und wann nicht


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    new playername1[MAX_PLAYER_NAME];
    new playername3[MAX_PLAYER_NAME];
    new string3[50];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    GetPlayerName(forplayerid, playername1, sizeof(playername1));
    if(Name[playerid] == 1)
    {
    ShowPlayerNameTagForPlayer(forplayerid, playerid, false);
    format(string3, sizeof(string3), "%s = playerid || %s = forplayerid", playername3, playername1);
    SendAdminMessage(COLOR_YELLOW, string3);
    }
    }


    //edit jetzt habe ich heraus gefunden:


    wenn ich die abfrage wie folgt unter onplayerupdate reinstelle:
    Public OnPlayerUpdate(playerid)
    {
    if(Name[playerid] == 1)
    {
    for(new i ; i < MAX_PLAYERS ; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(i != playerid)
    {
    ShowPlayerNameTagForPlayer(i,playerid,false);
    }
    }
    }
    }
    }


    dann blinkt der name über dem spieler also muss wohl irgendwo irgendwas den NameTag zurück setzen was könnte das sein?

    ja das habe ich beachtet und aus getauscht und jetzt habe ich gerade mal unter OnPlayerStreamIn eingebaut guckt es euch mal bitte an:


    new Name[MAX_PLAYERS];


    if (strcmp("/hidename", cmdtext, true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8 || PlayerInfo[playerid][pAdmin] > 2)
    {
    if(Name[playerid] == 0)
    {
    GameTextForPlayer(playerid, "~W~Nametags ~R~off", 5000, 5);
    Name[playerid] = 1;
    return 1;
    }
    else
    {
    GameTextForPlayer(playerid, "~W~Nametags ~R~on", 5000, 5);
    Name[playerid] = 0;
    return 1;
    }
    }
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    if(Name[playerid] == 1)
    {
    ShowPlayerNameTagForPlayer(forplayerid, playerid, false);
    }
    }