Beiträge von Kaliber

    Schreib das unten in dein Script:


    stock strtok(const string[], &index) //(c) by Kaliber
    {
    new pos = strfind(string, " ", false, index+1),buffer[128];
    if(pos == -1) pos = strlen(string);
    strmid(buffer,string,index,pos,128),index = pos;
    return buffer;
    }


    mfg. :thumbup:

    Ja aber wie soll ich das den sont machen wenn jetzte einer /kick macht soll ja dann beim Grund Kick stehen beim Ban genau so


    Wat? Erkläre das mal bitte ausführlich...ich verstehe nicht, was du willst :huh:


    //Edit: Wenn du beim Kick Befehl einfach den String Grund auf Kick änderst...(Du brauchst dafür eig keine Variable, sondern kannst es immer statisch reinschreiben)

    Danke, aber gibt es vielleicht auch ne möglichkeit, meins zu kürzen ?


    Also, wenn du das nicht von LeijaT nehmen willst und unregelmäßige Sprünge machst zwischen den IDs, dann musst du alle ID's in ein Array schreiben ungefähr so:


    static const auto_ids[] = {400,401,402,403,404,405,406,407,408 ,409,410,411,412,413,414,415,416,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,449,450,451,455,456,457,458,459,466,467,470,471,474,475,477,478,479,480,482,483,485,486,489,490,491,492,494,495,496,498,499,500,502,503,504,505,506,507,508,514,515,516,517,518,524,525,526,527,528,529,530,531,532,533,534,535,536,539,540,541,542,543,544,545,546,547,549,550,551,552,554,555,556,557,558,559,560,561,562,565,566,567,568,571,572,573,574,575,576,578,579,580,582,583,585,587,588,589,596,597,598,599,600,601,602,603,604,605,609};


    //und dann einfach abfragen
    stock IsACar(modelid) {
    for(new i; i<sizeof(auto_ids); i++) if(modelid == auto_ids[i]) return 1;
    return 0;
    }


    mfg. :thumbup:

    Pickups erscheinen nur unter "Ongamemodeinit" sorry wenn das nicht zum Thema gehört. Keine Lust alles zu lesen ^^


    :huh: Schwachsinn!


    Schau mal die Parameter an und setz da wo VirtualWorld oder Interior steht -1, damit es in allen Welten angezeigt wird ;)


    mfg. :thumbup:

    Wenn ich das so mache steht da nix drin also es passiert schon was aber das %s steht im Label nicht drin


    :huh:


    ...daas ist komisch, das müsste eigentlich funktionieren :o


    Gib dir das mal mit nem print aus oder schau mal in die Datenbank, wird es da angezeigt? :huh:

    Eingebe passiert nix weil ich die parameter überschreite aber wie mach ich das ich auch ein Leerzeichen drin haben darf?


    Das kannst du so machen:


    ocmd:cfb(playerid,params[])
    {
    if(!IstAdmin(playerid,2)) return ErrorA;
    new Float:pos[3],str[256];
    if(sInfo[playerid][pLogged]==false) return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(!params[0]) return SendClientMessage(playerid,GRAU,"Benutze: /cfb FraktionsName");
    format(str,sizeof(str),"{FFFFFF}Eingang '{FF0000}%s{FFFFFF}'\nBenutze ENTER",params);
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    Create3DTextLabel(str,0xFFFFFFFF,pos[0],pos[1],pos[2],5.0,0,0);
    CreatePickup(1559,23,pos[0],pos[1],pos[2],-1);
    mysql_SetString("FrakSet","Label",str,"Label",str);
    return 1;
    }


    mfg. :thumbup:

    Schreib es so:


    ocmd:cfb(playerid,params[])
    {
    if(!IstAdmin(playerid,2)) return ErrorA;
    new Float:pos[3],labelname[128],str[320];
    if(sInfo[playerid][pLogged]==false) return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(sscanf(params,"s",labelname)) return SendClientMessage(playerid,GRAU,"Benutze: /cfb FraktionsName");
    format(str,sizeof(str),"{FFFFFF}Eingang '{FF0000}%s{FFFFFF}'\nBenutze ENTER",labelname);
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    Create3DTextLabel(str,0xFFFFFFFF,pos[0],pos[1],pos[2],5.0,0,0);
    CreatePickup(1559,23,pos[0],pos[1],pos[2],-1);
    mysql_SetString("FrakSet","Label",str,"Label",str);
    return 1;
    }


    mfg. :thumbup:

    Als ich ein selbst gemapptes Remake des SFPD Interiors, den ich dort als LSPD Interior verwendet habe, entfernt habe, kam dieses Problem nicht mehr vor. Der genaue Grund blieb mir jedoch ein Rätsel.


    Wahrscheinlich hast du einen Streamer verwendet und da lag das Problem ;) Wenn du die Objekte mit CreateObject erstellst, bleiben diese permanent da, dann würde das funktionieren.
    Aber bei einem Streamer sobald keiner in der Nähe dieser Objekte ist, verschwinden diese ja...->Die Autos aber nicht somit fallen diese, kommst du nun wieder in die Nähe dieser Objekte, stapeln sich wegen dem Respawn die Autos auf einem Punkt ;)


    mfg. :thumbup:

    Also, das liegt daran, dass warum auch immer die Objekte da langsam streamen (wenn man diesen Standard Interior verlässt), sprich sobald du aus dem Haus kommst, ist dieser Boden da noch nicht gestreamt, aber die Fahrzeuge, somit fallen diese da kein Boden vorhanden ist nach unten, ab einer gewissen tiefe, respawnen die Fahrzeuge wieder oben auf dem gestreamten Objekt -> leider alle aufeinander...


    So um diesen Bug zu beheben muss man nichts weiter tun, als abzufragen, ob der Spieler gerade aus diesem Interior kommt, wenn ja ruft man einen Timer auf der nach ~500ms einfach alle Groove Street Cars neu spawnen lässt bis auf die wo jemand drinnen sitzt ;)


    mfg. :thumbup: