Beiträge von Jeffry

    Ja.


    Mal so ganz grob:


    Oben im Code:
    new CountdownZeit;


    Command:
    if(!strcmp(cmdtext, "/timer", 6, true))
    {
    if(!strlen(cmdtext[6])) return SendClientMessage(playerid, 0xFF0000FF, "Error: /timer [Zeit]");
    else
    {
    if(CountdownZeit != 0) return SendClientMessage(playerid, 0xFF0000FF, "Error: Timer schon gestartet.");
    if(cmdtext[6] == ' ')
    {
    if(!strlen(cmdtext[7])) return SendClientMessage(playerid, 0xFF0000FF, "Error: /timer [Zeit]");
    else
    {
    CountdownZeit = strval(cmdtext[7]);
    if(CountdownZeit <= 0) return SendClientMessage(playerid, 0xFF0000FF, "Error: Falsche Zeit");
    SetTimer("CountMeDown", 1000, 0);
    return SendClientMessage(playerid, 0xFFFF00FF, "Timer Gestartet");
    }
    }
    }
    }


    Unten im Code:
    forward CountMeDown();
    public CountMeDown()
    {
    CountdownZeit --;
    new msg[10];
    if(CountdownZeit == 0) format(msg, sizeof(msg), "Go!");
    else
    {
    format(msg, sizeof(msg), "%d", CountdownZeit);
    SetTimer("CountMeDown", 1000, 0);
    }
    GameTextForPlayer(/*Deine Einstellungen hier*/);
    return 1;
    }


    Dann solltest du dein wissen mal ganz schnell auffrischen. Denn Es gibt mittlerweile Rasen Objekte und die Möglichkeit Objekten die Textur von einer Wiese zu verpassen. Darauf werd ich hier aber nicht näher eingehen.


    Ach! Stimmt ja. Da hatte ich gar nicht dran gedacht. Danke für den Denkanstoß. :wacko:


    Dann könntest du gut Objekt 8661 mit einer Rasentextur setzen.

    stock NiceMoney(money) //©Jeffry
    {
    new bmess[15];
    format(bmess, 15, "%d", money);
    if(money > 0)
    {
    for(new l=strlen(bmess)-3; l>0; l-=3)
    {
    if(l>0)
    {
    strins(bmess, ".", l);
    }
    }
    }
    else
    {
    for(new z=strlen(bmess)-3; z>1; z-=3)
    {
    if(z>1)
    {
    strins(bmess, ".", z);
    }
    }
    }
    return bmess;
    }
    Gibt einen String zurück. Funktioniert einwandfrei.


    Einfach dein
    GetPlayerMoney(playerid)


    mit
    NiceMoney(GetPlayerMoney(playerid))


    ersetzen.

    new string[144];
    for(new i=0; i<13; i++)
    {
    new weap, ammo;
    GetPlayerWeaponData(playerid, i, weap, ammo);
    if(ammo > 0)
    {
    format(string,sizeof(string),"Slot: %d || Waffe %d || Munnition %d",i, weap, ammo);
    SendClientMessage(playerid,FARBE,string);
    }
    }


    Das wäre jetzt für SendClientMessage. Wenn du es als TextDraw/Dialog/etc... haben willst, musst du es eben dem entsprechend abändern. Das dürfte dir nicht allzu schwer fallen.

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp("/eventmenu", cmdtext, true))
    {
    ShowPlayerDialog(playerid, DIALOG_EVENTMENU, DIALOG_STYLE_LIST,"Eventmenue", "Race\nParkhaus", "Auswählen", "Abbrechen");
    return 1;
    }
    return 0;
    }


    So ist's besser, sonst bekommt er unknown Command gezeigt.

    Feuergate1auf = CreateDynamicObject(11313,1743.7300000,-1112.3900000,24.8300000,0.0000000,0.0000000,-90.0000000);
    SetDynamicObjectMaterial(Feuergate1auf, Feuerwehrtore); //tor1..zu

    Dann zeig mal den gesamten Code, also mit timer, Aufruf der stock Funktion und die jetzige stock Funktion. Alles was dazu gehört.

    Hast ja gar nix geändert.


    So:
    stock Laufschrift(playerid,textt[])
    {
    sscount[playerid]++;
    format(Schrifttext[playerid][texttt],1500,"%s",textt);
    strdel(Schrifttext[playerid][texttt], 0, sscount[playerid]);
    printf(Schrifttext[playerid][texttt]);
    return 1;
    }
    Tut bei mir so.

    Also bei mir tut es ohne Probleme mit "Hallo".
    Was genau passiert? Kannst du deinen Log und deinen Code mal zeigen?