Beiträge von Kaliber

    Alles schön und gut. Aber wie sieht es mit den anderen Funktionen aus?
    Vorallem, wie mache ich das, wenn ich im eigentlichen Gamemode, den Bot direkt in ein definiertes Fahrzeug setze? Ich hab vehicleid durch die Variable geändert. Diese erkennt er aber dennoch nicht an.


    Im Gamemode, musst du ohne a_npc arbeiten.


    Allerdings ist das doch kein Problem, wenn du die ID vom Bot hast, kannst du doch PutPlayerInVehicle etc...nutzen :rolleyes:

    Ich brauche da sowas wie


    In der a_npc Include gibt es die Funktion GetPlayerVehicleID, sprich man kann sich die Funktion IsPlayerInVehicle basteln:


    stock IsPlayerInVehicle(playerid,vehicleid) return (GetPlayerVehicleID(playerid) == vehicleid) ? 1 : 0;
    stock IsPlayerInAnyVehicle(playerid) return (GetPlayerVehicleID(playerid) != 0) ? 1 : 0;


    mfg. :thumbup:

    cool bleiben


    Okay, sry :D


    Mach es mal so:


    ocmd:roadblock(playerid,params[])
    {
    new wantedplayerid, Float:xwpid, Float:ywpid, Float:zwpid;
    if(sscanf(params,"u",wantedplayerid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_WHITE,"Du kannst einem Spieler eine Straßensperre an der Brücke von Los Santos und Flint County erstellen."), SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /roadblock [ID]");
    if(!IsPlayerConnected(wantedplayerid)) return SendClientMessage(playerid,-1,"Dieser Spieler ist nicht online!");
    GetPlayerPos(wantedplayerid,xwpid,ywpid,zwpid);
    if (!IsPlayerInRangeOfPoint(wantedplayerid,250,52.2971,-1534.7878,4.7385) || !IsPlayerInRangeOfPoint(playerid,250,xwpid,ywpid,zwpid)) return SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_RED,"Straßensperre fehlgeschlagen! Der Spieler wäre zu nah an der Straßensperre oder du bist zu weit entfernt vom Spieler.");
    SendClientMessage(playerid,COLOR_WHITE,""), SendClientMessage(playerid,COLOR_YELLOW,"Es wurde eine Straßensperre an der Brücke von Los Santos und Flint County errichtet.");
    CreateVehicle(596,51.4780,-1540.6693,4.6917,172.2895,0,1,0); // 1
    CreateVehicle(596,52.2971,-1534.7878,4.7385,352.3497,0,1,0); // 2
    CreateVehicle(596,53.1344,-1528.8831,4.6971,171.5437,0,1,0); // 3
    CreateVehicle(596,53.9985,-1523.2626,4.5887,352.5575,0,1,0); // 4
    return 1;
    }


    mfg. :thumbup:

    Ich dachte mir schon was ist das für ein Schwachsinn


    Also es gibt IsPlayerInVehicle, diese Funktion hat 2 Parameter und prüft ob sich der Spieler in diesem Auto befindet.


    und es gibt IsPlayerInAnyVehicle, diese Funktion hat nur 1nen Parameter und prüft ob der Spieler sich überhaupt in irgendeinem Auto befindet ;)


    mfg. :thumbup:

    Welche Sprache?


    Wir sind hier im GTA SA:MP Bereich..unter Scripting Base...also wahrscheinlich Pawn.


    Allerdings mal was zu der Anfrage:


    1. Das hier ist die falsche Sektion.
    2. Was ist das für eine Anfrage? 1. Achte mal auf deine Rechtschreibung und 2. Schreib mal mehr über dich, wie alt bist du...etc?
    3. Konkretisiere deine Anfrage, was genau willst du wissen?
    4. Bietest du eine Gegenleistung?


    mfg. :rolleyes:

    Hättest du doch auch einfach 5000 eintragen können


    Ja...und? Macht doch keinen Unterschied, da das vom Compiler schon ausgerechnet wird und ich es so übersichtlicher finde :p


    Denn 1000*60*60 ist ja wohl übersichtlicher als 3600000? :D Da hat man immer einen schönen Überblick, wie lange das ist ;)


    mfg. :thumbup:

    danke für jede hilfe


    Meinst du sowas?


    if(!strcmp(cmd, "/rep", true)) {
    if(!IsPlayerInRangeOfPoint(playerid,8.0,1547.7292,-1609.7852,12.9977)) return SendClientMessage(playerid,COLOR_GRAD1,"Du befindest dich nicht am Repair-Point!");
    if(!IsACop(playerid) || !IsPlayerInFrac(playerid, 7)) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Cop!");
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,COLOR_GRAD1,"Du bist nicht der Fahrer eines Wagens!");
    new vID = GetPlayerVehicleID(playerid),Float:p[4];
    GetVehiclePos(vID,p[0],p[1],p[2]),GetVehicleZAngle(vID,p[3]);
    SetVehiclePos(vID, newX, newY, newZ),SetVehicleZAngle(vID, newA); //Hier natürlich neue Koordinaten einsetzen, wo das auto hin soll
    RepairVehicle(vID),SetVehicleHealth(vID, 1000.0);
    SendClientMessage(playerid, COLOR_GREY, "Dein Auto wurde auf kosten des Staates repariert!");
    return SetTimerEx("@reSET",1000*5,0,"dffff",vID,p[0],p[1],p[2],p[3]); //Der Timer portet das Auto in 1000*5ms zurück ->das sind 5 Sekunden
    }


    //Unten im Script
    @reSET(vID,Float:x,Float:y,Float:z,Float:a);
    @reSET(vID,Float:x,Float:y,Float:z,Float:a) return SetVehiclePos(vID,x,y,z),SetVehicleZAngle(vID,a);


    Achte auf meine Kommentare ;)


    mfg. :thumbup:

    Also das ab 16 Spieler die Hälfte "Random" wird


    Ja...das ändert das ganze Prinzip meinste nicht :wacko:


    Dann kannst du das nicht so machen, mit einer Funktion wo ich dir Werte zurück gebe...das wäre dann irgendwann bei 200 Spielern lächerlich :D


    Sprich, du musst das in der Schleife selbst deinen Code verarbeiten.


    Die Frage ist jetzt nur, was genau willst du denn machen, wenn du eine random Spielerid hast...zeig mal deinen Code...und kommentier den mal bitte!


    mfg. :thumbup: