Beiträge von 8D

    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    Gibt da Zwei Optionen:


    1.


    stock IsPlayerInRangeOfVehicle(playerid,vehicleid,Float:range)
    {
    new Float:x1,Float:x2,Float:x3;
    GetVehiclePos(vehicleid,x1,x2,x3);
    if(IsPlayerInRangeOfPoint(playerid,range,x1,x2,x3)) return true;
    else return false;
    }


    und dann den Befehl umbauen zu:


    dcmd_rtv(playerid,params[])
    {
    #pragma unused params
    if(gAdmin[playerid]<1)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin oder dein Admin-Rang ist zu niedrig!");
    }
    new Float:ergebnis = 9999.9999, id = -1;
    for(new v= 0; v < MAX_VEHICLES; v++)
    {
    if(ergebnis > GetDistanceBetweenPlayerAndCar(v,playerid))
    {
    ergebnis = GetDistanceBetweenPlayerAndCar(v,playerid);
    id = v;
    }
    }


    if(id != -1 && IsPlayerInRangeOfVehicle(playerid,id,20.0))
    {
    SetVehicleToRespawn(id);
    }
    }
    return 1;
    }



    ODER 2. Nur den Befehl umbauen zu:



    dcmd_rtv(playerid,params[])
    {
    #pragma unused params
    if(gAdmin[playerid]<1)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin oder dein Admin-Rang ist zu niedrig!");
    }
    new Float:ergebnis = 9999.9999, id = -1;
    for(new v= 0; v < MAX_VEHICLES; v++)
    {
    if(ergebnis > GetDistanceBetweenPlayerAndCar(v,playerid))
    {
    ergebnis = GetDistanceBetweenPlayerAndCar(v,playerid);
    id = v;
    }
    }


    if(id != -1 && ergebnis <= 20.0))
    {
    SetVehicleToRespawn(id);
    }
    }
    return 1;
    }

    Bei dem anderen hast du 2 Stocks.


    Bei meinem nur ein Stock + die kleine Abänderung bei dem Befehl, welche die 2 Funktion ersetzt. :)


    EDIT: Der Radius wird automatisch bestimmt, halt vom am nächsten vorhandenen Fahrzeug.


    Oder willst du den "Suchradius" selbst bestimmen?

    Öhm warum so umständlich...


    dcmd_rtv(playerid,params[])
    {
    #pragma unused params
    if(gAdmin[playerid]<1)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin oder dein Admin-Rang ist zu niedrig!");
    }
    new Float:ergebnis = 9999.9999, id = -1;
    for(new v= 0; v < MAX_VEHICLES; v++)
    {
    if(ergebnis > GetDistanceBetweenPlayerAndCar(v,playerid))
    {
    ergebnis = GetDistanceBetweenPlayerAndCar(v,playerid);
    id = v;
    }
    }


    if(id != -1)
    {
    SetVehicleToRespawn(id);
    }
    }
    return 1;
    }

    Jo das ist wieder einmal Flip...


    Du hast die Funktion nicht, die er im Code mitgegeben hat.


    Hier mal etwas für dich:


    stock Float:GetDistanceBetweenPlayerAndCar(vehicleid,playerid)
    {
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(vehicleid == -1)
    {
    return -1.00;
    }
    GetVehiclePos(vehicleid,x1,y1,z1);
    GetPlayerPos(playerid,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }


    Du denkst jetzt bestimmt, dass dir das nicht viel bringt:



    Aber:



    mit einer for schleife und einer Variable die die vehicleid mit dem kleinsten Abstand speichert, hast du das was du brauchst.

    Eine Woche und gut, Benni hat hier moderiert und nicht du Armenia -.-


    //Edit by Armenia: Ich habe es mit Benni beredet... wir sind auf 2Wochen gekommen und dann mal schauen. Daher keine Angst, wurde mit ihm ausdiskutiert...


    EDIT Dann bitte ich doch darum, dass die moderative Kraft, diese Entscheidung mal überdenkt, bevor es sich auf des Niveau des Täters begibt.. ist doch lächerlich alles.

    Vielleicht mal mit den Grundlagen auseinander setzen, bevor ihr "scripted" und includes nimmt.


    was ist damit?



    SendFriendMessage(playerid,"Hier die Nachricht");