Beiträge von Keslo

    hab dort versucht noch eine Klammer ")" zu setzen trotzdem kriege ich dann sogar 6 Errors

    format(string,sizeof(string,"%ikm/h", getPlayerSpeed(i));


    Änder mal die Zeile:


    format(string,sizeof(string,"%ikm/h", getPlayerSpeed(i));


    zu:


    format(string,sizeof(string),"%ikm/h", getPlayerSpeed(i));



    Hab ein Fehler oben gemacht, tut mir leid. so müsste es richtig sein.



    änder das:




    rtn = floatsqroot(x*x + y*y + z*z); //Betroffene zeile (840)
    return floatround(rtn * 100 * 1.61); //Betroffene zeile (841)


    zu:




    new Float:rtn;
    rtn = floatsqroot(x*x + y*y + z*z); //Betroffene zeile (840)
    return floatround(rtn * 100 * 1.61); //Betroffene zeile (841)

    Hoffentlich hat da einer eine Lösung...

    du hast das forward vergessen, schreib es einfach über dein public "sekunde"


    forward sekunde();


    Das wäre der erste Fehler


    Bei der Zeile 704 musst du eine weitere ")" Klammer setzen.



    Änder mal das:


    GetVehicleVelocity(GetPlayerVehicleID(playerid, x, y, z);


    Zu:



    GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);


    und wegen dem Fehler: undefinded Symbol(zeile: 839 und 840)
    schreibst du vor das "rtn =" das hier:


    new Float:rtn;



    Müsste alles gewesen sein :)


    Gruß Kevin

    Cops and Robbers war schon immer eine Art Roleplay nur das es dort nicht so extrem ist wir auf einem puren Roleplay Server. Deswegen ist es auch bei den meisten CnR Servern verboten random leute zu killen da es meistens kein reiner dm server ist.

    Richtig, aber wir haben uns etwas neues überlegt :)

    as Label soll nur für den pMember Angezeigt werden der den Wert 1 hat. Attachet ist das woanders. Denn es soll ja nicht nur der Attechet werden der pMember == 1 ist



    if(Spieler[i][Fraktion] == 1)
    {
    new PlayerText3D:label;
    for(new pwtds=0; pwtds<MAX_PLAYERS; pwtds++)
    {
    if(Spieler[pwtds][Wanteds] > 0)
    {
    new string[50];
    format(string,sizeof(string),"(%d) %s\nWanteds: %d\nWantedgrund: %s",pwtds,SpielerName(pwtds),Spieler[pwtds][Wanteds],Spieler[pwtds][WantedGrund]);
    label = CreatePlayer3DTextLabel(i,string,COLOR_WHITE,0.0,0.0,1.0,20.0,pwtds,INVALID_VEHICLE_ID,1);
    }
    else if(Spieler[pwtds][Wanteds] == 0)
    {
    DeletePlayer3DTextLabel(pwtds,label);
    }
    }
    }


    Hier bitteschön, funktioniert einwandfrei. Musst nur die einzelnen Variabeln ändern. Das ganze Paket packst du in einen 1-Sekunden Timer, kann Global sein.


    vergiss die For-Schleife nicht

    for(new i=0; i<MAX_PLAYERS; i++)




    Gruß, Kevin

    Hey,


    habe folgenden Error mit MySQL:


    [ERROR] CMySQLConnection::Connect - (error #1129) Host '(mein hoster)' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'


    Das Problem kam einfach so, wollte mal mein Server starten (beim Anbieter) und dann das.
    Der Server startet->fährt direkt wieder runter.


    Ich habe schon probiert diesen Befehl in MySQL einzugeben, leider erfolgslos... Die Supporter von meinem Anbieter haben auch noch nicht geantwortet -.-


    Hätte jemand eine Idee? Gemacht habe ich nichts, Server war ein Tag offline, davor hat er funktioniert und ich habe nichts geändert, weder in der DB noch am Script.
    Habe mal probehalber versucht die DB zu löschen und ein Backup von meinem Script reinzuhauen, wieder ohne Erfolg.



    Gruß und danke im Voraus
    Kevin

    Heyho,


    hab hier folgendes Problem.


    Ich habe ein givegun Befehl erstellt, der sowohl per ID als auch per Name Waffen vergeben kann.


    Hier mal der Befehl:



    ocmd:givegun(playerid,params[])
    {
    if (Spieler[playerid][Adminlevel] < 2)return SendClientMessage(playerid, COLOR_GRAD1, "* Du hast nicht die benötigten Rechte.");
    new pID,car,vehicle[32],muni;
    if(sscanf(params, "us[32]i", pID,vehicle,muni))return SendClientMessage(playerid, COLOR_GRAD2, "** FEHLER: /givegun [ID/Name] [Waffenname/WaffenID] [Munition]");
    if(IsNumericString(vehicle)) car = strval(vehicle);
    else car = GetWeaponModelIDFromName(vehicle);


    if(car < 1 || car > 47) { SendClientMessage(playerid, COLOR_GREY, "* Die Waffen-ID kann nicht unter 1 und über 47 sein oder du hast ein falschen Namen eingegeben."); return 1; }


    GivePlayerWeapon(pID,car,muni);


    new string[128];
    format(string, sizeof(string), "* Du hast dir eine %s (ID: %d) mit %d Schuss gegeben.", aWeaponNames[car - 400],car,muni);
    SendClientMessage(playerid,COLOR_ORANGE,string);
    return 1;
    }


    Das Problem ist nur, dass er mir anzeigt, dass es den Befehl nicht gibt, aber er trotzdem mir die Waffe gibt, egal ob per name oder ID.
    Jetzt habe ich folgendes getestet:


    Wenn ich das format rausmache, funktioniert es ohne den fehler.



    Könnte wer helfen?


    Gruß Kevin



    P.S.: Nicht wundern wieso da car und vehicle ist, hab ich von meinem /veh einfach kopiert und geändert.


    Danke dir, funktioniert einwandfrei :)

    Huhu, Titel sagt alles.



    Hier der Code:



    enum labelsys
    {
    labeltext[70],
    labelcolor,
    Float:labelx,
    Float:labely,
    Float:labelz,
    drawdistance,
    virtualworld,
    labellos
    }


    new CLabel[][labelsys] = {


    {"Ballas\nBetrete die Fraktion mit /changeteam", COLOR_LILA, 1939.1422,-1114.7340,27.4523, 10.0, 0,0},
    {"Grove-Street\nBetrete die Fraktion mit /changeteam", COLOR_GREEN, 2495.4912,-1690.4358,14.7656, 10.0, 0,0},
    {"Irish Crime Family\nBetrete die Fraktion mit /changeteam", COLOR_WHITE, -2119.6055,-194.8620,35.3203, 10.0, 0,0},
    {"Yakuza\nBetrete die Fraktion mit /changeteam", COLOR_WHITE, -1550.4174,1168.6066,7.1875, 10.0, 0,0},
    {"Vagos\nBetrete die Fraktion mit /changeteam", COLOR_YELLOW, 2196.1658,1677.1252,12.3672, 10.0, 0,0},
    {"Triaden\nBetrete die Fraktion mit /changeteam", COLOR_BLUE, -2719.7720,-318.7823,7.8438, 10.0, 0,0},
    {"Wheelman\nBetrete die Fraktion mit /changeteam", COLOR_BLUE, -525.4808,-505.8334,25.5234, 10.0, 0,0},
    {"Hitman\nBetrete die Fraktion mit /changeteam", COLOR_WHITE, 2637.2664,-1991.8729,13.9935, 10.0, 0,0}
    };




    for(new i=0; i < sizeof(CLabel); i++)
    {
    Create3DTextLabel(CLabel[i][labeltext], CLabel[i][labelcolor], CLabel[i][labelx], CLabel[i][labely], CLabel[i][labelz], CLabel[i][drawdistance], CLabel[i][virtualworld],CLabel[i][labellos]);
    }


    Sobald ich die Forschleife aus ongamemodeinit entferne kommen keine warnungen mehr.



    Jemand eine Idee?


    Gruß Kevin




    P.S: Warnungen kommen ab dem "new CLabel"

    Danke an beide, hat jetzt endlich geklappt!


    Hier der komplette, funktionierende Befehl:




    ocmd@2:veh,v(playerid,params[])
    {
    if (Spieler[playerid][Adminlevel] < 2)return SendClientMessage(playerid, COLOR_GRAD1, "* Du hast nicht die benötigten Rechte.");
    new car,color1,color2,vehicle[32];
    if(sscanf(params, "s[32]ii", vehicle,color1,color2))return SendClientMessage(playerid, COLOR_GRAD2, "** FEHLER: /(v)eh [carid/carname] [farbe1] [farbe2]");
    if(IsNumericString(vehicle)) car = strval(vehicle);
    else car = GetVehicleModelIDFromName(vehicle);

    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, "* Die Fahrzeug-ID kann nicht unter 400 und über 611 sein oder du hast ein falschen Namen eingegeben."); return 1; }
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, "* Die Farbe kann nicht unter 0 und über 126 sein."); return 1; }
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, "* Die Farbe kann nicht unter 0 und über 126 sein."); return 1; }
    new string[128];
    new Float:X,Float:Y,Float:Z,Float:A;
    GetPlayerPos(playerid, X,Y,Z);
    GetPlayerFacingAngle(playerid,A);
    GetXYInFrontOfPlayer(playerid, X, Y, 5.0);
    new carid = AddStaticVehicleEx(car, X,Y + 2.0,Z, A + 90.0, color1, color2, 360);
    LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
    SetVehicleVirtualWorld(carid,GetPlayerVirtualWorld(playerid));
    CreatedCars[CreatedCar] = carid;
    CreatedCar ++;
    format(string, sizeof(string), "* Fahrzeug %d (%s) [Model: %d CarId: %d] wurde gespawned.", CreatedCar,aVehicleNames[car - 400],car,carid);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }


    MfG
    Kevin :)

    Hallo,


    ich möchte gerne ein /vehicle Befehl der fahrzeuge spawnt. Man könnte entweder die ID vom Fahrzeug (411(infernus)) eingeben oder direkt infernus.


    Ich bin schon soweit gekommen, per ID klappt alles wunderbar. Hat einer eine Idee wie man den Befehl für beides hinbekommt?



    ocmd@2:veh,v(playerid,params[])
    {
    if (Spieler[playerid][Adminlevel] < 2)return SendClientMessage(playerid, COLOR_GRAD1, "* Du hast nicht die benötigten Rechte.");
    new car,color1,color2;
    if(sscanf(params, "iii", car,color1,color2))return SendClientMessage(playerid, COLOR_GRAD2, "** FEHLER: /(v)eh [carid/carname] [farbe1] [farbe2]");
    //car = GetVehicleModelIDFromName(vehicleid);

    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, "* Die Fahrzeug-ID kann nicht unter 400 und über 611 sein oder du hast ein falschen Namen eingegeben."); return 1; }
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, "* Die Farbe kann nicht unter 0 und über 126 sein."); return 1; }
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, "* Die Farbe kann nicht unter 0 und über 126 sein"); return 1; }
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, "* Die Farbe kann nicht unter 0 und über 126 sein."); return 1; }
    new string[128];
    new Float:X,Float:Y,Float:Z,Float:A;
    GetPlayerPos(playerid, X,Y,Z);
    GetPlayerFacingAngle(playerid,A);
    GetXYInFrontOfPlayer(playerid, X, Y, 5.0);
    new carid = AddStaticVehicleEx(car, X,Y + 2.0,Z, A + 90.0, color1, color2, 360);
    LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
    SetVehicleVirtualWorld(carid,GetPlayerVirtualWorld(playerid));
    CreatedCars[CreatedCar] = carid;
    CreatedCar ++;
    format(string, sizeof(string), "* Fahrzeug %d (%s) [Model: %d CarId: %d] wurde gespawned.", CreatedCar,aVehicleNames[car - 400],car,carid);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }



    stock GetVehicleModelIDFromName(vname[])
    {
    for(new i = 0; i < 211; i++)
    {
    if ( strfind(aVehicleNames[i]/*zieht sich ausm new den namen vom auto raus*/, vname, true) != -1 )
    return i + 400;
    }
    return -1;
    }


    Danke im Voraus :)

    Nummer 1: IsPlayerInRangeOfPoint ist an der Stelle nutzlos, da das 3D Label selbst überprüft ob es sichtbar ist, dafür ist drawdistance zuständig.


    Nummer 2: GetPlayerPos kannst du entfernen und die Koordinaten bei CreatePlayer3DLabel kannst du jeweils auf 0.0 setzten. Die Koordinaten sind relativ zum attachten Spieler und daher ist es total klar das es irgendwo angezeigt wird.


    Nummer 3: Frag in deiner obersten Schleife ab ob der Spieler überhaupt Wanteds hat

    Danke jetzt funktioniert alles!