Beiträge von Goldkiller

    Aha, von wem ist Gott der Doppelaccount ?

    Zitat

    User&userID=1
    Registrierungsdatum:Freitag, 27. Juli 2007, 09:24


    Den Account hat breadfish erstellt.Der wird auch nicht genutzt, wo ist also das Problem ?

    Zitat

    Das könnte man mit einem Loop vereinfachen, weiss aber nicht ob du das wirklich brauchst.

    ;)
    Sowas sollte allerdings nicht schwer sein zum selber erstellen.Wir haben hier genug Tutorials die den Umgang mit Schleifen zeigen ;).
    new gsskins[4] = {
    0,
    105,
    106,
    107
    };
    stock hatGSkin(playerid) {
    new
    skinid = GetPlayerSkin(playerid);
    for(new i; i < sizeof(gsskins) ; i++) {
    if(skinid == gsskins[i]) {
    return 1;
    }
    }
    return 0;
    }


    Der Parameterangabe in sscanf() ist doch schon falsch.Du suchst doch keinen Spieler, sondern willst eine Zahl.
    if (sscanf(params, "d", fclothes)) return SendClientMessage(playerid, COLOR_GREY, "Info: /fskin 1-5");

    Sowas passiert, wenn man Scripte kopiert von denen man nicht ganz versteht was das Alles soll.

    new gsskins[4] = {
    0,
    105,
    106,
    107
    };
    //
    if(GetPlayerSkin(playerid) == gsskins[0]) {
    // GetPlayerSkin(playerid) == 0
    }
    else if(GetPlayerSkin(playerid) == gsskins[1]) {
    // GetPlayerSkin(playerid) == 105
    }

    Das könnte man mit einem Loop vereinfachen, weiss aber nicht ob du das wirklich brauchst.

    stunt.pwn(202) : error 040: duplicate "case" label (value 512)
    Da steht doch ganz klar wo der Fehler ist.Der Fall ( case ) 512 ist doppelt / mehrfach vorhanden.
    Du brauchst also nur das doppelte "512" zu entfernen,hab ich dir mal ebend gemacht x(.


    if(strcmp(cmdtext, "/hydraulik", true, 6) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
    {
    case 592,577,511,548,512,593,425,520,417,487,553,488,497,563,476,447,519,460,469,581,509,481,510,522,461,462,521,463,448,468,586,472,473,493,595,484,430,453,452,446,454,537,538,569,590,539:


    return SendClientMessage(playerid, red, "Fehler! Du kannst in dieses Fahrzeug keine Hydraulik einbauen!");
    }
    AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
    SendClientMessage(playerid, green, "Dein Fahrzeug hat nun ein Hydraulik Fahrwerk");
    }
    else return SendClientMessage(playerid,red,"Fehler! Du bist in keinem Fahrzeug!");
    return 1;
    }

    Falls ich dich richtig verstanden habe,
    new
    name[MAX_PLAYER_NAME];
    for(new i; i < MAX_PLAYERS ; i++) {
    if(GetPlayerName(i,name,sizeof(name))) {
    if(strcmp(name,"Testplayer",true) != false) {
    if(PlayerInfo[i][pAdmin] >= 1338) {
    SendClientMessage(playerid,COLOR_RED,"Du wirst GEKICKT");
    Kick(i);
    }
    }
    }
    }


    ErmittleGeschwindigkeit(playerid,bool:kk);
    format(string, sizeof(string), "~w~%d Km/h",/*floatround(value/900)*/bool:kk);
    //
    stock ErmittleGeschwindigkeit(playerid,bool:kmh) {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }
    Ist doch völliger Quatsch.Was hat es denn mit "bool:kk" zu tun ?
    Ich nehme mal an du hast die Funktion ErmittleGeschwindkeit und Speed nicht selber geschrieben, sonst hättest du schon längst gemerkt wo der Fehler liegt.


    forward Speed(playerid);


    public Speed(playerid)
    {
    new
    iSpeed,
    string[32];
    if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
    {
    /*new Float:x,Float:y,Float:z;
    new Float: distance,value;
    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));
    value = floatround(distance * 3900); //Hier verändert man die Anzeige vom Tacho. 3900 ist eine realistische Zahl.*/
    iSpeed = ErmittleGeschwindigkeit(playerid,true);
    format(string, sizeof(string), "~w~%d Km/h",iSpeed);
    TextDrawSetString(Speedometer[playerid], string);
    //SavePlayerPos[i][LastX] = x;
    //SavePlayerPos[i][LastY] = y;
    //SavePlayerPos[i][LastZ] = z;
    }
    return true;
    }


    stock ErmittleGeschwindigkeit(playerid,bool:kmh)
    {
    new
    Float:x,
    Float:y,
    Float:z,
    Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) {
    GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z);
    }
    else {
    GetPlayerVelocity(playerid,x,y,z);
    }
    rtn = floatsqroot(x*x+y*y+z*z);
    if(kmh) {
    return floatround(rtn * 100 * 1.61);
    }
    else {
    return floatround(rtn * 100);
    }
    }

    ZCMD.Wobei Ich auch sehr lange DCMD genutzt habe.
    OCMD und BCMD sind ja im Prinzip von der gleichen Technik wie ZCMD,nur ZCMD eben viel früher da :whistling: .


    Im Endeffekt ist es sowieso jedem selbst überlassen wie er seine Commands scriptet, trotzdem sollte man mit der Zeit gehen :P.

    Zitat

    Huhu ich bin grad dabei an meinem AntiMoneyCheat für meinen GM zu arbeiten, nur leider wird die Funktion nur zum Teil ausgeführt...


    Eine sehr präzise Angabe.Welcher Teil wird denn ausgeführt ? Schon mal versucht mit Debug-Notes zu arbeiten ?

    Huch, da hab ich wohl etwas falsches dazugelesen.


    Mit der Funktion CreatePlayer3DTextLabel kannst du 3DLabels erstellen, die nur ein bestimmter Spieler sehen kann,eben ein Admin.Willst du also das nur ein Admin ein Label sehen kann , könntest du es bspw so machen.


    public OnPlayerSpawn(playerid) {
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    CreatePlayer3DTextLabel(playerid,"Nur du als Admin kannst den Text hier sehen",0xFFBBCCAA,0.0,0.0,0.0,30.0);
    }
    // Mehr Zeug.
    }


    Damit hast du genau genommen ein Player3DTextLabel erstellt.Nur der Spieler sieht den Text, den du als ersten Parameter an die Funktion übergibst.
    Du kannst dafür nicht Create3DTextLabel nicht benutzten, da diese Automatisch für alle sichtbar sind ( ausgenommen man Attachst es direkt an einen Spieler, dann ist es für alle sichtbar bis auf den Spieler an den es Attachst wurde )



    Vielleicht noch etwas weiter ausgeholt,kann man die Funktion mit Create(Player)Object zusammenlegen.
    Erstellt jeweil nur für einen bestimmten Spieler das Objekt bzw 3DTextLabel
    http://wiki.sa-mp.com/wiki/CreatePlayer3DTextLabel
    http://wiki.sa-mp.com/wiki/CreatePlayerObject


    Erstellt für alle Spieler das Objekt bzw 3DTextLabel
    http://wiki.sa-mp.com/wiki/Create3DTextLabel
    http://wiki.sa-mp.com/wiki/CreateObject

    Die IP's sprechen aber nicht unbedingt für dich :| .