[Filterscript] AutoSpawn (Drei Slots)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • DiesesFILTERSCRIPT ist nur mit den nötigsten publics versehen der rest wurde entfernt:
    Würde mich über Kritik Verbesserungsvorschläge u.s.w. freuen



    Beschreibung:


    -/v [VehicleID(400-611)] :
    Spawn ein Auto auf dem nächst freien Slot.


    -/ruf [SlotID(1-3)]:
    Portet das Auto auf dem Slot zu sich her und portet einen als Fahrer rein


    -/delslot [SlotID(1-3)]:
    Löscht das Fahrzeug auf diesem Slot und Man kann wieder ein Auto darauf spawnen


    -wenn der Spieler offline geht wir das/die Auto/-s gelöscht
    Also ist nicht der ganze Server vermüllt


    -wenn das Auto kaputt geht wird der Slot automatisch wieder frei und man kann ein neues auf diesen Slot spawnen:
    Muss es nicht wieder Rufen und kann einfach ein neues darauf Spawnen


    -Beim betreten wir angezeigt von wem das Auto gespawnt wurde und ob es das eigene ist(nicht bei /ruf)



    ScriptCode:


    #define FILTERSCRIPT
    #include <a_samp>
    #if defined FILTERSCRIPT
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
    }
    public OnFilterScriptExit()
    {
    return 1;
    }
    #else
    main()
    {
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
    }
    #endif
    new Auto1[MAX_PLAYERS];
    new Auto3[MAX_PLAYERS];
    new Auto2[MAX_PLAYERS];
    new Auto11[MAX_PLAYERS];
    new Auto31[MAX_PLAYERS];
    new Auto21[MAX_PLAYERS];
    public OnPlayerConnect(playerid)
    {
    SendClientMessage(playerid,0xffaaffaa,"Filterscript 3Slot Autospawn by Blackybecks loaded");// darf rausgemacht werden ;D
    Auto1[playerid]=999;
    Auto2[playerid]=999;
    Auto3[playerid]=999;
    return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
    DestroyVehicle(Auto11[playerid]);
    DestroyVehicle(Auto21[playerid]);
    DestroyVehicle(Auto31[playerid]);
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(vehicleid == Auto11[i])
    {
    DestroyVehicle(Auto11[i]);
    Auto1[i]=999;
    SendClientMessage(i,0xddaaffff,"Slot 1 ist nun frei");
    }
    else if(vehicleid == Auto21[i])
    {
    DestroyVehicle(Auto21[i]);
    Auto2[i]=999;
    SendClientMessage(i,0xddaaffff,"Slot 2 ist nun frei");
    }
    else if(vehicleid == Auto31[i])
    {
    DestroyVehicle(Auto31[i]);
    Auto3[i]=999;
    SendClientMessage(i,0xddaaffff,"Slot 3 ist nun frei");
    }
    }
    }
    return 1;
    }


    new slot[MAX_PLAYERS];
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(strget(cmdtext,0),"/v",true)==0)
    {
    new vID = strval(strget(cmdtext,1));
    if( vID <= 611 && vID >= 400)
    {
    new Float:X,Float:Y,Float:Z,Float:Roat;
    new rand1=random(10);
    new rand2=random(10);
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,Roat);
    if(Auto1[playerid]== 999)
    {
    Auto11[playerid]=CreateVehicle(vID,X,Y,Z,Roat,rand1,rand2,-1);
    PutPlayerInVehicle(playerid,Auto11[playerid],0);
    slot[playerid]=1;
    new string[128];
    Auto1[playerid]=1;
    format(string,sizeof(string),"Sie haben ein Auto auf Slot %i gespawnt 1.Farbe: %i 2.Farbe: %i",slot[playerid],rand1,rand2);
    SendClientMessage(playerid,0xddaaffff,string);
    }
    else if(Auto2[playerid]== 999)
    {
    Auto21[playerid]=CreateVehicle(vID,X,Y,Z,Roat,rand1,rand2,-1);
    PutPlayerInVehicle(playerid,Auto21[playerid],0);
    slot[playerid]=2;
    new string[128];
    Auto2[playerid]=1;
    format(string,sizeof(string),"Sie haben ein Auto auf Slot %i gespawnt 1.Farbe: %i 2.Farbe: %i",slot[playerid],rand1,rand2);
    SendClientMessage(playerid,0xddaaffff,string);
    }
    else if(Auto3[playerid]== 999)
    {
    Auto31[playerid]=CreateVehicle(vID,X,Y,Z,Roat,rand1,rand2,-1);
    PutPlayerInVehicle(playerid,Auto31[playerid],0);
    Auto3[playerid]=1;
    slot[playerid]=3;
    new string[128];
    format(string,sizeof(string),"Sie haben ein Auto auf Slot %i gespawnt 1.Farbe: %i 2.Farbe: %i",slot[playerid],rand1,rand2);
    SendClientMessage(playerid,0xddaaffff,string);
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Sie Haben sich schon 3 Autos gerufe /ruf[1-3]um es zu holen");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Benutze /v [VehicleID(400-611)]");
    }
    return 1;
    }
    if(strcmp(strget(cmdtext,0),"/delslot",true)==0)
    {
    new slot1 = strval(strget(cmdtext,1));
    if(slot1 == 1){
    if(Auto1[playerid]!=999){
    DestroyVehicle(Auto11[playerid]);
    Auto1[playerid]=999;
    SendClientMessage(playerid,0xddaaffff,"Slot 1 ist nun frei");
    }
    else
    {
    SendClientMessage(playerid,0xddaaffff,"Slot 1 ist schon frei");
    }
    }
    else if(slot1 == 2){
    if(Auto1[playerid]!=999){
    DestroyVehicle(Auto21[playerid]);
    Auto2[playerid]=999;
    SendClientMessage(playerid,0xddaaffff,"Slot 2 ist nun frei");
    }
    else
    {
    SendClientMessage(playerid,0xddaaffff,"Slot 2 ist schon frei");
    }
    }
    else if(slot1 == 3){
    if(Auto1[playerid]!=999){
    DestroyVehicle(Auto31[playerid]);
    Auto3[playerid]=999;
    SendClientMessage(playerid,0xddaaffff,"Slot 3 ist nun frei");
    }
    else
    {
    SendClientMessage(playerid,0xddaaffff,"Slot 3 ist schon frei");
    }
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Benutze /delslot [Slot (1-3)]");
    }
    return 1;
    }
    if(strcmp(strget(cmdtext,0),"/ruf",true)==0)
    {
    new slot1 = strval(strget(cmdtext,1));
    new Float:X,Float:Y,Float:Z,Float:Roat;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,Roat);
    if(slot1 == 1)
    {
    if(Auto1[playerid] != 999)
    {
    PutPlayerInVehicle(playerid,Auto11[playerid],0);
    SetVehiclePos(Auto11[playerid],X,Y,Z);
    new string[128];
    format(string,sizeof(string),"Sie haben Slot %i gerufen",slot1);
    SendClientMessage(playerid,0xddaaffff,string);
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Slot nicht besetzt");
    }
    }
    else if(slot1 == 2)
    {
    if(Auto2[playerid] != 999)
    {
    PutPlayerInVehicle(playerid,Auto21[playerid],0);
    SetVehiclePos(Auto21[playerid],X,Y,Z);
    new string[128];
    format(string,sizeof(string),"Sie haben Slot %i gerufen",slot1);
    SendClientMessage(playerid,0xddaaffff,string);
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Slot nicht besetzt");
    }
    }
    else if(slot1 == 3)
    {
    if(Auto3[playerid] != 999)
    {
    PutPlayerInVehicle(playerid,Auto31[playerid],0);
    SetVehiclePos(Auto31[playerid],X,Y,Z);
    new string[128];
    format(string,sizeof(string),"Sie haben Slot %i gerufen",slot1);
    SendClientMessage(playerid,0xddaaffff,string);
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Slot nicht besetzt");
    }
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Benutze /ruf [Slot (1-3)]");
    }
    return 1;
    }
    return 0;
    }
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(vehicleid == Auto21[i]||vehicleid == Auto31[i]||vehicleid == Auto11[i])
    {
    if(IsPlayerConnected(i))
    {
    if(playerid == i)
    {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(i,pname,sizeof(pname));
    new carstr[128];
    format(carstr,sizeof(carstr),"Willkommen zurück in ihrem Auto: %s",pname);
    SendClientMessage(playerid,0xffaaffaa,carstr);
    }
    else
    {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(i,pname,sizeof(pname));
    new carstr[128];
    format(carstr,sizeof(carstr),"Das Auto wurde von %s gespawnt",pname);
    SendClientMessage(playerid,0xffaaffaa,carstr);
    }
    }
    else
    {
    DestroyVehicle(Auto31[i]);
    DestroyVehicle(Auto21[i]);
    DestroyVehicle(Auto11[i]);
    SendClientMessage(i,0xddaaffff,"Owner war offline und wurde daher gelöscht");
    }
    }
    }
    return 1;
    }
    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }


    :thumbup:
    MFG Blackybecks