Beiträge von Hagi

    Da muss mehr sein als diese 3 Koordination, da du ja noch 3 rotation brauchst


    machs so


    new gate1;
    gate1 = CreateObject(id,1289.619751, -1645.884888, 12.543756,rx,ry,rz) // Hier kommst der erste Create Object aus dem Compiler hin


    Die ID ist die Art des Objects (tor, wand etc)


    rx
    ry
    rz


    Sind die Rotation.
    Diese Angaben müssen beim Compilen aber mit rauskommen

    So jetzt nochmal komplett im Deatail


    1. Öffnest du MTA und mappst ein Tor.
    Danach mappst du ein zweites dort dorthin, wohin das Tor fahren soll.
    Compile dein Script, so dass du 2 CreateObject mir Coordinaten bekommst.
    Hier ein Converter


    2. Du öffnest dein Script


    3. Unter #include <a_samp> machst du
    new gate1;
    gate1 = // Hier kommst der erste Create Object aus dem Compiler hin


    Danach machst du im public OnPlayerCommand


    if (strcmp(cmd, "/auf", true)==0) // Befehl zum Öffnen
    {
    MoveObject(Gate1,x,y,z,4); // Die Kords, wo das tor sein soll wenns offen ist. Entnimmst du aus dem zweiten CreateObject des Compilers
    return 1;
    }
    if (strcmp(cmd, "/zu", true)==0)
    {
    MoveObject(Gate1,x,y,z, 4); // Die Kords, wo das tor sein soll wenns zu ist.Entnimmst du aus dem ersten CreateObject des Compilers
    return 1;
    }


    Jetzt sollte es keine Probleme mehr geben, da dies nun komplett detailiert ist.


    MFG
    Hagi

    Hallo Breadfisher.
    Ich habe hier ein Anti Waffencheat, welcher über einen timer aufgerufen wird


    public cheat()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    if(!illegalewaffen(i))
    {
    SendClientMessage(i,rot,"Du wurdest auf Grund einer nicht legalisierten Waffe gekickt");
    SendClientMessage(i,rot,"Du hast eine illegale Waffe. Lass das besser sein. Überall sind Admins, auch undercover");


    new string[100], name[MAX_PLAYER_NAME];
    GetPlayerName(i,name, sizeof(name));
    format(string,sizeof(string),"Server: %s wurde wegen eines Waffencheats gekickt.",name);
    SendClientMessageToAll(braun,string);


    print("-----");
    print(string);


    Kick(i);

    }
    else
    {
    return 1;
    }
    return 1;
    }



    public illegalewaffen(playerid)
    {
    switch(GetPlayerWeapon(playerid))
    {
    case 2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,26,27,28,32,33,34,35,36,37,38,39,40,42,43,44,45,47,48,49,50,51,52,53,54: return 0;
    }
    return 1;
    }


    Das Problem ist jetzt nur. Wenn jemand wegen einer verbotenen Waffe gekickt wird, werden alle anderen die auf den Server joinen auch gekickt, obwohl sie keine verbotenen Waffen haben


    Ich hoffe ihr könnt helfen
    Weiß jemand woran das liegen kann ?

    Eure Antworten haben nichts mit der Fragestellung von XxPasixX zu tun.


    Er fragte: WARUM geht er nicht


    und ihr antwortet auf eine Frage wie diese : Was für Map converter gibt es.


    @ Back to topic

    Hallo
    Habe ein Problem


    Ich habe unter GameModeInit


    AllowInteriorWeapons(0);


    Allerdings, kann ich immernoch in einem Ammunation Waffen nehmen.


    Oder kann es sein, dass wenn man sich wie bei mir reinteleportiert, diese Funktion nicht wirkt ?

    Also


    Hast du das ganz oben im Script ?


    new wurdegehackt = 0;
    new hacker;
    forward hackende();
    forward unfreeze();


    Desweiteren hast du OnPlayerCommand 2 mal im Script ?


    Hast du


    die 2 Publics


    public unfreeze()
    {
    TogglePlayerControllable (hacker,1);
    SendClientMessage(hacker,farbe,"Du hast deine Wanteds gehackt");
    SetPlayerWantedLevel(hacker,0);


    new hackerstring[256];
    new hackername[MAX_PLAYER_NAME];
    GetPlayerName(hacker,hackername,sizeof(hackername));
    format(hackerstring,sizeof(hackerstring),"Der Hacker %s hat seine Wanteds gehackt",hackername);



    for(new i = 0;i<MAX_PLAYERS;i++)
    if(IsACop[i] == 1)
    {
    SendClientMessage(i,farbe,hackerstring);
    }
    }


    public hackende()
    {
    wurdegehackt = 0;
    }


    Gaaaanz unten im Script ?


    new wurdegehackt = 0;
    new hacker;
    forward hackende();
    forward unfreeze();


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/hacken", cmdtext, true, 10) == 0)
    {
    if(wurdegehackt == 0)
    {
    SendClientMessage(playerid,farbe,"Du hackst nun 30 Sekunden den Wanted-Computer");
    SetTimer("hackende",432000,0); // Sind 432000 Milisekunden 2 Stunden ?
    SetTimer("unfreeze",30000,0);
    wurdegehackt = 1;
    hacker = playerid;
    TogglePlayerControllable (hacker,0);
    }
    else
    {
    SendClientMessage(playerid,farbe,"Fehler: Du kannst noch nicht hacken");
    }
    }
    return 0;
    }


    public unfreeze()
    {
    TogglePlayerControllable (hacker,1);
    SendClientMessage(hacker,farbe,"Du hast deine Wanteds gehackt");
    SetPlayerWantedLevel(hacker,0);


    new hackerstring[256];
    new hackername[MAX_PLAYER_NAME];
    GetPlayerName(hacker,hackername,sizeof(hackername));
    format(hackerstring,sizeof(hackerstring),"Der Hacker %s hat seine Wanteds gehackt",hackername);



    for(new i = 0;i<MAX_PLAYERS;i++)
    if(IsACop[i] == 1)
    {
    SendClientMessage(i,farbe,hackerstring);
    }
    }


    public hackende()
    {
    wurdegehackt = 0;
    }


    So jetzt aber.
    Wenn ich es bei mir compile bekomm ich keine Errors

    Also "farbe" ersetzt du bitte durch den HEx code oder durch eine definierte Farbe


    new wurdegehackt = 0;
    new hacker;
    forward hackende();
    forward unfreeze();


    if(strcmp(cmd, "/hacken", true) == 0)
    {
    if(wurdegehackt == 0)
    {
    SendClientMessage(playerid,farbe,"Du hackst nun 30 Sekunden den Wanted-Computer");
    SetTimer(hackende,432000,0); // Sind 432000 Milisekunden 2 Stunden ?
    SetTimer(unfreeze,30000,0);
    wurdegehackt = 1;
    hacker = playerid;
    TogglePlayerControllable (hacker,0);
    }
    else
    {
    SendClientMessage(playerid,farbe,"Fehler: Du kannst noch nicht hacken");
    }
    }


    public unfreeze()
    {
    TogglePlayerControllable (hacker,1);
    SendClientMessage(playerid,farbe,"Du hast deine Wanteds gehackt");
    SetPlayerWantedLevel(hacker,0);


    new hackerstring[256];
    new hackername[MAX_PLAYER_NAME];
    GetPlayerName(hacker,hackername,sizeof(hackername));
    format(hackerstring,sizeof(hackerstring),"Der Hacker %s hat seine Wanteds gehackt",hackername);


    for(i=0;i<MAX_PLAYERS;i++)
    if(IsACop[i] == 1)
    {
    SendClientMessage(i,farbe,hackerstring);
    }
    }


    public hackende()
    {
    wurdegehackt = 0;
    }

    Huch da war noch ein Klammerfehler


    new wurdegehackt = 0;
    new hacker[MAX_PLAYERS];
    forward hackende();
    forward unfreeze();


    if(strcmp(cmd, "/hacken", true) == 0)
    {
    if(wurdegehackt == 0)
    {
    SendClientMessage(playerid,farbe,"Du hackst nun 30 Sekunden den Wanted-Computer");
    SetTimer(hackende,432000,0); // Sind 432000 Milisekunden 2 Stunden ?
    SetTimer(unfreeze,30000,0);
    wurdegehackt = 1;
    hacker = playerid;
    TogglePlayerControllable (hacker,0);
    }
    else
    {
    SendClientMessage(playerid,farbe,"Fehler: Du kannst noch nicht hacken");
    }
    }


    public unfreeze()
    {
    TogglePlayerControllable (hacker,1);
    SendClientMessage(playerid,farbe,"Du hast deine Wanteds gehackt"
    SetPlayerWantedLevel(hacker,0);


    new string[256];
    new hackername[MAX_PLAYER_NAME];
    GetPlayerName(hacker,hackername,sizeof(hackername));
    format(string,sizeof(string),"Der Hacker %s hat seine Wanteds gehackt",hackername);


    for(i=0;i<MAX_PLAYERS;i++)
    if(IsACop[i] == 1)
    {
    SendClientMessage(i,farbe,string);
    }
    }


    public hackende()
    {
    wurdegehackt = 0;
    }

    Klammerfehler xd


    new wurdegehackt = 0;
    new hacker[MAX_PLAYERS];
    forward hackende();
    forward unfreeze();


    if(strcmp(cmd, "/hacken", true) == 0)
    {
    if(wurdegehackt == 0)
    {
    SendClientMessage(playerid,farbe,"Du hackst nun 30 Sekunden den Wanted-Computer");
    SetTimer(hackende,432000,0); // Sind 432000 Milisekunden 2 Stunden ?
    SetTimer(unfreeze,30000,0);
    wurdegehackt = 1;
    hacker = playerid;
    TogglePlayerControllable (hacker,0);
    }
    else
    {
    SendClientMessage(playerid,farbe,"Fehler: Du kannst noch nicht hacken");
    }


    public unfreeze()
    {
    TogglePlayerControllable (hacker,1);
    SendClientMessage(playerid,farbe,"Du hast deine Wanteds gehackt"
    SetPlayerWantedLevel(hacker,0);


    new string[256];
    new hackername[MAX_PLAYER_NAME];
    GetPlayerName(hacker,hackername,sizeof(hackername));
    format(string,sizeof(string),"Der Hacker %s hat seine Wanteds gehackt",hackername);


    for(i=0;i<MAX_PLAYERS;i++)
    if(IsACop[i] == 1)
    {
    SendClientMessage(i,farbe,string);
    }
    }


    public hackende()
    {
    wurdegehackt = 0;
    }

    Hier mal eine Liste



    Benutz den Type 23 , dann sollte man es auch im Auto sehen können


    new wurdegehackt = 0;
    new hacker[MAX_PLAYERS];
    forward hackende();
    forward unfreeze();


    if(strcmp(cmd, "/hacken", true) == 0)
    {
    if(wurdegehackt == 0)
    {
    SendClientMessage(playerid,farbe,"Du hackst nun 30 Sekunden den Wanted-Computer");
    SetTimer(hackende,432000,0); // Sind 432000 Milisekunden 2 Stunden ?
    SetTimer(unfreeze,30000,0);
    wurdegehackt = 1;
    hacker = playerid;
    TogglePlayerControllable (hacker,0);
    }
    else
    {
    SendClientMessage(playerid,farbe,"Fehler: Du kannst noch nicht hacken");
    }


    public unfreeze()
    {
    TogglePlayerControllable (hacker,1);
    SendClientMessage(playerid,farbe,"Du hast deine Wanteds gehackt"
    SetPlayerWantedLevel(hacker,0);


    new string[256];
    new hackername[MAX_PLAYER_NAME];
    GetPlayerName(hacker,hackername,sizeof(hackername));
    format(string,sizeof(string),"Der Hacker %s hat seine Wanteds gehackt",hackername);


    for(i=0;i<MAX_PLAYERS;i++)
    if(IsACop[i] == 1)
    {
    SendClientMessage(i,farbe,string);
    }


    public hackende()
    {
    wurdegehackt = 0;
    }
    new


    Sollte funktionieren

    Also der Nativ OnPlayerEnterVehicle wird aufgerufen, wenn jemand f drückt um einzusteigen. Ich denke nicht, dass der Spieler dann rausgeworfen werden kann.


    Probiers mal unter OnPlayerStateChange



    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(vehicleid == 1)
    {
    if(gTeam[playerid] == TEAM_COPS)
    {
    SendClientMessage(playerid, COLOUR_BLUE, "Willkommen im Copfahrzeug");
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, GREY, "Du bist kein Polizist");
    }
    }
    }