Beiträge von Lord_November

    Klappt prima bis auf eiens wenn ich das einbaue verschieben sich alle anderen Pikcups also wenn jmd. stirbt ist das Fahrschulpickup plötzlich ins PD oder ist gar ganz verschwunden was mussi ch da tuen ?


    Ersetze
    new TotenKopf[MAX_PLAYERS][1]; //<- Deswegen verschieben sich die andreren Pickups


    durch
    new TotenKopf[MAX_PLAYER_NAME][1];

    _____________________________________________________________________________________


    Wenn ich wiederbelebt werde, habe ich auf einmal den Medic-Skin obwohl ich Cop bin. Derjenige, der mich
    wiederbelebt hat sieht mich aber mit meinem Cop-Skin, wenn ich mich neu einlogge stimmt alles wieder.
    Woran liegt das ?


    if(strcmp(cmd, "/wiederbeleben", true) == 0 || strcmp(cmd, "/rea", true) == 0 || strcmp(cmd, "/reanimieren", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {//cmd erstellt von InternetInk
    if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pTot] == 1 && IsPlayerInRangeOfPoint(playerid,5.0,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]))
    {
    new pname[256];
    GetPlayerName(i, pname, 256);
    format(string, 256, "Du hast %s, wiederbelebt!",pname);
    SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
    GetPlayerName(playerid, pname, 256);
    format(string, 256, "Arzt %s hat dich wiederbelebt!",pname);
    SendClientMessage(i, COLOR_LIGHTGREEN, string);
    PlayerInfo[i][pTot] = 0;
    pIstTot[i] = 0;// <3 den cmd
    SetPlayerInterior(i,GetPlayerInterior(playerid));
    SetPlayerPos(i,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]);
    SetCameraBehindPlayer(i);
    DestroyPickup(TotenKopf[i][0]);
    DisablePlayerCheckpoint(playerid);
    TogglePlayerControllable(i,1);
    PlayerInfo[i][pTx] = 0.0;
    PlayerInfo[i][pTy] = 0.0;
    PlayerInfo[i][pTz] = 0.0;
    new Float:tempheal;
    GetPlayerHealth(i,tempheal);
    SetPlayerHealth(i,15.0);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Arzt!");
    }
    }
    return 1;
    }

    Bei IsPlayerInRangeOfPoint braucht man doch kein SetTimer Goldkiller oÔ


    Du musst aber irgendwo Geldautomati() haben, also das abgefragt wird wo die Automaten stehen such in deinem Script einfach mal nach Geldautomat und poste alles


    Das habe ich nicht. Ich habe das selbst in Script eingefügt. Was oben steht ist alles.
    Wie geht das denn mit dem SetTimer ? Kann niemand helfen ?


    Hier mit wird leider auch kein Text angezeigt !!!
    public Geldautomat(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,30.0,1504.5009765625,-1699.6123046875,13.714774131775) || IsPlayerInRangeOfPoint(playerid,30.0,1192.9504394531,-916.55194091797,42.814529418945))
    {
    GameTextForPlayer(playerid,"~g~*** Geldautomat *** ~w~Schreibe ~r~/atm",3500,6);
    }
    return 1;
    }

    Zeig doch mal wie / wo du Geldautomat() aufrufst.
    Die Formatierung brauchst du nicht,solltest lieber den String / Text direkt der Funktion übergeben.


    //Edit: Hijashy :thumbup:


    forward Geldautomat(playerid);


    unter public OnGameModeInit()
    CreateObject(2942, 1504.5009765625, -1699.6123046875, 13.714774131775, 0, 359.74731445313, 90.499877929688);//beim LSPD atm
    CreateObject(2942, 1192.9504394531, -916.55194091797, 42.814529418945, 0, 0, 5.4959716796875); //burger atm


    Oder was meinst Du was anderes ?

    Was habe ich hier falsch genacht ?
    public Geldautomat(playerid)
    {
    new string[128];
    if(PlayerToPoint(20.0, playerid, 1504.5009765625,-1699.6123046875,13.714774131775) || PlayerToPoint(3, playerid, 1192.9504394531,-916.55194091797,42.814529418945))
    {


    format(string, sizeof(string), "~g~*** Geldautomat *** ~w~Schreibe ~r~/atm", playerid);
    GameTextForPlayer(playerid,string,3500,6);


    }
    return 1;
    }


    Der Text sollte eigentlich in der Mitte vom Monitor angezeigt werden, wird er aber nicht...
    Es wird nirgends ein Text angezeigt.

    Wenn vor mir jemand in der Waschanlage war, geht gar nichts mehr.
    Bei mir steht dann immer: Bitte fahr auf die Rampe und warte einen Moment., obwohl ich auf der Rampe bin.
    und die anderen Spieler sehen alle, egal wo sie sind: Du bist nicht auf der Rampe!!


    Der Spieler, welcher zuerst in der Waschanlage war, kann diese aber zu jeder Zeit benutzen, bei Ihm funktioniert sie.


    Kann jemand helfen ?

    Ich bekomme die OnDuty-Abfrage im Filterscript nicht hin. Wenn der Cop OnDuty ist soll er nicht geblitzt werden.
    Hier wird der Cop aber immer geblitzt.


    #include <a_samp>
    // Credits: Peter <3 && Antironix for adding Speeding Limit
    // Tekst: Well i didn't care what speedo meter i toke, but the other one didn't worked.
    // I just wanted to make the flitspaal and not the speedo meter.
    // Thx


    #pragma tabsize 0


    static gTeam[MAX_PLAYERS];
    //new gTeam[MAX_PLAYERS];
    new OnDuty[MAX_PLAYERS]; // OnDuty


    //----------------------------------------
    new UpdateSeconds = 1; // How frequent do you want it to be updated?
    new maxobject = 9; //define how many "flitspalen" you have
    //----------------------------------------


    public OnFilterScriptInit() {
    print("\n----------------------------------");
    print("Filterscript Speeding control loaded");
    print("----------------------------------\n");
    SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);
    }


    public OnFilterScriptExit() {
    print("\n----------------------------------");
    print("Filterscript Speeding control un-loaded");
    print("----------------------------------\n");
    }
    forward UpdateSpeed(playerid);


    enum SavePlayerPosEnum {
    Float:LastX,
    Float:LastY,
    Float:LastZ
    }
    #define COLOR_RED 0xAA3333AA
    #define COLOR_YELLOW 0xFFFF00AA
    #define SLOTS 200


    new objectcreated;
    new SavePlayerPos[SLOTS][SavePlayerPosEnum];
    new distance1[MAX_PLAYERS];


    public UpdateSpeed(playerid)
    {
    new Float:x,Float:y,Float:z;
    new Float:distance,value;
    for(new i=0; i<SLOTS; i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerPos(i, x, y, z);
    distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
    // Distance: meters in the last second
    value = floatround(distance * 3600);
    if(UpdateSeconds > 1)
    {
    value = floatround(value / UpdateSeconds);
    }
    distance1[i] = floatround(value/1100);


    SavePlayerPos[i][LastX] = x;
    SavePlayerPos[i][LastY] = y;
    SavePlayerPos[i][LastZ] = z;


    AddBlitzer(i, 1278, 2077.5579,1013.2529,10.8203, 20, 100); //Hier die Blitzer rein (Unsichtbare Speeding Boundries)
    AddBlitzer(i, 1278, 2077.5579,1013.2529,10.8203, 20, 100);
    AddBlitzer(i, 1278, 2078.9189,1235.0403,10.3865, 20, 100);
    AddBlitzer(i, 1278, 1207.4088,-929.6893,42.9278, 20, 100);
    AddBlitzer(i, 1278, 1452.9301,-1027.5425,23.8281, 20, 100);
    AddBlitzer(i, 1278, 1350.0983,-1419.0045,13.5469, 20, 100);
    AddBlitzer(i, 1278, 1689.8768,-1446.8567,13.5469, 20, 100);
    AddBlitzer(i, 1278, 1849.4011,-1396.5714,13.3906, 20, 100);
    } // End is-player-connected
    } // End for-loop
    } // eind UpdateSpeed function


    public OnPlayerRequestClass(playerid, classid)
    {
    if(classid == 0)
    {
    gTeam[playerid] = TEAM_COPS;
    }
    if(classid == 1)
    {
    gTeam[playerid] = TEAM_COPS;
    }
    return 1;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }



    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    IsPlayerInCircle(playerid,Float:x,Float:y,radius)
    {
    if(GetPlayerDistanceToPoint(playerid,Float:x,Float:y) < radius)
    {
    return 1;
    }
    return 0;
    }


    GetPlayerDistanceToPoint(playerid,Float:x,Float:y)
    {
    new Float:x1,Float:y1,Float:z1; GetPlayerPos(playerid,x1,y1,z1);
    new Float:tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+
    floatpower(floatabs(floatsub(y,y1)),2));
    return floatround(tmpdis);
    }


    stock AddBlitzer(playerid, modelid, Float:xx, Float:yy, Float:zz, radius, speed)
    {
    new fine[MAX_PLAYERS];
    new str[256];
    if(objectcreated!=maxobject)
    {
    CreateObject(modelid, xx, yy, zz, 0.0, 0.0, 10);
    objectcreated++;
    }
    if((distance1[playerid])>speed)
    {
    if(IsPlayerInCircle(playerid, xx, yy, radius) && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
    {
    if(OnDuty[playerid] == 1 && gTeam[playerid] == TEAM_COPS)
    {
    SendClientMessage(playerid, COLOR_RED, "Da Du ein Cop oder FBI Agent bis wurdest Du nicht geblitzt!");
    return 1;
    }


    fine[playerid]=((distance1[playerid]*17/10)-speed);
    GivePlayerMoney(playerid, -fine[playerid]);
    format(str,sizeof(str), "Du bist schneller als %d(%d) gefahren und musstest $%d bezahlen",speed, distance1[playerid] ,fine[playerid]);
    SendClientMessage(playerid, COLOR_YELLOW, str);
    }
    }
    return 1;
    }

    Habe alles so in mein Filterscript eingefügt, die Cops werden trotzdem geblitzt.


    static gTeam[MAX_PLAYERS];
    #define TEAM_COPS 2


    public OnPlayerRequestClass(playerid, classid)
    {
    if(classid == 1)
    {
    gTeam[playerid] = TEAM_COPS;
    }
    if(classid == 2 )
    {
    gTeam[playerid] = TEAM_COPS;
    }
    return 1;
    }


    stock AddBlitzer(playerid, modelid, Float:xx, Float:yy, Float:zz, radius, speed)
    {
    new fine[MAX_PLAYERS];
    new str[256];
    if(objectcreated!=maxobject)
    {
    CreateObject(modelid, xx, yy, zz, 0.0, 0.0, 10);
    objectcreated++;
    }
    if((distance1[playerid])>speed)
    {
    if(IsPlayerInCircle(playerid, xx, yy, radius) && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
    {
    if(gTeam[playerid] == TEAM_COPS)
    {
    SendClientMessage(playerid, COLOR_RED, "Da du ein Cop, Fbi Agent bis wurdest du nicht geblitzt!");
    }
    else
    {
    fine[playerid]=((distance1[playerid]*17/10)-speed);
    GivePlayerMoney(playerid, -fine[playerid]);
    format(str,sizeof(str), "Du bist schneller als %d(%d) gefahren und musstest $%d bezahlen",speed, distance1[playerid] ,fine[playerid]);
    SendClientMessage(playerid, COLOR_YELLOW, str);
    }
    }
    }
    return 1;
    }


    Was ist falsch ?

    Hallo,


    ich habe den Blitzer in mein GameMod eingebaut, jetzt funzt die Km/H von meiner Tachoanzeige nicht mehr.
    Die Tachoanzeige springt zum Beispiel von 130 km/h auf 7 km/h oder 0 km/h, da muss man schon Glück haben
    um geblitzt zu werden. Irgend etwas veträgt sich da nicht mit einander.


    Kann es hier drann liegen ?
    SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);


    Wenn ich den Bltzer als Filterscirpt lade funktioniert alles, nur bekomme ich da die COP-Immunität nicht hin.


    Kann jemand helfen ?


    Gruß Rainer