Beiträge von ElektroFreak

    Ok jetzt geht soweit alles aber habe nur den namen vom befehl "rampeweg" geändert und die zahlen dazu geändert aber wenn ich dann versuche die rampe zu entfernen steht im chat: SERVER:UNKOWN COMMAND



    vorher(geht)

    [list=1][*]if(strcmp(cmdtext, "/rampeweg", true, 9) == 0)
    [*]{
    [*] if(strlen(cmdtext) == 9) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /rampeweg [Slot]");
    [*] else if(cmdtext[9] == ' ')
    [/list]


    geht nicht
    [list=1][*]if(strcmp(cmdtext, "/lrampe", true, 7) == 0)
    [*]{
    [*] if(strlen(cmdtext) == 7) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /lrampe [Slot]");
    [*] else if(cmdtext[7] == ' ')
    [*]{
    [*]tmp = strtok(cmdtext, idx);
    [*]slot = strval(tmp);
    [/list]


    und dann halt die variable slot für die rampe bzw


    GetObjectPos(rampeID[slot], x ,y ,z);


    @Jeffry

    habe es jetzt auch beim entfernen befehl verucht aber wenn ich das so habe dann steht IMMER dass man nicht in der nähe ist und wenn ich die zeile mit dieser abfrage mal rausnehme dann wird immer nur objekt 0 entfernt egal welche zahl man schreibt.



    if(strcmp(cmdtext, "/entfernen", true, 10) == 0)
    {


    if(strlen(cmdtext) == 10) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /entfernen [ID]");
    else if(cmdtext[10] == ' ')
    {


    new i;
    for(new j = 0; j < sizeof(rampeID); j++)
    {
    if(rampeID[j] == -1) continue;
    GetObjectPos(rampeID[j], x, y, z);
    }


    if(i < 0 || i >= sizeof(rampeID)) return SendClientMessage(playerid, 0xFF0000FF, "Es gibt nur Objekte von 1-20");


    if(rampeID[i] == -1) return SendClientMessage(playerid, 0xFF0000FF, "Dieses Objekt existiert nicht!");


    if(!IsPlayerInRangeOfPoint(playerid, 4, x, y, z)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht in der Nähe des objects");



    DestroyObject(rampeID[i]);
    rampeID[i] = -1;
    rampeTime[i] = 0;


    new str[259];


    format(str, sizeof(str), "%d entfernt",i);
    SendClientMessage(playerid, 0xFF0000FF,str);




    }
    }


    @Jeffry

    @Jeffry



    if(strcmp(cmdtext, "/rampe", true) == 0)
    {
    new i, Float:x, Float:y, Float:z, Float:a;
    //Hier wird ein freier Slot (i) gesucht:
    for(i = 0; i < sizeof(RampeID); i++) if(RampeID[i] == -1) break;
    //Wenn keiner mehr frei ist:
    if(i == sizeof(RampeID)) return SendClientMessage(playerid, 0xFF0000FF, "Error: Es sind bereits alle Rampen-Slkots gefüllt, bitte lösche eine Rampe.");
    if(IsPlayerInRangeOfPoint(playerid, 6, RampeID[i])) return SendClientMessage(playerid, 0xFF0000FF, "Error: Die Rampe ist zu nah an einer anderen Rampe!");


    //Ansonsten erstelle das Objekt im Slot i.
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
    RampeID[i] = CreateObject(modelid, x, y, z-1, 0.0, 0.0, a); // >>> Bei modelid die Model-ID der Rampe eintragen. <<<
    RampeTime[i] = gettime() + 60 * 30; //30 Minuten
    RampeautowegTime[i] = gettime() + 60 * 40; //40 Minuten
    new str[32];
    format(str, sizeof(str), "Rampe%d", i);
    return SendClientMessage(playerid, 0xFFFFFFFF, str);
    }



    und einmal mit einem enum


    enum eRampe{
    Fload:RampeX.......


    bei new


    new RampeID[20][eRampe] = ....;


    aber dann kommt nen error dass eRampe nicht difiniert ist

    Danke!


    aber ich habe params nicht definiert
    geht es auch mit


    if(strcmp(cmdtext, "/rampeweg", true) == 0)


    also speziell die reihe:



    if(sscanf(params, "d", i)) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /rampeweg [Slot]");


    Und wie kann man machen dass nach z.b. 10minuten jeweils die rampe verschwindet? also Rampe 1 setzen um 18:00 und verschwindet um 18:10
    und dass dann Rampe 2 um z.b. 18:02 gesetzt wird und um 18:12 verschwindet?


    (bzw ein timer für die rampen einzeln)?


    @Jeffry

    Hallo,


    ich brauche nen Befehl womit ich Rampen erstellen kann mit Befehl aber die auch nur temporär gespeichert werden also z.b. 10minuten...


    Das sollte so aussehen:


    /createrampe


    Dass dann da eine Rampe erstellt wird ist kein problem aber die sollte dann Rampe1 heißen. und wenn man den befehl nochmal eingibt soll eine Rampe mit dem Namen Rampe2 erstellt werden....


    Damit man später mit /deleterampe [Name] bzw Nummer eingeben kann und man sollte in der nähe von der rampe sein...


    Also man sollte die Rampen mit einem befehl einzeln entfernen können ..


    Bitte um dringende hilfe!



    @Jeffry

    Hallo


    habe ein Problem womit ich schon lange zu kämpfen habe...


    Irgentwie möchte mein streamer nicht richtig laden weil die objekte schon bei einer geringen entfernung verschwinden.(siehe bild)


    wie kann man sowas beheben? (es ist mit createdynamicobject)


    Bild:


    Hallo,


    ich und meine Kumpels haben bei mir auf dem server ab heute erst andauernd timebug...


    woran kann sowas liegen also ursachen dass sowas entsteht?


    (urzeit bleibt stehen und man sieht chat aber man wird nicht gemovt/gespawnt)

    Hallo, habe nochmal ein direktes Thema gemacht wie ich das brauche bzw hilfe bennötige.


    Ich Möchte dass was man bei nem dialog bzw DIALOG_REGSTEP_3 der inputtext in der PlayerInfo[playerid][pMail] gespeichert wird...
    ich habe schon vieles versucht aber nichts hat funktioniert

    was ist mir festgelegter Emailspeicherort gemeint?



    habe es jz so:



    ...
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_INPUT,"E-Mail","blablabla","Weiter","zurück");
    ...
    if(dialogid == DIALOG_REGSTEP_3)
    {
    if(response == 1
    {
    OnPlayerEnterEmail(playerid,inputtext);
    }
    .....




    public OnPlayerEnterEmail(playerid, emaill[])
    {
    new string4[64];
    new File: hFile = fopen(string4, io_write);
    if (hfile)
    {
    strmid(PlayerInfo[playerid][pMail], email, 0, strlen(email), 255);
    new var[32];
    format(var, 32, "Email=%s\n", PlayerInfo[playerid][pMail]);fwrite(hfile, var);
    }