[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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 :)


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • So dürfte es passen:
    else if(IsPlayerInRangeOfPoint(playerid, 0.2,1411.1259,-1484.6494,106.6032) )//Sprunk Machine
    {
    if(gettime() < Waitingtime[playerid]) return 1;
    if(GetPlayerMoney(playerid) >= 1) // 1 $ required.
    {
    new Float:angle;
    GetPlayerFacingAngle(playerid, angle);
    if(angle < 90 && angle > 70)
    {
    Waitingtime[playerid] = gettime() + WaitingtimeInterval;
    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);
    }
    }
    }

  • 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;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Doch, nur ist dein String irgendwann zu lang für den Compiler.
    Dann musst du es so machen:
    CMD:wshop(playerid,params[])
    {
    new string[512];
    format(string, sizeof(string), "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");


    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\
    Hier mehr...\
    ", string);


    ShowPlayerDialog(playerid, DIALOG_WSHOP, DIALOG_STYLE_TABLIST_HEADERS, "Buy Weapon", string, "Select", "Cancel");


    return 1;
    }

  • @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;
    }



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Warum habe ich diese Fehler?

  • Jo hier ist er

  • ocmd:advent(playerid,params[])
    {
    getdate(Jahr, Monat, Tag);
    if(!IsPlayerInRangeOfPoint(playerid, 6, 1480.2238,-1687.2345,14.0469)) return SCM(playerid,COLOR_RED, "Du bist nicht am Advents Punkt!");
    if(GetPVarInt(playerid,"Geschenk") < Tag) return SCM(playerid,COLOR_RED,"Du hast bereits das Türchen für heute geöffnet!");
    new string[144];
    new AdventMFG = 0;
    switch(AdventMFG)
    {
    case 1:
    {
    new mon = random(10000);
    format(string,sizeof (string),"Du hast das Türchen zum %iten Advent Geöffnet und erhälst +$ %i",Tag,mon);
    GiveMoney(playerid,mon);
    SetPlayerAttachedObject(playerid,0,19064,2,0.116999,0.014000,0.000000,80.299995,104.499984,1.700000,1.000000,1.000000,1.000000);
    SendClientMessage(playerid,GELB, string);
    SetPVarInt(playerid,"Geschenk",Tag);
    }
    case 2:
    {
    new Res = random(6);
    format(string,sizeof (string),"Du hast das Türchen zum %iten Advent Geöffnet und erhälst + %i Respektpunkte",Tag,Res);
    pInfo[playerid][pRespektpunkte] += Res;
    SetPlayerAttachedObject(playerid,0,19064,2,0.116999,0.014000,0.000000,80.299995,104.499984,1.700000,1.000000,1.000000,1.000000);
    SendClientMessage(playerid,GELB, string);
    SetPVarInt(playerid,"Geschenk",Tag);
    }
    case 3:
    {
    new Lev = random(6);
    format(string,sizeof (string),"Du hast das Türchen zum %iten Advent Geöffnet und erhälst + %i Level",Tag,Lev);
    SetPlayerScore(playerid, GetPlayerScore(playerid)+Lev);
    SetPlayerAttachedObject(playerid,0,19064,2,0.116999,0.014000,0.000000,80.299995,104.499984,1.700000,1.000000,1.000000,1.000000);
    SendClientMessage(playerid,GELB, string);
    SetPVarInt(playerid,"Geschenk",Tag);
    }
    }
    return AdventMFG;
    }
    Ich weiß nicht, warum der jetzt bei mir die Tabulatoren nicht mit einfügt..
    Der Code so sollte schon ein wenig lösen, aber deiner war ja auch noch nicht fertig oder?

  • Der Code war Fertig ^^

    Das kann nicht sein, oder du bist durcheinander geraten. ^^
    new AdventMFG = 0;
    switch(AdventMFG)
    AdventMFG wird immer 0 sein, weil du es als 0 deklarierst. Von daher wirst du in der switch-Schleife immer 0 bekommen, und somit keine Nachricht erhalten.
    Da musst du was ändern. :D

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen