Beiträge von SylpheedW


    //command
    else if(SIE[GetPlayerVehicleID(playerid)] == 1)
    {
    DestroyObject(sirene[GetPlayerVehicleID(playerid)]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Sie haben die Sirene abgenommen.");
    SIE[GetPlayerVehicleID(playerid)] = 0;// habe ich aber auch schon korrigiert
    }


    //OnVehicleDeath
    }
    if(SIE[vehicleid])
    {
    DestroyObject(sirene[GetPlayerVehicleID(playerid)]);
    SIE[vehicleid]=0;
    }

    Du hast die Klammern falsch rum gesetzt



    //Oben
    new Sirene[MAX_VEHICLES], SIE[MAX_VEHICLES];


    //irgenwo dazwischen oder so
    public OnVehicleDeath(vehicleid, killerid)
    {
    if(SIE[vehicleid])
    {
    DestroyObject(sirene[GetPlayerVehicleID(playerid)]);
    SIE[vehicleid]=0;
    }
    return 1;
    }
    //in Command
    if(!strcmp(cmdtext, "/sirene", true))
    {
    if(!IsACop(playerid))SendClientMessage(playerid,COLOR_GREY,"Du bist kein Polizist.");
    if(GetPlayerVehicleSeat(playerid)!=0)return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht der Fahrer.");
    if(GetVehicleModel(GetPlayerVehicleID(playerid) != 411))SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Infernus.");
    if(SIE[GetPlayerVehicleID(playerid)] == 0)
    {
    sirene[GetPlayerVehicleID(playerid)] = CreateObject(19419,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene[GetPlayerVehicleID(playerid)], GetPlayerVehicleID(playerid), 0.000000,-0.075000,0.674999,0.000000,0.000000,0.000000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Sie haben die Sirene angebracht (zum Entfernen erneut: /sirene)");
    SIE[GetPlayerVehicleID(playerid)] = 1;
    }//bei dir {
    else if(SIE[GetPlayerVehicleID(playerid)] == 1)
    {//bei dir }
    DestroyObject(sirene[GetPlayerVehicleID(playerid)]);
    SendClientMessage(playerid,LEUCHTBLAU,"Sie haben die Sirene abgenommen.");
    SIE[GetPlayerVehicleID(playerid)] = 0;//auserdem habe ich dass vergessen auf 0 zu machen
    }
    return 1;
    }

    versuch es mal so

    //Oben
    new Sirene[MAX_VEHICLES], SIE[MAX_VEHICLES];


    //irgenwo dazwischen oder so
    public OnVehicleDeath(vehicleid, killerid)
    {
    if(SIE[vehicleid])
    {
    DestroyObject(sirene[GetPlayerVehicleID(playerid)]);
    SIE[vehicleid]=0;
    }
    return 1;
    }
    //in Command
    if(!strcmp(cmdtext, "/sirene", true))
    {
    if(!IsACop(playerid))SendClientMessage(playerid,COLOR_GREY,"Du bist kein Polizist.");
    if(GetPlayerVehicleSeat(playerid)!=0)return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht der Fahrer.");
    if(GetVehicleModel(GetPlayerVehicleID(playerid) != 411))SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Infernus.");
    if(SIE[GetPlayerVehicleID(playerid)] == 0)
    {
    sirene[GetPlayerVehicleID(playerid)] = CreateObject(19419,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene[GetPlayerVehicleID(playerid)], GetPlayerVehicleID(playerid), 0.000000,-0.075000,0.674999,0.000000,0.000000,0.000000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Sie haben die Sirene angebracht (zum Entfernen erneut: /sirene)");
    SIE[GetPlayerVehicleID(playerid)] = 1;
    {
    else if(SIE[GetPlayerVehicleID(playerid)] == 1)
    }
    DestroyObject(sirene[GetPlayerVehicleID(playerid)]);
    SendClientMessage(playerid,LEUCHTBLAU,"Sie haben die Sirene abgenommen.");
    SIE[GetPlayerVehicleID(playerid)] = 1;
    }
    return 1;
    }


    MFG Piet

    sry habe was vergessen weg zu machen nimm den



    dcmd_makeleader(playerid, params[])
    {
    new pid, frakid;
    if(sscanf(params,"ud",pid,frakid))return SendClientMessage(playerid,GELB,"Verwendung : /makeleader [ID] [Fraktionsid]");
    if(frakid > 6 || frakid < 1)return SendClientMessage(playerid,ROT,"Soviele Fraktionen Gibt es nicht!");
    if(IstSpielerAdmin(playerid, 5))
    {
    if(pid == INVALID_PLAYER_ID)return SendClientMessage(playerid,ROT,"Ungültiger Spieler!");
    if(IstSpielerInFraktion(pid,frakid)))//er fragt bereits ab nicht if(IstSpielerInFraktion(pid,frakid) == frakid))
    {
    return SendClientMessage(playerid,ROT,"Der Spieler ist schon in dieser Fraktion!");
    }
    else
    {
    sSpieler[pid][Fraktion] = frakid;//nur bei abfragen == wenn etwas gesetzt werden soll =
    SendClientMessage(pid,GELB,"Du wurdest zum Leader gemacht!");
    SendClientMessage(pid,GELB,"Du hast den Angegebenen Spieler zum Leader gemacht!");
    }
    }
    else return SendClientMessage(playerid,ROT,"Du bist kein Admin du Noob!");

    return 1;
    }

    benutz quellcode statt editor dann bleibt die formatierung vorhanden


    und schreib bitte die zeilen dahin



    dcmd_makeleader(playerid, params[])
    {
    new pid, frakid;
    if(sscanf(params,"ud",pid,frakid))return SendClientMessage(playerid,GELB,"Verwendung : /makeleader [ID] [Fraktionsid]");
    if(frakid > 6 || frakid < 1)return SendClientMessage(playerid,ROT,"Soviele Fraktionen Gibt es nicht!");
    if(IstSpielerAdmin(playerid, 5))
    {
    if(pid == INVALID_PLAYER_ID)return SendClientMessage(playerid,ROT,"Ungültiger Spieler!");
    if(IstSpielerInFraktion(pid,frakid)))//er fragt bereits ab nicht if(IstSpielerInFraktion(pid,frakid) == frakid))
    {
    return SendClientMessage(playerid,ROT,"Der Spieler ist schon in dieser Fraktion!");
    }
    else
    {
    sSpieler[pid][Fraktion] == frakid;
    SendClientMessage(pid,GELB,"Du wurdest zum Leader gemacht!");
    SendClientMessage(pid,GELB,"Du hast den Angegebenen Spieler zum Leader gemacht!");
    }
    }
    else return SendClientMessage(playerid,ROT,"Du bist kein Admin du Noob!");

    return 1;
    }


    MFG Piet

    Ich Habe versucht ein paar recourcen zu sparen in dem ich den namen
    beim connecten auf eine array setzen lassen



    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(Player[playerid][NAME],sizeof(pName), "%s", pName);


    Und mein Name ist Ingame "Piet_Meier" und dann kommt da auf einmal "P0= Keiner"
    weil ich beim Login/registersystem auch den namen gemacht habe


    benutze alle mit SpielerName

    stock SpielerName(playerid)
    {
    return Player[playerid][NAME];
    }


    und später in den stats hieß ich "11:00 bis"


    und hier mein mistiörische LOG


    habe ne Andere Variable genommen jetzt gehts


    hier Code

    //Oben
    new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];


    //OnPlayerConnect
    GetPlayerName(playerid, PlayerName[playerid], MAX_PLAYER_NAME);


    //stock
    stock SpielerName(playerid)
    {
    return PlayerName(playerid);
    }


    //Edit Habe es geschafft


    MFG Piet

    Ich Versuche mich gerade an meinem Carsystem


    Habe auch schon Fehlerklärbär benutz bringt mich aber nicht weiter


    hier der error


    hier der Code

    #define MAX_KEYS 2


    enum sd
    {
    Key[MAX_KEYS],
    };
    new Player[MAX_PLAYERS][sd];


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    //if(vehicleid==auto1) SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
    if(!Vehicle[vehicleid][Lock])return 1;
    for(new i=0; i<MAX_KEYS; i++)
    {
    if(vehicleid==Player[forplayerid][Key[i]])//zeile 86
    {

    }
    }
    return 1;
    }


    Es soll eigentlich Abfragen ob es Der Schlüssel[i] zur Vehicleid passt
    da es ja mehrere Keys sind geht es nicht richtig mit dem Array


    Könnt ihr mir helfen


    MFG Piet

    Ich zeige euch heute mein einfach zu nutzendes PickupSystem


    hier der Code

    Spoiler anzeigen
    ihr kopiert den Code Oben ins script

    Spoiler anzeigen

    enum PICK
    {
    valuea,//weaponid, float:x
    valueb,//ammo, float:y
    valuec,//float:z
    valued,//flaot:angle
    valuee,//interior
    typ,//typ 1 = weapon, typ 2 = tele
    pickup
    };

    Spoiler anzeigen
    new PD[ALLPICK][PICK];

    Spoiler anzeigen
    den stock Ganz nach unten (zu den Anderen)

    Spoiler anzeigen

    stock AddPickup(index, model, type, Float:x, Float:y, Float:z, value1, value2, value3 = 0, value4 = 0, value5 = 0)
    {
    if(type != 1|| type != 2)return printf("Error: Cannot Create Pickup: %d typ: %d", index, type);
    PD[index][pickup] = CreatePickup(model, 1, x, y, z);
    if(type == 1)//Weapon
    {
    PD[index][valuea]=value1;
    PD[index][valueb]=value2;
    PD[index][typ]=1;
    printf("Create Pickup: Weapon: %d:%d", value1, value2);
    }
    else if(type == 2)//teleport
    {
    PD[index][valuea]=value1;
    PD[index][valueb]=value2;
    PD[index][valuec]=value3;
    PD[index][valued]=value4;
    PD[index][valuee]=value5;
    PD[index][typ]=2;
    printf("Creat Pickup: Tele: %d, %d, %d, %d INT: %d", value1, value2, value3, value4, value5);
    }
    return 1;
    }

    Spoiler anzeigen
    und das unter public OnPlayerPickUpPickup

    Spoiler anzeigen

    for(new i=0; i<ALLPICK; i++)
    {
    if(pickupid == PD[i][pickup])
    {
    if(PD[i][typ]==1)//weapon
    {
    GivePlayerWeapon(playerid, PD[i][valuea], PD[i][valuea]);
    }
    else if(PD[i][typ]==2)//tele
    {
    SetPlayerPos(playerid, PD[i][valuea], PD[i][valueb], PD[i][valuec]);
    SetPlayerFacingAngle(playerid, PD[i][valued]);
    SetPlayerInterior(playerid, PD[i][valuee]);
    }
    }
    }



    Ihr benutzt es mit AddPickup
    Mann kann Waffen geben lassen oder zu xyz teleportieren lassen


    Oben muss mann die Benutzten Pickups Eintragen ,unter Define


    #define ALLPICK 2 //wenn es die zahl 2 ist kann mann 2 Pickups benutzen , 0 und 1 dass unter index bei CreatePickup



    dies packt mann unter OnGameModeInit()


    Typ ID´s:
    1 = Waffe
    2 = Teleport


    hier ein Beispiel

    public OnGameModeInit()
    {
    // index, model, typ, x, y, z, weapon, ammo
    AddPickup( 0, 1239, 1, 0, 0, 0, 30, 100);
    // index, model, typ, x, y, z, telex, teley, telez, telea, interior
    AddPickup( 1, 1239, 2, 0, 0, 4, 0, 5, 4, 20, 0);
    return 1;
    }



    Es ist Sehr einfach zu nutzen und mann braucht nur die a_samp.inc keine anderen



    MFG Piet