Beiträge von ArTeX

    Wenn ich einen befehl eingebe soll er aber random den objekten texturen zuweisen. Und bei mit ist das problem, dass er nur eine textur vergibt und nicht jedem objekt eine andere..

    Prototyp wenn ich es so mache wie du, kriege vh den Fehler tag mismatch.


    Und wenn ich es so mache, das alle objekte ubter einem array sind, wird nur eine textur immer gesetzt und nicht eine verschirdene.


    Sprich:

    new Texturen[][texturEnum] ={
    { 19343, 146.07700, 1864.98975, 720.62543 },
    { 19343, 149.28700, 1857.98975, 720.62543 }
    //120 weitere ##################
    };


    new rand;


    rand = random(sizeof(RandomTexture));
    for(new i=0; i<sizeof(Texturen); i++) SetObjectMaterial(CreateObject(Texturen[i][id],Texturen[i][x],Texturen[i][y],Texturen[i][z],0.0, 0.0, 0.0), RandomTexture[rand][index],RandomTexture[rand][modelid],RandomTexture[rand][txdname],RandomTexture[rand][texturename]);

    Habs 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, 139.65700, 1843.98975, 720.62543 }
    },
    {
    { 19362, 136.44701, 1843.98975, 720.62543 },
    { 19362, 136.44701, 1836.98975, 720.62543 }
    };


    Kaliber: Pro Textur sollen 24 Objekte belegt werden. Sprich Textur1 = 24 Objekte, Textur2 = 24 Objekte und so weiter.

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


    new RandomTexture[][] =
    {
    {0, 8839, "vgsecarshow", "lightred2_32"},
    {0, 8839, "vgsecarshow", "lightblue2_32"}
    };


    new Textur[][oDATA] ={
    { 19362, 120.39700, 1868.46973, 720.62543 },
    { 19362, 149.28700, 1864.98975, 720.62543 }
    },
    { // Fehler : Zeile 48
    { 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 }
    }; // Zeile: 152


    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]); // Zeile 246
    }
    }
    return 1;
    }


    Folgende Fehlermeldung :



    IPrototypeI:

    Hallo Liebe Leute.


    Ich versuche gerade ein kleines Random System zu erstellen, was jedoch nicht ganz klappt bzw. mir paar Teile fehlen.


    Pro Array (Textur1,Textur2,Textur3,Textu4,Textur5) gibt es 24 Objekte. Für diese Objekte sollten verschiedene Texturen gesetzt werden. Damit es jedoch fair bleibt, soll es pro eine Textur 24 Objekte geben.

    19343 = Objekt ID, X,Y,Z


    new Textur1[][] ={
    { 19343, 146.07700, 1864.98975, 720.62543 },
    { 19343, 149.28700, 1857.98975, 720.62543 }
    //22 weitere
    };
    new Textur2[][] ={
    { 19343, 146.07700, 1864.98975, 720.62543 },
    { 19343, 149.28700, 1857.98975, 720.62543 }
    //22 weitere
    };



    // 3 Weitere Arrays Textur3,Textu4,Textur5



    Wie muss ich das dann hier eintragen?

    for( new i = 0; i< sizeof(Was muss ich hier eintragen?); i++ ) {
    new rand = random(sizeof(RandomTexture));
    SetObjectMaterial(Was muss ich hier eintragen?, RandomTexture[rand][0],RandomTexture[rand][1],RandomTexture[rand][2],RandomTexture[rand][3]); // ?!


    Muss ich dann, da wo steht "Was muss ich hier eintragen?", einfach textur1 bis textur 5 eingeben oder wie?
    Danke im vorraus.


    Mit freundlichen Grüßen,
    ArTeX

    Voerest eine Frage an dich:
    Ist das ganze ernst gemeint ?


    Sorry aber wer braucht für so etwas 7 Stunden und kriegt dabei nur 42 Objekte heraus, die auch sehr Unordentlich sind ?
    Mit gefällt die Map garnicht.


    • Genauer bzw. Sauberer arbeiten
    • auf Details achten
    • Standort anschauen, ob die gegend passt

    Mit freundlichen Grüßen,
    ArTeX

    Hallo Liebe Leute!


    Ich bin dabei zu versuchen, einem Objekt eine Random Textur zu vergeben. Jedoch funktioniert das nicht soo richtig ^^.


    Hier meine Codes:

    new TexturObjekt[91];
    new RandomTexture[][6] =
    {
    {0, 8839, "vgsecarshow", "lightred2_32"},
    // und 4 weitere
    };

    TexturObjekt[0] = CreateObject(19135, 156.80719, 1836.22046, 720.56110, 0.00000, 0.00000, 0.00000);
    //und 90 weitere^^
    new rand = random(sizeof(RandomTexture));
    SetObjectMaterial(CreateObject(TexturObjekt,(RandomTexture[rand][0],RandomTexture[rand][1],RandomTexture[rand][2],RandomTexture[rand][3])));



    Ich hoffe einer kann mir helfen :)

    Könnte man eventuell nicht ein kleines PlugIN entwickeln wie z.B. ePvP?


    Sprich man kann leuten eine Handelsanfrage schicken und diese müssen sie entweder annehmen oder Ablehnen.
    Sobald sie halt Annehmen können sie Tauschen, ist der Tausch vorbei, kann man eine Bewertung abgeben (Positiv | Negativ).


    So hat man eventuell einen kleinen Durchblick, wer alles "Trusted" ist.


    Mit freundlichen Grüßen,
    ArTeX


    *g*

    Funktioniert zwar, der Timer zählt die 30 Sekunden, jedoch werden alle anderen Befehle nicht ausgeführt. ..


    forward death(playerid);
    public death(playerid)
    {
    InterpolateCameraPos(playerid, 2454.573486, 482.416442, 26.832387, 3137.125244, 453.426483, 8.098261, 20000);
    InterpolateCameraLookAt(playerid, 2459.530517, 482.120056, 26.249044, 3142.104003, 453.345855, 7.644776, 20000);
    TextDrawShowForPlayer(playerid, Textdraw36);
    TimeM = 0;
    TimeS = 30;
    Time = SetTimerEx("UpdateTime",1000,true, "i", playerid);
    TogglePlayerControllable(playerid,0);
    return 1;
    }



    forward UpdateTime(playerid);
    public UpdateTime(playerid)
    {
    new Str[34];
    TimeS --;
    if(TimeM == 0 && TimeS == 0)
    {
    KillTimer(Time);
    SelectTextDraw(playerid, 0xA86115FF);
    TextDrawHideForPlayer(playerid,Textdraw36);
    }
    if(TimeS == -1)
    {
    TimeM--;
    TimeS = 59;
    }

    format(Str, sizeof(Str), "%02d:%02d", TimeM, TimeS);
    TextDrawSetString(Textdraw36, Str);
    return 1;
    }

    Hallo leute, ich habe wieder ein problem ...
    Unzwar wenn ich Sterbe (OnPlayerDeath), soll ein Timer aufgerufen werden, der dem Spieler erst nach 30 Sekunden das Spawnen erlaubt.
    Vorher hat es funktioniert, nun geht es aber nicht mehr...


    Code:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    TogglePlayerControllable(playerid,0);
    SetTimer("death",2500,false);
    return 1;
    }



    forward death(playerid);
    public death(playerid)
    {
    TogglePlayerControllable(playerid,0);
    InterpolateCameraPos(playerid, 2454.573486, 482.416442, 26.832387, 3137.125244, 453.426483, 8.098261, 20000);
    InterpolateCameraLookAt(playerid, 2459.530517, 482.120056, 26.249044, 3142.104003, 453.345855, 7.644776, 20000);
    TextDrawShowForPlayer(playerid, Textdraw36);
    TimeM = 0;
    TimeS = 30;
    Time = SetTimer("UpdateTime", 1000, true);
    return 1;
    }


    Auch der Textdraw36, wird nicht angezeigt.

    Geht leider nicht...
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"skin",dini_Int(Spielerdatei,"skin"));
    SetPlayerSkin(playerid,GetPVarInt(playerid, "skin"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"loggedin",1);
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du wurdest vom Server gebannt!");
    Kick(playerid);
    }
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    }
    return 1;
    }

    Hallo Community.


    Ich versuche zurzeit den Skin zu speichern, was jedoch nicht klappt.
    Wenn ich einen Skin habe, vom Server Disconnecte, wird er in der Dini gesavt.
    Aber wenn ich wieder auf den Server gehe, mich Einlogge, wird er wieder auf ID: 0 gesetzt.


    Auch die Sufu hab ich schon genutzt, aber jeder hatte immer das gleiche irgendwie ...


    Codes:


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"skin",GetPlayerSkin(playerid));


    }
    return 1;
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerSkin(playerid,GetPVarInt(playerid, "skin"));


    }
    return 1;
    }