Beiträge von Tround

    mann könnte es auch so machen dann musste nicht immernoch den sitzplatz eingeben:


    PutPlayerInVehicle(pID,GetPlayerVehicleID(playerid),leerersitz(GetPlayerVehicleID(playerid)));//das in den /grab befehl einbauen

    stock leerersitz(fahrzeug)
    {
    new sitze[4];
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInVehicle(i,fahrzeug))
    {
    if(GetPlayerVehicleSeat(i)==0)sitze[0]=1;
    if(GetPlayerVehicleSeat(i)==1)sitze[1]=1;
    if(GetPlayerVehicleSeat(i)==2)sitze[2]=1;
    if(GetPlayerVehicleSeat(i)==3)sitze[3]=1;
    }
    }
    }
    for(new a;a<sizeof(sitze);a++)
    {
    if(sitze[a]==0)return a;
    }
    return 0;
    }

    man kann doch die gleiche variable einfach für alle autos benutzen da diese nur für einen bruchteil einer sekunde benutzt wird kann man sie direkt wieder verwenden beim nächsten auto.
    ist auf jeden fall resourcenschonender und funktioniert 100%



    ocmd:licht(playerid,params[])
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
    if(lights!=1)
    {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,1,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,ORANGE,"Du hast das Licht angeschaltet!");
    }
    else
    {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,0,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,ORANGE,"Du hast das Licht ausgeschaltet!");
    }
    return 1;
    }

    ich würde dir empfehlen für den spielernamen und fraktionsnamen stocks zu erstellen da du diese abfrage vermutlich mehrmals benutzten wirst.



    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
    new pID,fID,stringboy[128];
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
    SetPVarInt(pID,"Fraktion",fID);
    format(stringboy,sizeof(stringboy),"%s hat dich zum Leader der Fraktion: %s gemacht!",SpielerName(playerid),frakname(fID));
    SendClientMessage(pID,BLAU,stringboy);
    format(stringboy,sizeof(stringboy),"Du hast %s zum Leader der Fraktion: %s gemacht!",SpielerName(pID),frakname(fID));
    SendClientMessage(playerid,BLAU,stringboy);
    return 1;
    }


    stock SpielerName(playerid)
    {
    new maxname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,maxname,sizeof(maxname));
    return maxname;
    }


    stock frakname(frak)
    {
    new fname[25];
    switch(frak)
    {
    case 0:{fname="Zivilist";}
    case 1:{fname="LSPD";}
    case 2:{fname="Mafia";}
    case 3:{fname="Arzt";}
    }
    return fname;
    }

    new string[700]; new string2[500]; new string3[500]; new string4[100];

    es gibt ein zeichenlimit für jeden stock/befehl oder what ever. wenn du zu viele zeichen hast wird dir dieser "warning" angezeigt. bedeutet so viel wie das die letzten zeichen die über dem limit liegen einfach ignoriert werden und nicht verwendet werden.daher kommt auch der fehler "unknown command". wenn du wirklich alle diese zeichen brauchst empfehle ich dir diese global zu definieren denn da gibt es meines wissen kein zeichenlimit.

    da du in der schleife ein return machst wird ab 0 nicht weitergemacht da es 0 nicht gibt.
    probiers mal so:

    if(fexist(SDatei))
    {
    }


    habs bei mir so getestet und klappt :

    #define MAX_CARS 20


    enum autoenum
    {
    modelid,
    Float:fcx,
    Float:fcy,
    Float:fcz,
    Float:fca,
    Frakid,
    fcc1,
    fcc2,
    open,
    Opark
    }
    new FCInfo[MAX_CARS][autoenum];


    public OnFilterScriptInit()
    {
    LFC();
    }


    stock LFC()
    {
    for(new i=0;i<MAX_CARS;i++)
    {
    new SDatei[64];
    format(SDatei,50,"fcars/%d.txt",i);
    if(dini_Exists(SDatei))
    {
    FCInfo[i][modelid] = dini_Int(SDatei,"Model");
    FCInfo[i][fcx] = dini_Float(SDatei,"X");
    FCInfo[i][fcy] = dini_Float(SDatei,"Y");
    FCInfo[i][fcz] = dini_Float(SDatei,"Z");
    FCInfo[i][fca] = dini_Float(SDatei,"A");
    FCInfo[i][Frakid] = dini_Int(SDatei,"Fraktion");
    FCInfo[i][fcc1] = dini_Int(SDatei,"Farbe1");
    FCInfo[i][fcc2] = dini_Int(SDatei,"Farbe2");
    FCInfo[i][open] = dini_Int(SDatei,"Open");
    FCInfo[i][Opark] = dini_Int(SDatei,"Opark");
    CreateVehicle(FCInfo[i][modelid],FCInfo[i][fcx],FCInfo[i][fcy],FCInfo[i][fcz],FCInfo[i][fca],FCInfo[i][fcc1],FCInfo[i][fcc2],-1);
    }
    }
    return 1;
    }

    [video]

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/video]
    lololo :D

    joa so :



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_CTRL_BACK)
    {
    if(!IsPlayerInAnyVehicle(playerid))
    {
    TOROFFNEN(playerid);
    }
    }
    if(newkeys & KEY_CROUCH)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    TOROFFNEN(playerid);
    }
    }
    return 1;
    }
    stock TOROFFNEN(playerid)
    {
    if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7 || IsACop(playerid) || IsPlayerInFrac(playerid, 22))
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, 1285.7044677734, -2056.2905273438, 60.493286132813))
    {
    if(TorP == false)
    {
    MoveObject(PTor, 1285.7044677734, -2056.2905273438, 54.938991546631, 3.0);
    SendClientMessage(playerid, COLOR_GREEN, "Tor geöffnet");
    TorP = true;
    }
    else if(TorP == true)
    {
    MoveObject(PTor, 1285.7044677734, -2056.2905273438, 60.493286132813, 3.0);
    SendClientMessage(playerid, COLOR_RED, "Tor geschlossen");
    TorP = false;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist zu weit vom Tor entfernt!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied der Regierung!");
    }
    return 1;
    }