Beiträge von Kaliber

    Nun, ich gebe dir mal ein Beispiel, da die Tutorials dafür, nicht wirklich "gut" sind:


    //Unter OnGameModeInit
    SetTimer("@StartClock",1000,1);


    //Außerhalb eines Callbacks und jeglicher Funktionen, einfach ins Script schreiben
    @StartClock();
    @StartClock() {
    new string[9],h[3];
    gettime(h[0],h[1],h[2]);
    format(string,sizeof string,"%02d:%02d:%02d",h[0],h[1],h[2]); //(gibt aus): Hour:Min:Sek
    return TextDrawSetString(TextDrawID, string); //<< ersetze TextDrawID mit deiner id
    }


    mfg. :thumbup:

    Da gibt es keine Begrenzung


    Doch, dann wenn der Speicher voll ist :D


    Aber naja, man muss bei diesem Beispiel nichtmal strcat nutzen, schreibs einfach so:


    format(strx,sizeof(strx),"\n{BDBDBD}Deine Lizenzen\n\n[{00FFFF}Autoführerschein: {FF00FF}%s{BDBDBD}]\n[{00FFFF}Motorradschein:{FF00FF} %s{BDBDBD}]\n[{00FFFF}LKW-Schein: {FF00FF}%s{BDBDBD}]\n[{00FFFF}Flugschein: {FF00FF}%s{BDBDBD}]\n[{00FFFF}Waffenschein: {FF00FF}%s{BDBDBD}]\n\n Punkte:\n[{00FFFF}Auto: {FF00FF}%s{BDBDBD}]\n[{00FFFF}Motorrad: {FF00FF}%s{BDBDBD}]\n[{00FFFF}LKW: {FF00FF}%s{BDBDBD}]\n ",
    Spieler[playerid][Autoschein],Spieler[playerid][Bikeschein],Spieler[playerid][LKWSchein],Spieler[playerid][Flugschein],Spieler[playerid][Waffenschein],Spieler[playerid][AutoPunkte],Spieler[playerid][BikePunkte],Spieler[playerid][LKWPunkte]);


    PS: Wenn man nicht erkennt, was ich gemacht habe, nach dem letzen \n", einfach ein return, also da wo die Variablen anfangen.


    mfg. :rolleyes:

    Ich wollte mal wissen ob es möglich ist die Position des Kopfes herauszufinden? Weil jeder Skin ist ja unterschiedlich groß und man kann dann keine atacged objecte auf den Kopf setzten.


    Wenn du z.B. rausfinden willst, ob er in den Kopf geschossen wurde, kannst du den Callback:


    OnPlayerTakeDamage nehmen und da gibt es die Möglichkeit (seid 0.3z) den Bodypart zu ermitteln:


    BODY_PART_HEAD (9) -> dem Kopf


    Oder für was brauchst du das? :huh:


    mfg. :thumbup:

    Kann mir jmd weiterhelfen?


    Sollen wir jetzt raten ... oder was willst du von uns? :huh:


    Also ich würde raten, du aktualisierst die Farbe nicht richtig :)


    Um dir aber deinen Fehler zu erklären, müsstest du einen Codeschnipsel posten, nämlich den, wo du es einstellst...


    Spoiler anzeigen
    Ist doch nicht so schwer zu verstehen, wie man einen ordentlichen Thread eröffnet? :S 


    mfg. :rolleyes:

    CreateVehicle(CarId,x,y,z,Rotation,farbe1,Farbe2,fraktion,Rank,Schein);


    Nun, nur um dir das kurz zu erklären, dass ist nicht die originale Funktion von SA:MP, sie wurde gehookt und dann hat jemand die Parameter editiert.


    Nutzen tust du das einfach, indem du hinten die zusätzlichen Parameter dran hängst:


    CreateVehicle(500,-520.7999878,2579.6999512,53.5999985,270.0000000,0,6,Fraktion,Rank,Schein);


    Die Variablen Fraktion,Rank und Schein natürlich mit deinen Variablen ersetzen bzw statisch reinschreiben ^^


    mfg. :thumbup:

    Das ist komisch, sicher das das die richtige Zeile ist? :huh:


    Weil der Compiler, da gar keinen Fehler erkennen kann...erst während der Laufzeit...z.B. kannst du sowas machen:


    new test[5];


    new a = -1;
    test[a] = 1;


    //oder:
    new a = 9999;
    test[a] = 1;


    Da treten, dann die Fehler erst während der Laufzeit auf, nicht während dem compilen.


    Während dem Compilen, kommen nur Fehler, bei statischen Werten, sprich wenn man es so macht:


    new test[5];


    const a = -1;
    test[a] = 1;


    //Oder
    test[-1] = 1;


    Da erkennt das der Compiler, da das direkt verarbeitet wird.


    Hast du evtl ein Makro o.ä. was ahi oder ticket heißt? Oder eine Variable, die ticket heißt mit einer Dimension? :huh:


    mfg. :thumbup:

    Probiers doch mal so:


    ocmd:configplayer(playerid,params[]){
    if(SpielerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, "Dir fehlen leider die Rechte dazu, diesen Befehl auszuführen!");
    new pID,syntax[32],wert,string[128];
    if(sscanf(params,"usi", pID, syntax, wert))return SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /configplayer [Spieler/ID] [Syntax] [Wert]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist leider nicht online!");
    if(!strcmp(syntax, "level",true)) {
    SetPlayerScore(pID, wert);
    format(string, sizeof(string), "Du hast das Level von %s auf %i gesetzt!", GetName(pID), wert);
    return SendClientMessage(pID,-1,string);
    }
    return SendClientMessage(playerid,-1,"Es existiert nur die Syntax Level!");
    }


    mfg. :thumbup:


    //Edit: Was vergessen

    Bei OnPlayerConnect ?


    Nein...er hat doch geschrieben bei OnPlayerText:


    public OnPlayerText(playerid, text[]) {
    new Float:p[3],msg[145],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME),GetPlayerPos(playerid,p[0],p[1],p[2]),format(msg,sizeof msg,"%s sagt: %s",name,text);
    for(new i; i<MAX_PLAYERS; i++) if(IsPlayerInRangeOfPoint(i,25.0,p[0],p[1],p[2])) SendClientMessage(i,0xCCCCCCFF,msg);
    return 0;
    }


    Du musst den Radius auch ausschalten.
    LimitGlobalChatRadius();


    Nein...muss man nicht, man kann auch einfach 0 returnen ;)


    mfg. :rolleyes:

    atal error 100: cannot read from file: "jk_function"


    Dieser Fehler bedeutet, dir fehlt diese Include.


    Es ist aber eine selbstgeschriebene, nicht publizierte Include, somit musst du dich an den Urheber des Scriptes wenden, wenn du es editieren / compilen willst ;)


    mfg. :thumbup:

    weiß jemand Rat ?


    Also, der Rucksack ist nicht unbedingt das beste Objekt für diese Aktion. Da die Keilriemen sehr abstehen und jeder Skin anders lang ist...und das deshalb nicht immer optimal ist.


    Ich hab dir mal eine Position ermittelt, die als Mittelmaß eigentlich ganz gut geeignet ist:


    AttachObjectToPlayer(objid,0,0.0,-0.14,0.13,180.0,90.0,180.0); //objid mit der objektid von deinem Objekt ersetzen...


    mfg. :thumbup: