Beiträge von Templer

    Such nach im enum und mach daneben ein Float: also z.B. soll es so aussehen:

    enum carInfo
    {
    Float:cRustung,
    }
    new CarInfo[MAX_VEHICLES][carInfo];


    Dann fügste den Code ein und testest Ihn..


    if(strcmp(cmd,"/car",true)==0)
    {
    if (IsPlayerInAnyVehicle(playerid))
    {
    new x_names[256];
    x_names = strtok(cmdtext, idx);
    if(!strlen(x_names))
    {
    SendClientMessage(playerid, COLOR_GREEN, "|__________________ Akzeptieren __________________|");
    SendClientMessage(playerid, COLOR_GREEN, "Benutze: /car put/take/daten ");
    SendClientMessage(playerid, COLOR_GREEN, "Mats,Drogen,Weste");
    SendClientMessage(playerid, COLOR_GREEN, "|____________________________________________|");
    return 1;
    }
    if(strcmp(x_names,"daten",true) == 0)
    {
    new string[256];
    new car = GetPlayerVehicleID(playerid);
    new weste[256];
    if(CarInfo[car][cRustung] == 1)
    {
    weste = "Ja";
    }
    else
    {
    weste="Nein";
    }
    format(string, sizeof(string), "Drogen=%d,Mats=%d,Schutzweste=%s",CarInfo[car][cDrogen],CarInfo[car][cMats],weste);
    SendClientMessage(playerid,COLOR_GREEN,string);
    }
    if(strcmp(x_names,"put",true) == 0)
    {
    new x_put[256];
    x_put = strtok(cmdtext, idx);
    if(!strlen(x_put))
    {
    SendClientMessage(playerid, COLOR_GREEN, "|__________________ Akzeptieren __________________|");
    SendClientMessage(playerid, COLOR_GREEN, "Benutze: /car put ");
    SendClientMessage(playerid, COLOR_GREEN, "Mats,Drogen,Weste");
    SendClientMessage(playerid, COLOR_GREEN, "|____________________________________________|");
    return 1;
    }
    if(strcmp(x_put,"weste",true) == 0)
    {
    new car = GetPlayerVehicleID(playerid);
    if(CarInfo[car][cRustung] < 1)
    {
    new Float:armour;
    new armor=GetPlayerArmour(playerid,armour);
    SetPlayerArmour(playerid,0);
    CarInfo[car][cRustung] = armour;
    }
    }
    }
    if(strcmp(x_names,"take",true) == 0)
    {
    new x_take[256];
    x_take = strtok(cmdtext, idx);
    if(!strlen(x_take))
    {
    SendClientMessage(playerid, COLOR_GREEN, "|__________________ Akzeptieren __________________|");
    SendClientMessage(playerid, COLOR_GREEN, "Benutze: /car put ");
    SendClientMessage(playerid, COLOR_GREEN, "Mats,Drogen,Weste");
    SendClientMessage(playerid, COLOR_GREEN, "|____________________________________________|");
    return 1;
    }
    if(strcmp(x_take,"weste",true) == 0)
    {
    new car = GetPlayerVehicleID(playerid);
    if(CarInfo[car][cRustung] >= 1)
    {
    SetPlayerArmour(playerid,CarInfo[car][cRustung]);
    CarInfo[car][cRustung] = 0;
    }
    }
    }
    }
    return 0;
    }

    Heutzutage wird eh alles nachgemacht .. Also ist es eh schon egal ^^:


    stock GetQuarterFromPlayerToPlayer(playerid, giveplayerid) //by Templer & special Thanks to [LDT]LuxurY
    {
    new Float:x, Float:y, Float:z, Float:x1, Float:y1, Float:z1;
    GetPlayerPos(playerid, x, y, z); GetPlayerPos(giveplayerid, x1, y1, z1);
    new Float:newang = atan(floatabs((x-x1)/(y-y1)));
    if (x1 <= x && y1 >= y) newang += 90.0;
    else if (x1 < x && y1 < y) newang += 180.0;
    else if (x1 >= x && y1 <= y) newang += 270.0;
    if (newang >= 360.0) newang = 0.0;
    if(newang > 0 || newang < 90) return 1;
    else if(newang == 90) return 2;
    else if(newang > 90 || newang < 180) return 3;
    else if(newang == 180) return 4;
    else if(newang > 180 || newang < 270) return 5;
    else if(newang == 270) return 6;
    else if(newang > 270 || newang < 360) return 7;
    else return 0;
    }


    Returns:
    0...Norden
    1...NordOst
    2...Osten
    3...SüdOst
    4...Süden
    5...SüdWest
    6...Westen
    7...Nordwest
    8...Norden

    Ach ihr müsst alle reden.. Ihr, wo es selbst von Seiten kopiert habt (siehe Beitrag von Defcon666 und den Code der angehängt wurde von mir, welche fast identisch ausschauen?), seid nichtmal so fähig ihm einfach die Koordinaten zu schicken? Wenn das so ist und Ihr aus langeweile einen ******-Postet dann lasst es lieber und kümmert euch um euren eigenen Kram!


    @Mailer Im englischen Samp Forum gibt es eine Definition wo alle Gegenden aufgelistet sind..


    Der Code kriegste unter diesem Link hier:
    http://te000399.host.inode.at/zones.zip
    oder Pastebin Link..
    http://pastebin.de/8403

    So hab meinen Befehl nun überschrieben ^^


    stock GetClosestObject(playerid, &objectid) //by Templer
    {
    new Float:X, Float:Y, Float:Z, Float:pX, Float:pY, Float:pZ, Float:dist = 0.0, object = 0, Float:cdist = 0.000000;
    objectid = -1;
    for(; object < MAX_OBJECTS; object++)
    {
    if(!IsValidObject(object)) continue;
    GetObjectPos(object, X, Y, Z);
    dist = floatsqroot(floatpower(floatabs(floatsub(X,pX)),2)+floatpower(floatabs(floatsub(Y,pY)),2)+floatpower(floatabs(floatsub(Z,pZ)),2));
    if(dist > cdist)
    {
    cdist = dist;
    objectid = object;
    }
    }
    if(cdist > 0.000000) return cdist;
    else return false;
    }


    Und hier ein Beispiel für die Verwendung:


    new object; //Erstellt eine neue Integer-Datentyp mit dem Namen 'object'
    GetClosestObject(playerid, object); //Speichert den naheliegendste ObjectID in die Variable 'object'
    if(object == -1) return print("Ungültige Objekt ID!"); //Gibt Meldung aus, wenn 'object' die WertID -1 hat (Für Ungültig)
    SetObjectPos(object, 345.0, 345.0, 345.0); //Ausgedachter Name

    In sscanf als Plugin muss man selbst definieren wie groß die StringAusgabe sein muss, daher ist neben dem s das ["#64"] bedeutet soviel wie, Textausgabe in 64 maximaler Länge, da standartmäßig nur 32 definiert wurden.

    Meinste das hier?


    if (strcmp(cmdtext, "/verhaften", true) == 10 )


    wenn ja, ändere es um in


    if (strcmp(cmdtext, "/verhaften", true) == 0 )


    ansonsten, welche Zeile? xD

    Erklärung sollte verständlich sein im Code ^^


    stock GetGangAutoID(carid)
    {
    for(new i = 0; i < sizeof(GangAuto); i++)
    {
    if(carid == GangAuto[i])
    {
    return i;
    }
    }
    return -1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmd,"/buyfcar",true)== 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "Du sitzt in keinem Fahrzeug!");
    new tmpcar = GetPlayerVehicleID(playerid);
    new tmpmodel = GetVehicleModel(tmpcar);
    new gangid = GetGangAutoID(tmpcar);
    if(gangid == -1) return SendClientMessage(playerid, 0xFFFFFF00, "Du bist in keinem GangAuto was zum kaufen ist!");
    //Restliche Code, also die ID was du brauchst damit du Preis Abfragen kannst ist in dem Fall
    //die gangid ^^ Beispiel hier unten!
    GivePlayerMoney(playerid, -Kaufliste[gangid][Preis]); //Zieht den Preis von gewünschtem Fahrzeug halt ab ^^ (über die gangid)
    //Restlicher Code...
    return 1;
    }
    return 0;
    }

    In welchem Pfad werden die Spielerdaten gespeichert? Also Pfad und Dateiname ^^ bzw. schau dir mal accFormat an, vielleicht musst du es vor dem dini_IntSet neu definieren? Oder du sagst uns einfach bei welcher Zeile dies auftretet ^^

    Bitte ^^ Mit leichten Erklärungen:


    enum ganghaus
    {
    Name[128],
    Gangid,
    Modelid,
    Preis,
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    Float:z_angle
    };
    new KauflisteCarNumber[MAX_VEHICLES]; //Das hier einfügen
    new Kaufliste[autos][ganghaus] = {
    {"LandStalker",0,400,50000,2148.6665,1408.4299,10.9126,1.1883}
    };


    public OnGameModeInit()
    {
    new car = 0, carid;
    for(; car < MAX_VEHICLES; car++) KauflisteCarNumber[car] = -1; //Erstellt den Standart Wert für jedes Fahrzeug, also -1
    car = 0;
    for(; car < sizeof(Kaufliste); car++) //Geht alle Kaufautos durch
    {
    carid = CreateVehicle(Kaufliste[car][Modelid], Kaufliste[car][pos_x], Kaufliste[car][pos_y], Kaufliste[car][pos_z], Kaufliste[car][z_angle], 1, 1, -1); //Erstellt das Fahrezug
    KauflisteCarNumber[carid] = car; //Definiert das Fahrzeug
    }
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER && KauflisteCarNumber[GetPlayerVehicleID(playerid)] != -1) //Wenn Spieler als Fahrer eingestiegen ist und es ein KaufAuto ist (also != -1)
    {
    new autoid = KauflisteCarNumber[GetPlayerVehicleID(playerid)], string[128];
    format(string, sizeof(string), "DU bist in einem Fahrzeugshop Fahrzeug mit dem Fahrzeugnamen %s und dem Preis von %d$!", Kaufliste[car][Name], Kaufliste[car][Preis]);
    SendClientMessage(playerid, 0x00FF00FF, string); //Wiedergeben des Textes ^^
    }
    return 1;
    }

    Ka wie der Code davor ist, aber vl...

    public OnPlayerConnect(playerid)
    {
    if(INI_Open(getINI(playerid)))
    {
    INI_ReadString(Spieler[playerid][Passwort],"Passwort",128);
    if(INI_ReadInt("Banned") == 1)
    {
    SendClientMessage(playerid,Botfarbe,"Bot: Dein account ist gebannt!");
    Kick(playerid);
    }
    else ShowPlayerDialog(playerid,AdAd_Login,1,"Login","Bitte logge dich ein","Bestätigen","Abbrechen");
    INI_Close();
    }
    else ShowPlayerDialog(playerid,AdAd_Reg,1,"Registrieren","Bitte Registriere dich","Bestätigen","Abbrechen");
    return 1;
    }

    Ah sry, also folgende zwei Sachen einfach ersetzen (hab aus Eile dies programmiert xD):


    public OnGameModeInit()
    {
    new zoll;
    for(zoll = 0; zoll < sizeof(ZollAmt); zoll++;)
    {
    ZollObject[zoll] = CreateObject(ZollAmt[zoll][zModelID], ZollAmt[zoll][zPosX],ZollAmt[zoll][zPosY],ZollAmt[zoll][zPosZ],0.0, 0.0, ZollAmt[zoll][zPosRot]);
    ZollAmtID[ZollObject[zoll]] = zoll;
    }
    return 1;
    }


    public SetZollBack(zollid)
    {
    return MoveObject(ZollObject[zollid], ZollAmt[zollid][zPosX], ZollAmt[zollid][zPosY], ZollAmt[zollid][zPosZ], 3.5);
    }


    und die Warnings mit never used kannst du ignorieren ^^