Beiträge von RedDragon

    Wenn jetzt Variable1 den Wert 0 bekommen hat und Variable2 auch 0 hat... dann fragst du if(pickupid == Variable1) und das ist dann in dem Fall dasselbe wie: if(pickupid == 0) und das kann dann auch auf Variable2 zutreffen.

    Kann sein, dass etwas mit deinen Variablen nicht ganz stimmt... vielleicht haben manche irgendwie den selben Wert bekommen?


    Aber nachdem ein Pickup aufgenommen wurde sollte schon ein return 1 folgen:


    if(pickupid == ...)
    {
    //...
    return 1;
    }
    //....

    wenn man /lock eingibt mit if(IsPlayerInAnyVehicle(playerid) == 1) prüfen, ob man in einem Fahrzeug sitzt. Danach mit GetPlayerSeat prüfen, ob man Fahrer ist, danach der Code zum ab/aufschließen:


    new engine,lights,alarm,doors,bonnet,boot,objective,vid;
    vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(doors == false) return SetVehicleParamsEx(vid,1,lights,alarm,true,bonnet,boot,objective);
    if(doors == true) return SetVehicleParamsEx(vid,1,lights,alarm,false,bonnet,boot,objective);


    Und dann soll das Fahrzeug aufgeschlossen werden, wenn man aussteigt. Das geht wie folgt:


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(doors == true) SetVehicleParamsEx(vehicleid,1,lights,alarm,false,bonnet,boot,objective);
    SendClientMessage(playerid, 0xFFFFFFFF, "Das Fahrzeug ist nun wieder aufgeschlossen.");
    return 1;
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/ac", true, 3))
    {
    if(IsPlayerAdmin(playerid) == 0) return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Admin.");
    // der prüft nur, ob man RCON-Admin ist, musst noch von deinem Adminsystem den Code hinzufügen


    if(!cmdtext[3])return SendClientMessage(playerid, 0xFF0000FF, "Benutzung: /ac [Text]");
    new str[128];
    GetPlayerName(playerid, str, sizeof(str));
    format(str, sizeof(str), "* Admin %s: %s", str, cmdtext[4]);
    SendClientMessageToAll(0xFFFF00AA, str);
    return 1;
    }
    return 0;
    }

    new light[MAX_VEHICLES] = -1;


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/licht", true))
    {
    if(IsPlayerInAnyVehicle(playerid) == 0) return 0;
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicleid) != 415) return 0;
    if(light[vehicleid] == -1)
    {
    light[vehicleid] = CreateObject(18646,x, y, z, 0.0, 0.0, 96.0);
    AttachObjectToVehicle(light[vehicleid], vehicleid, -0.290039062, -0.284179688, 0.631957054, 0.0, 0.0, 0.0);
    return 1;
    }
    else
    {
    DestroyObject(light[vehicleid]);
    }
    return 1;
    }
    return 0;
    }

    Ein Callback ist z.B.:


    public OnGameModeInit()
    {
    return 1;
    }


    OnGameModeInit wird, wenn das GameMode gestartet, ausgeführt. Alles, was zwischen den Klammern steht, wird ausgeführt. (In dem Beispiel noch nichts)
    Wann andere Callbacks ausgeführt werden, muss man sich merken, oder im SA-Mp-Wiki nachgucken, da steht alles detailliert.


    Nachschlagbar hier.

    Ich kenn mich imt OCMD zwar nicht aus, aber probiere das mal.


    ocmd:motor(playerid)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    if(motor[vid] == false)
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    motor[vid] = true;
    SendClientMessage(playerid,0xFF0000,"Du hast den Motor gestartet!");
    return 1;
    }


    if(motor[vid] == true)
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    motor[vid] = false;
    SendClientMessage(playerid,0xFF0000,"Du hast den Motor abgewürgt!");
    return 1;
    }
    }
    return 1;
    }

    1. Ich habe mir viele Youtube Tutorials angeschaut, wie man einen Gamemode usw. bearbeitet und öffnet, das hat schon sehr geholfen.
    2. Im Ordner filterscripts oder gamemodes sind viele Beispiel Scripts vorhanden, einfach mal öffnen und schauen was drin steht
    3. Ein Filterscript kannst du dazu benutzen um zum Beispiel Befehle für den Server zu erstellen, und ähnliches.
    4. Schon einige Monate mit 2-3 Stunden pro Woche Scriptzeit^^
    5. Gute Englischkenntnisse sind für das Scripten unerlässlich. Normalerweise weiß man automatisch was das bedeutet, wenn nicht einfach mal Vokabeln lernen^^