Beiträge von Alexus

    oben:
    new TutStage[MAX_PLAYERS];


    der Befehl
    ocmd:tut(playerid,params[])
    {
    TutStage[playerid] = 1;
    InterpolateCameraPos(playerid, 1517.152465, -2228.463623, 134.483184, 1739.970458, -1951.693969, 18.836965, 12000);
    InterpolateCameraLookAt(playerid, 1519.854858, -2232.032958, 132.256835, 1735.246215, -1952.521972, 17.424097, 12000);
    SetTimerEx("tut", 12000, false, "i", playerid);
    return 1;
    }


    ein neuer Public

    forward tut(playerid);
    public tut(playerid)
    {
    if(TutStage[playerid] == 1)
    {
    InterpolateCameraPos(playerid, 1256.353393, -1984.015869, 146.262435, 1517.152465, -2228.463623, 134.483184, 12000);
    InterpolateCameraLookAt(playerid, 1253.243896, -1986.168579, 142.991760, 1519.854858, -2232.032958, 132.256835, 12000);
    }
    else if(TutStage[playerid] == 2)
    {
    InterpolateCameraPos(playerid, 1003.571716, -1805.129272, 70.520164, 1256.353393, -1984.015869, 146.262435, 12000);
    InterpolateCameraLookAt(playerid, 1007.770751, -1803.325561, 68.491744, 1253.243896, -1986.168579, 142.991760, 12000);
    }
    else if(TutStage[playerid] == 3)
    {
    InterpolateCameraPos(playerid, 1423.367919, -1629.173217, 89.087638, 1003.571716, -1805.129272, 70.520164, 12000);
    InterpolateCameraLookAt(playerid, 1426.292480, -1632.479858, 86.739707, 1007.770751, -1803.325561, 68.491744, 12000);
    }
    else if(TutStage[playerid] == 4)
    {
    InterpolateCameraPos(playerid, 1875.343872, -1962.117431, 149.793395, 1423.367919, -1629.173217, 89.087638, 12000);
    InterpolateCameraLookAt(playerid, 1872.226806, -1960.140625, 146.420547, 1426.259887, -1632.590820, 86.861282, 12000);
    }
    else if(TutStage[playerid] == 5)
    {
    InterpolateCameraPos(playerid, 1316.692260, -1543.984130, 233.499755, 1875.343872, -1962.117431, 149.793395, 12000);
    InterpolateCameraLookAt(playerid, 1319.792846, -1546.619384, 230.594299, 1872.121704, -1960.242919, 146.461120, 12000);
    }


    TutStage[playerid]++;
    if(TutStage[playerid] < 5) SetTimerEx("tut", 12000, false, "i", playerid);


    return 1;
    }

    Ich habe folgendes Problem:


    Ich habe ein Enum mit 58 werten (die Spielerdaten).
    Wenn ich einen 59. Wert hinzufüge schmiert der Pawncompiler ab.
    Dabei ist auch kein Komma oder ähnliches falsch, und auch der Name ist egal.
    Sobald der 59. Wert im Enum vorhanden ist, kann ich das Script nicht mehr Compilen.


    Jetzt stellt sich mir die Frage: Ist die Anzahl der Enumwerte begrenzt?


    Ich brauche bitte dringend Hilfe. :|

    Es geht um folgendes Problem:
    Ich habe ein Tutorial erstellt, bei dem nach jeder Stage ein Timer gestellt wird, der immer den gleichen Public aufruft. Mit einer extra Variable frage ich dann ab, in welcher Stufe des Tutorials man ist. Doch es taucht der Bug auf, dass der Public mit dem Starten eines Timers direkt 2 mal hintereinander aufgerufen wird.


    Ich habe solch einen Bug bereits in einem Timer, der eine Nachricht sendet. Diese taucht dann doppelt auf.
    Hatte einer auch schon dieses Problem und wie kann man es beheben?


    Ein Kommentar von absoluter Intelligenz *facepalm*
    PutPlayerInVehicle(playerid,x,y,z); ?!



    ocmd:infernus(playerid,params[])
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid,x,y,z);
    new id = CreateVehicle,x,y,z,0,0,0,-1);
    PutPlayerInVehicle(playerid, id, 0);
    return 1;
    }

    Oh stimmt, hatte das eben schnell geschrieben.
    So sollte es klappen:


    if(strcmp(cmd, "/emp",true) == 0)
    {
    if(!IsPlayerCop(playerid)) return SendClientMessage(playerid, FARBE, "Du bist kein Cop!"); //deine copabfrage
    new Float:x, Float:y, Float:z;
    new Float:vx, Float:vy, Float:vz;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetPlayerPos(playerid, x, y, z);
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    GetVehiclePos(i, vx, vy, vz);
    new Float:dis = GetVehicleDistanceFromPoint(i, x, y, z);
    if(dis <= 30.0)
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    }




    if(strcmp(cmd, "/motor",true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Motor ausgeschaltet");
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Du startest den Motor");
    SetTimerEx("motoran",1000,0, "i", playerid);
    }
    }
    return 1;
    }



    if(strcmp(cmd, "/emp",true) == 0)
    {
    if(!IsPlayerCop(playerid)) return SendClientMessage(playerid, FARBE, "Du bist kein Cop!"); //deine copabfrage
    new Float:x, Float:y, Float:z;
    new Float:vx, Float:vy, Float:vz;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetPlayerPos(playerid, x, y, z);
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    GetVehiclePos(i, x, y, z);
    new Float:dis = GetVehicleDistanceFromPoint(i, x, y, z);
    if(dis <= 30.0)
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    }
    return 1;
    }


    Bitteschön :)

    2
    new fischerboot[2];


    OnPlayerConnect
    fischerboot[0]=CreateVehicle(453,580.20001221,-1917.50000000,0.00000000,169.24542236,102,102,15); //Reefer
    fischerboot[1]=CreateVehicle(453,595.89941406,-1918.19921875,0.00000000,178.99542236,102,102,15); //Reefer


    ocmd:angeln(playerid,params[])
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",PlayerName(playerid));
    new Float:x,Float:y,Float:z;

    if(IsPlayerInWater(playerid)) return SendClientMessage(playerid,Rot,"Du bist auf keinem Fischerboot!");
    if(dini_Int(Spieler,"Angel")==0) return SendClientMessage(playerid,Rot,"Du hast keine Angel!");
    for(new f = 0; f < sizeof(fischerboot); f++)
    {
    GetVehiclePos(fischerboot[f],x,y,z);
    if(IsPlayerInRangeOfPoint(playerid,6.0,x,y,z))
    {

    SendClientMessage(playerid,Rot,"Funzt");
    //dein code
    }
    }
    return 1;
    }


    Deine Schleife war falsch und wurde durch die returns komplett abgebrochen. weiterhin musst du die abfragen mit der angel und dem wasser vor der schleife machen.

    Nein, weil die ID immer unterschiedlich ist. Und wenn du noch "Vehicle ID:" davor stehen haben möchtest, musst du immer erst einen String erstellen und diesen mit der Zahl formatieren.

    Du zählst jetzt:


    "Vehicle ID: "(mit Leertasten 12 groß)
    Die ID maximal 4-stellig: +4
    +null terminate (1 Stelle)


    12+4+1= 17, es empfiehlt sich aber eine Standartzahl: 32

    Ich hab jetzt echt keinen Bock auf Streit, nur weil ich ein bisschen scharf war.
    Danke dennoch für die Hilfe.


    Ich hatte eher auf eine Array eines Haussystems gehofft.

    Schick nochmal deinen jetzigen Code. Eigentlich wird die Variable id bereits mit new id = Create...erstellt.


    Bei klapptimer fehlt nach der Zeit ein Bool, der angibt, ob sich der Timer wiederholten soll.
    true für ja und false für nein einfügen.

    Hi Leute, ich wollte nur kurz Fragen, ob es irgendwo eine Liste bzw eine Array mit allen Haus-Interiors gibt? Ich habe bisher 21, doch ich glaube es gibt noch mehr.
    Weiß da jemand über so etwas bescheid?

    Ich kannte diese Seite bereits und kenne auch das Wiki. Ich arbeite stehts mit dem Wiki. Und wenn ich nach Hausinteriors frage, dann bin ich da fehl am Platz, weil dort eben nicht ALLE stehen.

    if(dialogid == DIALOG_BIKE)
    {
    if(response)
    {
    if(listitem == 0) //BMX
    {
    new id = CreateVehicle(481,1912.8782,-1360.7845,13.1699,87.2566,7,7,-1);
    SetTimerEx("DestroyVehicleTimer", 900000, false, "d", id);
    SendClientMessage(playerid,COLOR_GREEN, "Viel Spaß mit deinem BMX, du hast 15 Minuten Zeit!");
    GivePlayerMoney(playerid,-65);
    SetTimerEx("bmxtimer",1000*60*15,"i",playerid);
    }
    if(listitem == 1) //Mountain
    {
    new id = CreateVehicle(510,1912.8411,-1363.4602,13.1721,89.7159,8,8,-1);
    SetTimerEx("DestroyVehicleTimer", 900000, false, "d", id);
    SendClientMessage(playerid,COLOR_GREEN, "Viel Spaß mit deinem Mountainbike, du hast 15 Minuten Zeit!");
    GivePlayerMoney(playerid,-75);
    SetTimerEx("mountaintimer",1000*60*15,"i",playerid);
    }
    if(listitem == 2) //Klapprad
    {
    new id = CreateVehicle(509,1912.8046,-1366.6692,13.1847,88.5823,9,9,-1);
    SetTimerEx("DestroyVehicleTimer", 900000, false, "d", id);
    SendClientMessage(playerid,COLOR_GREEN, "Viel Spaß mit deinem Klapprad, du hast 15 Minuten Zeit!");
    GivePlayerMoney(playerid,-50);
    SetTimerEx("klapptimer",1000*60*15,"i",playerid);
    }
    }


    irgendwo:
    forward DestroyVehicleTimer(vehicleid);
    public DestroyVehicleTimer(vehicleid)
    {
    DestroyVehicle(vehicleid);
    return 1;
    }