Beiträge von JustMe.77

    Hmm okay..


    Habe mir 2 Helis erstellt und mit Objekten attached, das Problem ist wenn einer davon kaputt geht und respawnt wird und ich ein neues Auto spawne, sind die Objekte beim neuen Auto attached.


    Ich gehe mal davon aus das ich die löschen muss wenn das Fahrzeug kaputt geht, aber zu welchem Public gehört das?

    Yo, möchte ein großes Gebäude von so weit wie möglich streamen lassen. Habe alle meine Objekte Dynamisch erstellt, sollte ich das Objekt als CreateObject erstellen und die Stream Distance erhöhen oder Dynamisch lassen und Distance erhöhen? Weiß nicht was der Unterschied zwischen beiden ist, außer das CreateObject ein Limit hat..

    Für Personen die mit Mappen nichts am Hut haben ist die Map eventuell gut oder in Ordnung. Aber wenn man ein gewisses Auge dafür hat erkennt man einige Fehler die du gemacht hast, du mappst ziemlich unsauber.


    Und texturieren sollte auch nicht schaden ^^. Aber wie immer, weiter machen und verbessern :)

    @Jeffry


    Danke, ich kann jetzt zwar mehr Zeilen hinzufügen aber das Resultat schaut komisch aus bzw. nur eine Zeile davon. Finde nicht den Fehler :hm:




    CMD:wshop(playerid,params[])
    {
    new string[1024];
    format(string, sizeof(string), "Weapon\tPrice\tAmmo\n\
    {FF0000}Body Armor\t{00FF00}$600\t{FFFF00}100\n\
    {FF0000}Silenced 9mm\t{00FF00}$600\t{FFFF00}100\n\
    {FF0000}Desert Eagle\t{00FF00}$1000\t{FFFF00}100\n\
    {FF0000}Shotgun\t{00FF00}$1000\t{FFFF00}100\n\
    {FF0000}Sawnoff Shotgun\t{00FF00}$1000\t{FFFF00}100\n");
    format(string, sizeof(string), "%s\
    {FF0000}Combat Shotgun\t{00FF00}$2500\t{FFFF00}100\n\
    {FF0000}Uzi\t{00FF00}$1500\t{FFFF00}100\n\
    {FF0000}Mp5\t{00FF00}$700\t{FFFF00}100\n\
    {FF0000}AK-47\t{00FF00}$1250\t{FFFF00}100\n\
    {FF0000}M4\t{00FF00}$1750\t{FFFF00}100\n\
    {FF0000}Tec-9\t{00FF00}$1000\t{FFFF00}100", string);
    format(string, sizeof(string), "%s\
    {FF0000}Country Rifle\t{00FF00}1200\t{FFFF00}100\n\
    {FF0000}Sniper Rifle\t{00FF00}$2500\t{FFFF00}100\n\
    {FF0000}test2\t{00FF00}1200\t{FFFF00}100\n\
    {FF0000}test\t{00FF00}$2500\t{FFFF00}100\n\
    ", string);
    ShowPlayerDialog(playerid, DIALOG_WSHOP, DIALOG_STYLE_TABLIST_HEADERS, "Buy Weapon", string, "Select", "Cancel");
    return 1;
    }


    Danke wie immer :)


    Sind mehr als 10 Zeilen nicht möglich?



    CMD:wshop(playerid,params[])
    {
    ShowPlayerDialog(playerid, DIALOG_WSHOP, DIALOG_STYLE_TABLIST_HEADERS, "Buy Weapon",
    "Weapon\tPrice\tAmmo\n\
    {FF0000}Silenced 9mm\t{00FF00}$600\t{FFFF00}100\n\
    {FF0000}Desert Eagle\t{00FF00}$1000\t{FFFF00}100\n\
    {FF0000}Shotgun\t{00FF00}$1000\t{FFFF00}100\n\
    {FF0000}Sawnoff Shotgun\t{00FF00}$1000\t{FFFF00}100\n\
    {FF0000}Combat Shotgun\t{00FF00}$2500\t{FFFF00}100\n\
    {FF0000}Uzi\t{00FF00}$1500\t{FFFF00}100\n\
    {FF0000}Mp5\t{00FF00}$700\t{FFFF00}100\n\
    {FF0000}AK-47\t{00FF00}$1250\t{FFFF00}100\n\
    {FF0000}M4\t{00FF00}$1750\t{FFFF00}100\n\
    {FF0000}Tec-9\t{00FF00}$1000\t{FFFF00}100", // Etc.
    "Select", "Cancel");



    return 1;
    }

    Nice, crasht nicht mehr. Aber ich muss länger als 5 Minuten meine Position wechseln bis ich mal die richtige Position habe. Kann ich auch abfragen ob der Spieler von Wert A bis Wert B liegt? Also die Angle Koordinate?


    Und können mir diese Funktionen nicht auch helfen? Habe die bei einem anderem FS entdeckt:


    stock GetXYInFrontOfSprunk(&Float:X, &Float:Y, Float:A){X += (0.75*floatsin(-A,degrees));Y += (0.75*floatcos(-A,degrees));return 1;}


    oderstock GetXYInFrontOfObject(playerid, &Float:x, &Float:y, Float:distance){ new Float:a, Float:z; GetObjectRot(playerid,x,y,a); GetObjectPos(playerid, x, y, z); x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees));


    @FleX_GuN Wenn du Spalten meinst, ja maximum ist 4 :)


    forward Animation(playerid);
    public Animation(playerid)
    {
    ApplyAnimation(playerid,"VENDING","VEND_Eat_P",1.4,0,1,1,0,1200,1);



    return 1;
    }



    else if(IsPlayerInRangeOfPoint(playerid, 0.2,1411.1259,-1484.6494,106.6032) )//Sprunk Machine
    {
    {
    if (gettime() <Waitingtime[playerid])
    return 1;
    Waitingtime[playerid] = gettime() + WaitingtimeInterval;



    }

    new Float:angle;
    GetPlayerFacingAngle(playerid, angle);
    if(angle <90 && angle >70) //Beispiel
    if(GetPlayerMoney(playerid) <1) // 1 $ required.

    {
    // Won't heal the player unless he got at least 1 $.
    }

    else

    {

    ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,0,0,0,0);
    SetTimerEx("Animation",2600, false, "playerid", playerid);
    //ApplyAnimation(playerid,"VENDING","VEND_Drink_P",1.4,0,1,1,0,1200,1);
    //ApplyAnimation(playerid,"VENDING"," VEND_Eat_P ",1.4,0,1,1,0,1200,1);
    PlayerPlaySound(playerid,42600,0,0,0);
    GivePlayerMoney(playerid,-1);
    new Float:health;
    GetPlayerHealth(playerid,health);
    health += 33.3;
    if(health > 100.0) health = 100.0;
    SetPlayerHealth(playerid,health);
    }

    }
    }


    if (PRESSED(KEY_CTRL_BACK)) // H-Key
    {

    if(IsPlayerInRangeOfPoint(playerid, 1.0,1415.3289,-1485.0154,106.6032))//Party Room Elevator
    {
    SetPlayerPos(playerid,1425.5829,-1466.8423,115.2628); // Staffteam Elevator
    }



    {

    }
    }
    return 1;
    }

    Mein Server crasht wenn ich ein Getränk nehme




    Ich habe ein Befehl womit angezeigt wird was für ein Angle Wert ich habe wenn ich auf die Position schaue die ich haben möchte. Der ist zwischen 80 und 90. Das heißt also ich muss den Wert zwischen 80 und 90 erlauben. Aber ich verstehe diese Vorzeichen in deiner Abfrage nicht, zumindest nicht alle. Gibt es eine Liste wo sie alle erklärt sind?

    Noch was, habe eine Funktion womit der Spieler nur alle 5 Sekunden ein Getränk trinken kann, doch nach einmaligen trinken erscheint immer die Errormeldung, egal wie lange man wartet.



    new Waitingtime[MAX_PLAYERS];


    #define WaitingtimeInterval 5000


    OnPlayerKeyStateChange Teil



    else if(IsPlayerInRangeOfPoint(playerid, 0.2,1411.1259,-1484.6494,106.6032) )//Sprunk Machine
    {
    {
    if (gettime() <Waitingtime[playerid])
    return SendClientMessage(playerid,0xFFFF0000, "Please wait.");
    Waitingtime[playerid] = gettime() + WaitingtimeInterval;



    }
    if(GetPlayerMoney(playerid) <1) // 1 $ required.
    {
    // Won't heal the player unless he got at least 1 $.
    }
    else

    {

    ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,0,0,0,0);
    PlayerPlaySound(playerid,42600,0,0,0);
    GivePlayerMoney(playerid,-1);
    new Float:health;
    GetPlayerHealth(playerid,health);
    health += 33.3;
    if(health > 100.0) health = 100.0;
    SetPlayerHealth(playerid,health);
    }

    }
    }


    Woran liegts?

    @Jeffry


    Ich habe ein selbsterstelltes Sprunk Object erstellt und habe angefangen die Funktionen nachzumachen wie sie Standart bei GTA sind. Es klappt bis jetzt eigentlich relativ gut, nur gibt es eine kleine Sache die ich mir nicht erklären kann:


    Wenn ich ungefähr 9mal ein Getränk "nehme", geht mein Health wieder auf die Hälfte.
    Mache ich das bei den schon existierenden Automaten passiert da nichts.


    Hier mein Code unter OnPlayerKeyStateChange



    else if(IsPlayerInRangeOfPoint(playerid, 0.2,1411.1259,-1484.6494,106.6032) )//Sprunk Machine
    {
    ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,0,0,0,0);
    PlayerPlaySound(playerid,42600,0,0,0);
    GivePlayerMoney(playerid,-1);
    new Float:health;
    GetPlayerHealth(playerid,health);
    SetPlayerHealth(playerid,health+33.3);
    }


    Frage Nummer 2: Geht mein HP mit meinem aktuellen Code über 100?

    Funktioniert sehr gut :D


    Wieso wird mir mein String im Textdraw und im Chat angezeigt? Sollte nur im Chat sein. (Kommt seit dem ich mehrere Farben verwende)



    format(str, sizeof(str), "You have bought a ticket for {00FF00}%i{FFFFFF}$ and {00FF00}won %i $ !", strval(inputtext), strval(inputtext)*2);
    SendClientMessage(playerid,0xFFFFFFFF, str);