Beiträge von Marksman

    Hier ein Beispiel


    if(pickupid==groveteamhouse)
    {
    if (!isPlayerInFrakt(playerid,2))return 0;// Wenn er nicht in Fraktion 2 ist passiert nichts.
    {
    if(GetPVarInt(playerid,"Fraktion")==2)// Wenn er in Fraktion 2 ist passiert folgendes:


    SetPlayerPos(playerid,309.6606,310.9867,1003.3047);
    SetPlayerFacingAngle(playerid,177.5551);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,4);
    }
    }

    Moin Jungs & Mädels ^^


    Ich wollte mal fragen ob mir jemand n Skin System bastelt bzw ob jemand mir Tipps geben kann, wie ich es hinbekomme, dass wenn jemand zum Beispiel in der Grove Fraktion ist, er nur die Grove Skin bei onplayerrequest auswählen kann?


    freu mich über jede Hilfe :)

    Möchtes du den Namen ausgegeben haben oder die Nummer der Fraktion?



    Wenn du nur die Nummer der Fraktion haben möchtest:
    format(string,sizeof(string),"Du bist jetzt Leader der Fraktion %i!",frakID);
    SendClientMessage(playerid,BLAU,string);

    wenn ich geblitzt werde, blitzt der Blitzer mich mehr als einmal, so wie hier auf dem Screen



    obwohl ich ne Blitzerpause erstellt habe.
    Hier mein CMD:


    public Blitzer_Timer()
    {
    new save, strafe, speed;
    for (new playerid = 0; playerid < MAX_PLAYERS; playerid++) {
    save = GetPVarInt(playerid, "BlitzPause");
    if(save > 0) {
    save--;
    SetPVarInt(playerid, "BlitzPause", save);
    continue;
    }
    if(!IsPlayerInAnyVehicle(playerid) || IsPlayerNPC(playerid)) continue;
    for(new i = 0; i < sizeof(Blitzer); i++)
    {
    if (IsPlayerInRangeOfPoint(playerid,8,1061.7998,-1829.6772,13.6789))
    {
    speed = ErmittleGeschwindigkeit(playerid,true);
    if(speed > 100) {
    new string[128];
    // Hier soll der Spieler eigentlich kein weiteres mal geblitzt werden können wenn er geblitzt wurde.
    SetPVarInt(playerid, "BlitzPause", (BLITZER_TIMER_INTERVALL * BLITZER_PAUSE * 60) / 1000);
    // Strafe für Spieler
    if (speed > 100)
    strafe = (4000+3*speed) - 100;
    PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
    GivePlayerMoney(playerid, -strafe);
    // Text für Spieler
    SendClientMessage(playerid, 0xFF6347AA,"Du bist zu schnell gefahren!");
    format(string,sizeof(string), "Du bist %d km/h gefahren und musst $%d Bußgeld bezahlen.", speed, strafe);
    SendClientMessage(playerid, 0xFF6347AA, string);
    }
    }
    }
    }
    return 1;
    }


    jemand ne Idee wie ich das Problemchen löse?

    Das was ihr beiden geschrieben habt ist doch ungefähr das gleiche oder? ^^


    Er erstellt jetzt zwar den Eventpunkt aber wenn ich dann /event eingeben kommt überhaupt keine Meldung bzw der Spieler wird nicht geportet.


    Hier nochmal meine Befehle:


    ocmd:evento(playerid,params[])
    {
    if(GetPVarInt(playerid,"Adminlevel")>=2)
    {
    if(EventTime == 0)
    {
    GetPlayerPos(playerid, eventX, eventY, eventZ);
    EventTime = 1;
    SendClientMessage(playerid,gelb,"Der Eventpunkt wurde erstellt.");
    }
    else if(EventTime == 1)
    {
    SendClientMessage(playerid,gelb,"Es gibt schon einen Eventpunkt!");
    }
    }
    return 1;
    }


    ocmd:event(playerid,params[])
    {
    if(EventTime == 1)
    {
    SetPlayerPos(playerid, eventX, eventY, eventZ);
    SendClientMessage(playerid,gelb,"Du wurdest zum Event geportet.");
    }
    else if(EventTime == 0)
    {
    SendClientMessage(playerid,gelb,"Der Eventport ist momentan nicht offen.");
    }
    return 1;
    }


    :S

    Moin,


    Ich möchte einen dynamischen Eventpunkt erstellen den ich mit /evento erstellen kann und die Spieler sollen dann mit /event zu Punkt geportet werden.


    das sind im moment meine Befehle:



    ocmd:evento(playerid,params[])
    {
    if(IsPlayerAdmin(playerid))
    {
    if(EventTime == 0)
    {
    new Float:X1;
    new Float:Y1;
    new Float:Z1;
    GetPlayerPos(playerid,X1,Y1,Z1);
    EventTime = 1;
    SendClientMessage(playerid,gelb,"Der Eventpunkt wurde erstellt.");
    }
    if(EventTime == 1)
    {
    SendClientMessage(playerid,gelb,"Es gibt schon einen Eventpunkt!");
    }
    }
    return 1;
    }


    ocmd:event(playerid,params[])
    {
    if(IsPlayerAdmin(playerid))
    {
    if(EventTime == 1)
    {
    new Float:X1;
    new Float:Y1;
    new Float:Z1;
    GetPlayerPos(pID,X1,Y1,Z1);
    SetPlayerPos(playerid,X1,Y1,Z1);
    SendClientMessage(playerid,gelb,"Du wurdest zum Event geportet.");
    }
    if(EventTime == 0)
    {
    SendClientMessage(playerid,gelb,"Der Eventport ist momentan nicht offen.");
    }
    }
    return 1;
    }



    Jetzt weiß ich grad nicht mehr weiter..


    Der Spieler soll ja da hingeportet werden wo der Eventpunkt entsanden ist.
    Aber wie kann ich die Positionen von dem einen CMD in den anderen übertragen?

    Ich hab ein Problem, jedes mal wenn ich mit einem Auto fahre und dann aussteige und ungefähr ne Minute rumlaufe, verschwindet meine Karre und spawnt wieder am Spawnpunkt.


    Wieso?



    Hier mal einen Ausschnitt der Cars, so sind eigentlich alle.


    ///Fraktion Cars
    //Grove
    grovecar[0]=AddStaticVehicle(468,2507.4534,-1651.4133,13.3778,120.5340,86,86);// grovebike1
    grovecar[1]=AddStaticVehicle(468,2506.6929,-1650.4161,13.4168,121.4636,86,86); // grovebike2
    SetVehicleNumberPlate(grovecarrang4[1]=grovecar[2]=AddStaticVehicle(482,2443.3364,-1646.0674,13.5927,179.9288,86,86), "Grove08"); // grovetraincar
    SetVehicleNumberPlate(grovecar[3]=AddStaticVehicle(492,2473.2578,-1691.8070,13.2962,356.5830,86,1), "Grove01"); // grovegreenwood
    grovecar[4]=AddStaticVehicle(509,2494.9961,-1647.6538,13.0295,222.6566,86,86); // grovebmw1
    grovecar[5]=AddStaticVehicle(509,2494.0286,-1648.1160,13.0565,220.8675,86,86); // grovebmx2
    SetVehicleNumberPlate(grovecarrang4[2]=grovecar[6]=AddStaticVehicle(482,2443.3645,-1637.6018,13.5590,179.7775,86,86), "Grove02"); // grovetraincar
    SetVehicleNumberPlate(grovecarrang2[1]=grovecar[7]=AddStaticVehicle(560,2509.8516,-1686.1459,13.2677,41.4138,86,86), "Grove03"); // grovesultan1
    SetVehicleNumberPlate(grovecarrang2[2]=grovecar[8]=AddStaticVehicle(560,2517.4534,-1665.5011,13.7866,83.8370,86,86), "Grove04"); // grovesultan2
    SetVehicleNumberPlate(grovecarrang3[1]=grovecar[9]=AddStaticVehicle(487,2528.1255,-1676.8899,20.1068,87.0802,86,86), "Grove05"); // groveheli
    SetVehicleNumberPlate(grovecarleader[1]=grovecar[10]=AddStaticVehicle(541,2505.4524,-1694.3281,13.1820,359.7336,86,1),"Grove06"); // groveleadercar
    SetVehicleNumberPlate(grovecarleader[2]=grovecar[11]=AddStaticVehicle(490,2475.5789,-1653.6686,13.5251,90.8583,86,86), "Grove07"); // groveleadercar2

    also, ich hab mir meinen tacho zusammengescriptet und es funktioniert soweit auch alles,
    aber wenn man jetzt mit einem auto fährt schwenkt der zuviel zwischen den geschwindigkeiten rum.


    Ich fahre z.B die gleiche Geschwindigkeit aber er zeigt mit einmal 179kmh an und ne sekunde danach 150.


    hier mein speedometerupdate


    public UpdateSpeedo()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerState(i)==2)
    {


    new speed[128];
    new Float:xfloat,Float:yfloat,Float:zfloat;
    new Float:distance,value;
    GetPlayerPos(i, xfloat, yfloat, zfloat);
    distance = floatsqroot(floatpower(floatabs(floatsub(xfloat,TachoX[i])),2)+floatpower(floatabs(floatsub(yfloat,TachoY[i])),2)+floatpower(floatabs(floatsub(zfloat,TachoZ[i])),1));
    value = floatround(distance * 22000);
    TachoX[i] = xfloat;
    TachoY[i] = yfloat;
    TachoZ[i] = zfloat;
    format(speed,sizeof(speed),"%d",floatround(value/3200));
    TextDrawSetString(SpeedoKMH[i],speed);
    new namestring[128];
    format(namestring,sizeof(namestring),"%s",FahrzeugName[GetVehicleModel(GetPlayerVehicleID(i))-400]);
    TextDrawSetString(SpeedoVeh[i],namestring);

    ///Zustand
    new playerid;
    new string[256];
    new Float:health;
    GetVehicleHealth(GetPlayerVehicleID(playerid),health);
    format(string, 20, "%d %",floatround(floatdiv(health, 10),floatround_round));
    TextDrawSetString(SpeedoZustand[i],string);
    }
    }
    }
    return 1;
    }


    könnt ihr mir weiterhelfen? ^^

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid)==fscar[i])
    {
    if (GetPVarInt(playerid, "Fahrstunde") != 1 || GetPVarInt(playerid, "Fraktion") != 3)
    {
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }
    Er checkt in dem Befehl ob er in einer Fraktion ist oder ob der Spieler eine Fahrstunde hat.
    Aber obwohl ich in der Fraktion 3 bin schmeist er mich aus der Karre.


    Kann jemand weiterhelfen?

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid)==fscar[i])
    {
    if (GetPVarInt(playerid,"Fahrstunde")!=1) || if (GetPVarInt(playerid,"Fraktion")!=3)
    {
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }



    Was ist daran falsch? kriege errors



    pwn(2325) : error 029: invalid expression, assumed zero
    pwn(2325) : warning 215: expression has no effect
    pwn(2325) : error 001: expected token: ";", but found "if"