Beiträge von ISAPnP

    Ich sagte dir nicht einmal, wie du es stattdessen machen sollst?
    Aber ich sehe nun den Fehler, deine Abfrage sowie das Setzen der Variable ergibt überhaupt keinen Sinn.


    mysql_fetch_field("FrakName",data); AutoInfo[i][frakid]=strval(data);
    zu
    mysql_fetch_field("FrakName",data); AutoInfo[i][frakid]=data;


    enum carInfo
    {
    frakid,
    carid,
    Float:PosX,
    Float:PosY,
    Float:PosZ,
    Float:PosA,
    Farbe1,
    Farbe2,
    }
    zu
    enum carInfo
    {
    frakid[50],
    carid,
    Float:PosX,
    Float:PosY,
    Float:PosZ,
    Float:PosA,
    Farbe1,
    Farbe2,
    }
    if(AutoInfo[i][frakid] == PolizeiAuto)
    zu
    if(!strcmp(AutoInfo[i][frakid],"PolizeiAuto",true)) {


    Zwar etwas Sinnfrei, aber es sollte gehen..

    MoveObject hat seit 0.3d 3 neue Parameter, die die Rotertion angibt, diese sind jedoch optional, warum auch keine Warnung beim Compilen kommt.
    Wenn du diese nicht angibst, sind sie (glaube ich) alle auf -1000.0, wodurch etwas passieren kann.


    Würde dir einen Besuch im SA:MP Wiki empfehlen, damit du's dir durchlesen kannst.

    SetPVarInt(playerid,"Bank",GetPVarInt(playerid,"Bank")+money);
    Dann addiert er dein Kontostand mit money, wenn du's so machst..
    (Beispiel: Du hast $2000 auf der Bank, und in money ist der Int. 50 gespeichert, dann rechnet er 2000 + 50 und setzt es in den PVarInt Bank)

    new Text3D: vehicle3Dtext[MAX_VEHICLES];//Nach ganz oben


    for(new pv = 0; pv < sizeof(AutohausVehs); pv++)
    {
    new car;
    new preis;
    for(new ah = 0; ah < sizeof(dtcKaufliste);ah++)
    {
    if(car == 0)
    {
    car = dtcKaufliste[ah][dtc_CarModel];
    preis = dtcKaufliste[ah][dtc_CarPreis];
    printf("%d",dtcKaufliste[ah][dtc_CarPreis]);
    printf("%s",dtcKaufliste[ah][dtc_CarPreis]);
    }
    }



    new s[100];
    format(s, sizeof(s), "Autohaus\nFahrzeug: %s\nPreis: %d",VehicleName,preis);
    vehicle3Dtext[AutohausVehs[pv]] = Create3DTextLabel( s, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
    Attach3DTextLabelToVehicle( vehicle3Dtext[AutohausVehs[pv]],AutohausVehs[pv], 0.0, 0.0, 0.0);


    }
    /E:
    Sollte mein Verdacht richtig sein, so wird der zweite ausgegebende Text eine Zahl sein.
    Sollte es so sein, setzt du die Zahlen in einem string, die einfachste Lösung wäre folgendes:

    preis = strval(dtcKaufliste[ah][dtc_CarPreis]);


    /E:
    Hab's verbesset. Mir ist nun aufgefallen, dass er für jedes Fahrzeug wohl den gleichen Namen sowie Preis machen wird.
    Ich seh nun den ganzen Fail, du speicherst den Namen in keinen Array, mach aus new car; > new car[50];


    /E:
    Wie oft ich nun an einer Sache fehlschlage, oh mein Gott.
    Zeig uns bitte, wie VehicleName ein Wert gesetzt wird.

    Mach mal bitte folgendes:

    printf("%d",dtcKaufliste[ah][dtc_CarPreis]);
    printf("%s",dtcKaufliste[ah][dtc_CarPreis]);

    Am besten außerhalb der zweiten for-Schleife, und teile uns das Ergebnis mit.

    Ja, die Funktion ermöglicht es dir doch auch?


    if(!strcmp(cmdtext, "/f", true, 2)) {
    if(!strlen(cmdtext[2])) return SendClientMessage(playerid, FARBE, "Nutzung: /f [Text]");
    new Name[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    format(string, sizeof (string), "Kollege %s: %s",Name,cmdtext[2]);
    SendFamilyMessage(Farbe, string, SpielerInfo[playerid][pFraktion]);
    }

    Dann kriegt er aber immer noch einen Chicken Burger, obwohl er 100 HP hat?
    Die Abfrage muss lauten:

    if(health=>100)

    Global 'ne Variable erstellen > new Objekt;


    Befehl zum Erstellen:

    if...(command)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    Objekt = CreateObject(2780,x,y+5,z,0,0,0);
    }


    Befehl zum Löschen:

    if...(command)
    {
    DestroyObject(Objekt);
    return true;
    }


    [/pwn]

    Was ist denn euer Problem, ist doch ganz einfach:

    public SendFamilyMessage(color, string[],Family)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pFraktion] == Family)
    {
    SendClientMessage(i, color, string);
    }
    }
    }
    }

    Verwendung:

    Code
    SendFamilyMessage(Farbe,"Text",pFraktionID);

    new Fahrzeug[MAX_PLAYERS];

    ...
    case 0:{Fahrzeug[playerid] = CreateVehicle(560,X,Y,Z,0.0,-1,-1,-1);}
    case 1:{Fahrzeug[playerid] = CreateVehicle(561,X,Y,Z,0.0,-1,-1,-1);}
    ...

    Damit setzt du den Spieler in das jeweilige Fahrzeug:
    PutPlayerInVehicle(playerid,Fahrzeug[playerid],0);
    Damit lässt du es zerstören:
    DestroyVehicle(Fahrzeug[playerid]);


    Zum Nachlesen:
    Funktion PutPlayerInVehicle
    Funktion DestroyVehicle


    (Information: In der Variable 'Fahrzeug' wird die jeweilige VehicleID (Nicht ModelID!) gespeichert)