Beiträge von Kaliber

    Hm, klappt nicht. Bei mir switched es einfach durch ohne zu warten.


    In diesem Fall, vielleicht hilft dir dieses Makro: [ MAKRO ] Sleep Funktion


    Es kommt nichts in den Chat, ich bekomme aber auch keine Error


    Schreib das mal so:


    public OnPlayerText(playerid, text[])
    {
    new Float:p[3],n[MAX_PLAYER_NAME],str[144];
    GetPlayerName(playerid, n, sizeof(n)),GetPlayerPos(playerid, p[0], p[1], p[2]);
    format(str, sizeof(str), "%s sagt: %s", n, text);
    for(new i; i < MAX_PLAYERS; i++){
    if(!IsPlayerConnected(i) || !IsPlayerInRangeOfPoint(i, 25.0, p[0], p[1], p[2])) continue;
    SendClientMessage(i, 0xFFFFFFFF, str);
    }
    return 0;
    }


    mfg. :thumbup:

    Was machst du da auch? :huh:


    Schreib es so:


    enum oDATA {
    objectid,
    Float:X,
    Float:Y,
    Float:Z,
    };


    new RandomTexture[][] = {
    {0, 8839, "vgsecarshow", "lightred2_32"},
    {0, 8839, "vgsecarshow", "lightblue2_32"}
    }, Textur[][oDATA] ={
    { 19362, 120.39700, 1868.46973, 720.62543 },
    { 19362, 149.28700, 1864.98975, 720.62543 },
    { 19362, 146.07700, 1864.98975, 720.62543 },
    { 19362, 149.28700, 1857.98975, 720.62543 },
    { 19362, 142.86700, 1857.98975, 720.62543 },
    { 19362, 142.86700, 1850.98975, 720.62543 },
    { 19362, 120.39700, 1850.98975, 720.62543 },
    { 19362, 136.44701, 1836.98975, 720.62543 }
    };


    //und das unten


    public OnPlayerSpawn(playerid)
    {
    new rand;
    for( new i; i < sizeof(Textur); i++ ) {
    for( new x; x < sizeof(Textur[]); x++ ) {
    rand= random(sizeof(RandomTexture));
    SetObjectMaterial(CreateObject(Textur[i][x][objectid],Textur[i][x][X],Textur[i][x][Y],Textur[i][x][Z],0.0,0.0,0.0), RandomTexture[rand][0],RandomTexture[rand][1],RandomTexture[rand][2],RandomTexture[rand][3]);
    }
    }
    return 1;
    }


    mfg. :rolleyes:

    Also er zäht hoch und bei den zeichen runter :/


    Ja, was eine Überraschung :D


    Um dir dieses Phänomen mal zu erklären, es ist ganz einfach:


    //Nehmen wir einen String:
    new string[6] = "Hallo";


    //Printen wir nun etwas:
    print(string[0]); //Hier printet er: Hallo
    //Da alles ab dem 0ten Zeichen bis zum Ende ausgegeben wird.


    print(string[1]); //Hier printet er: allo
    //Da alles ab dem 1ten Zeichen bis zum Ende ausgegeben wird.


    Um das Problem, welches du hast zu lösen, musst du einfach dem String noch eine Dimension geben, da du ja noch Zeichen hast, sprich:


    LastDriver[vehicleid] = "Hallo";
    //Das ist falsch, da du z.B. jetzt nicht das H als Zeichen ausgeben kannst, sondern nur den ganzen String, oder halt ab dem Zeichen.


    new LastDriver[MAX_VEHICLES][6];
    LastDriver[vehicleid] = "Hallo";
    //Jetzt kannst du es ausgeben:
    LastDriver[vehicleid][0] // -> Das würde jetzt das H ausgeben


    Sprich du musst noch eine Dimension mit MAX_LENGTH des Strings angeben ;)


    mfg. :thumbup:

    Entscheid dich doch mal für eine Art von Commandprozessor...


    In deinem Server.log steht, du nutzt ocmd, dann kann es zu Komplikationen kommen, wenn du auch noch dcmd nutzt. Da der Callback gehookt wird und somit nicht mehr aufgerufen wird. Du müsstest das dcmd Makro in einen anderen von ocmd gefertigten Callback schreiben.


    Also nutze doch entweder nur ocmd oder dcmd, das wäre um einiges leichter :rolleyes:


    mfg. :thumbup:

    //Ban(giveplayerid);
    Kick(giveplayerid);


    Du kickst ihn ja auch nur :D


    Das Ban(giveplayerid); ist ja auskommentiert...sprich mach es so:


    Ban(giveplayerid);
    //Kick(giveplayerid); <<kannst du auch ganz löschen


    mfg. :rolleyes:

    Schreibe die Funktion so:


    stock CreateLanguage3DTextLabel(const textDE[], const textEN[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
    {
    if(pInfo[playerid][Language] == LANGUAGE_DE) CreateDynamic3DTextLabel(textDE, color, x, y, z, drawdistance, attachedplayer, attachedvehicle, testlos, worldid, interiorid, playerid, streamdistance);
    else if(pInfo[playerid][Language] == LANGUAGE_EN) CreateDynamic3DTextLabel(textEN, color, x, y, z, drawdistance, attachedplayer, attachedvehicle, testlos, worldid, interiorid, playerid, streamdistance);
    return 1;
    }


    Lerne den Unterschied zwischen Attributen und Parametern :rolleyes:


    mfg. :thumbup:

    Wie kann man den herrausfinden, wie viele Objekte erstellt worden sind(CreateDynamicObject, CreateObject), wie viele entfernt worden sind(RemoveBuildingForPlayer) und das per einen Print Output ausgeben lassen?


    Die Funktionen hooken und einen counter mitzählen lassen ;)


    Habe vor nem Jahr oder so das mal gemacht: [ INCLUDE ] Limit Counter


    Kannst dir da ja ein wenig Inspiration holen ;)


    mfg. :thumbup: