[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
  • Wenn ich dies ausführe:
    if(IsPlayerInRangeOfPoint(playerid, 100, Funkmast[i][f_x], Funkmast[i][f_x], Funkmast[i][f_x])){ format(etext, sizeof(etext), "{FF0000}Schlecht/Kein{FFFFFF}"); }else if(IsPlayerInRangeOfPoint(playerid, 150, Funkmast[i][f_x], Funkmast[i][f_x], Funkmast[i][f_x])){ format(etext, sizeof(etext), "{FF4B13}Mittel{FFFFFF}"); }else if(IsPlayerInRangeOfPoint(playerid, 200, Funkmast[i][f_x], Funkmast[i][f_x], Funkmast[i][f_x])){ format(etext, sizeof(etext), "{66CC00}Gut{FFFFFF}"); }


    Einer eine Idee, weshalb mir der string dann leer ausgegeben wird ? Trotz ich in einer der Range stehe ?

    hast nur die x-Koordinaten genommen

  • Beitrag von German_ScripterHD ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Oder liegt es evtl. an meinem Code?

    Ja, du nutzt mehrmals die random Funktion...dadurch verändern sich die Koordinaten ^^


    C
    new Float:X = float(random(floatround(dmZone[i][maxX]) - floatround(dmZone[i][minX])) + floatround(dmZone[i][minX]));
    new Float:Y = float(random(floatround(dmZone[i][maxY]) - floatround(dmZone[i][minY])) + floatround(dmZone[i][minY]));
    new Float:Z;
    MapAndreas_FindZ_For2DCoord(X, Y, Z);
    SetPlayerPos(playerid, X, Y, Z);

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • if(fVehicle[fV][vehFraktion] == 3)
    {
    if(GetVehicleModel(fVehicle[fV][vehID]) == 560){
    if(fVehicle[fV][vehFraktion] == 3){
    fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);
    }
    }
    else if(fVehicle[fV][vehFraktion] == 6){ //Funktioniert nicht
    if(GetVehicleModel(fVehicle[fV][vehID]) == 560){
    fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);
    }
    }
    else if(fVehicle[fV][vehFraktion] == 1){
    if(GetVehicleModel(fVehicle[fV][vehID]) == 560){
    fVehicle[fV][vehSiren1] = CreateDynamicObject(19620, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren2] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren3] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren4] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren5] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], -0.00160, 0.05440, 0.83080, 0.00000, 0.00000, 0.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren2], fVehicle[fV][vehID], 0.73560, 2.59780, -0.13790, 0.00000, 0.00000, 178.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren3], fVehicle[fV][vehID], 0.73560, 2.59780, -0.24890, 0.00000, 0.00000, 178.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren4], fVehicle[fV][vehID], -0.72440, 2.59780, -0.13990, 4.00000, 0.00000, 185.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren5], fVehicle[fV][vehID], -0.72440, 2.59780, -0.25090, 4.00000, 0.00000, 185.00000);
    }
    }
    }
    SetVehiclePos(fVehicle[fV][vehID], fVehicle[fV][vehPosX], fVehicle[fV][vehPosY], fVehicle[fV][vehPosZ]);
    SetTimerEx("SetVehicleZAngle", 5000, 0, "dd", fVehicle[fV][vehID], fVehicle[fV][vehPosA]);
    }
    return 1;
    }


    Hey wen ich für Fraktion ID 3 ein Sultan erstelle wird die Sirene drauf gemacht.
    Wen ich für die Fraktion ID 6 ein Sultan erstelle wird die Sirene nicht drauf gemacht.


    @Kaliber

  • if(fVehicle[fV][vehFraktion] == 3){if(GetVehicleModel(fVehicle[fV][vehID]) == 560){if(fVehicle[fV][vehFraktion] == 3){fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);}}else if(fVehicle[fV][vehFraktion] == 6){ //Funktioniert nichtif(GetVehicleModel(fVehicle[fV][vehID]) == 560){fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);}}else if(fVehicle[fV][vehFraktion] == 1){if(GetVehicleModel(fVehicle[fV][vehID]) == 560){fVehicle[fV][vehSiren1] = CreateDynamicObject(19620, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren2] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren3] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren4] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);fVehicle[fV][vehSiren5] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], -0.00160, 0.05440, 0.83080, 0.00000, 0.00000, 0.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren2], fVehicle[fV][vehID], 0.73560, 2.59780, -0.13790, 0.00000, 0.00000, 178.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren3], fVehicle[fV][vehID], 0.73560, 2.59780, -0.24890, 0.00000, 0.00000, 178.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren4], fVehicle[fV][vehID], -0.72440, 2.59780, -0.13990, 4.00000, 0.00000, 185.00000);AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren5], fVehicle[fV][vehID], -0.72440, 2.59780, -0.25090, 4.00000, 0.00000, 185.00000);}}}SetVehiclePos(fVehicle[fV][vehID], fVehicle[fV][vehPosX], fVehicle[fV][vehPosY], fVehicle[fV][vehPosZ]);SetTimerEx("SetVehicleZAngle", 5000, 0, "dd", fVehicle[fV][vehID], fVehicle[fV][vehPosA]);}return 1;}


    Hey wen ich für Fraktion ID 3 ein Sultan erstelle wird die Sirene drauf gemacht.
    Wen ich für die Fraktion ID 6 ein Sultan erstelle wird die Sirene nicht drauf gemacht.


    @Kaliber


    if(GetVehicleModel(fVehicle[fV][vehID]) == 560)
    {
    if(fVehicle[fV][vehFraktion] == 3 || fVehicle[fV][vehFraktion] == 6)
    {
    fVehicle[fV][vehSiren1] = CreateDynamicObject(19420, 0, 0, 0, 0, 0, 0, 0);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.000000, 0.000000, 0.829999, 0.000000, 0.000000, 0.000000);
    }
    else if(fVehicle[fV][vehFraktion] == 1)
    {
    fVehicle[fV][vehSiren1] = CreateDynamicObject(19620, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren2] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren3] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren4] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    fVehicle[fV][vehSiren5] = CreateDynamicObject(19797, 0, 0, 0, 0, 0, 0, 0);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], -0.00160, 0.05440, 0.83080, 0.00000, 0.00000, 0.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren2], fVehicle[fV][vehID], 0.73560, 2.59780, -0.13790, 0.00000, 0.00000, 178.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren3], fVehicle[fV][vehID], 0.73560, 2.59780, -0.24890, 0.00000, 0.00000, 178.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren4], fVehicle[fV][vehID], -0.72440, 2.59780, -0.13990, 4.00000, 0.00000, 185.00000);
    AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren5], fVehicle[fV][vehID], -0.72440, 2.59780, -0.25090, 4.00000, 0.00000, 185.00000);
    }
    }


  • format(string, sizeof(string), "Im Jackpot befinden sich %d$.\nHeute ist die Gewinnernummer %d.", Others[Lotto], lottonumber);
    SendClientMessageToAll(COLOR_WHITE, string);


    Hey,


    Ich hab versucht \n ~n~ das die Heute ist die Gewinnernummer %sd. in die Nexte zeile angezeigt wird warum nimmt er das nicht?

  • format(string, sizeof(string), "Im Jackpot befinden sich %d$.\nHeute ist die Gewinnernummer %d.", Others[Lotto], lottonumber);SendClientMessageToAll(COLOR_WHITE, string);


    Hey,


    Ich hab versucht \n ~n~ das die Heute ist die Gewinnernummer %sd. in die Nexte zeile angezeigt wird warum nimmt er das nicht?

    Musst du wohl oder übel zwei Nachrichten verschicken, die Zeichen funktionieren nämlich bei SendClientMessageToAll() nicht.

  • Musst du wohl oder übel zwei Nachrichten verschicken, die Zeichen funktionieren nämlich bei SendClientMessageToAll() nicht.


    format(string, sizeof(string), "Im Jackpot befinden sich %d$.", Others[Lotto]);
    format(string, sizeof(string), "Heute ist die Gewinnernummer %d.", lottonumber);
    SendClientMessageToAll(COLOR_WHITE, string);


    meinst du so? oder muss ich das SendClientMessageToAll(COLOR_WHITE, string); ein zweites mal einfügen?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du beendest mit dem format, die Nachricht wird nicht gesendet.
    Mache es so:
    if(GetMoney(playerid) < 2000)
    {
    format(string, sizeof(string), "Du benötigst 2000$ um ein Ticket zu kaufen. Jackpot: %d$", Others[Lotto]);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }


  • CMD:sup(playerid, params[])
    {
    new input[90], string[128];
    if(!IsLoggedIn(playerid))return 1;
    if(Spieler[playerid][pAdmin] > 0)return SendClientMessage(playerid, COLOR_GREY, "Der Befehl ist nicht für Team Mitglieder gedacht.");
    if(sscanf(params, "s[90]", input))return SendClientMessage(playerid, COLOR_GREY, "Benutze /sup [Nachricht]");
    new bool:isOnline;
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && Spieler[i][pLoggedIn])
    {
    if(Spieler[i][pAdmin] > 0)
    {
    isOnline = true;
    }
    }
    }
    if(!isOnline)
    {
    SendClientMessage(playerid, COLOR_GREY, "Derzeit ist kein Team Mitglied online.");
    return 1;
    }
    // CREATE SUPPORT TICKET
    if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, COLOR_GREY, "Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
    if(Spieler[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
    SendClientMessage(playerid, COLOR_GREEN, "Du hast ein Support-Ticket abgeschickt. Bitte gedulde dich nun einen moment.");
    format(string, sizeof(string), "%s hat ein Support-Ticket erstellt! (/areport)", GetName(playerid));
    SendAdminMessage(COLOR_GREEN, string);
    format(string, sizeof(string), "Support-Ticket: "COLOR_HEX_WHITE"%s", input);
    SendClientMessage(playerid, COLOR_GREEN, string);
    Spieler[playerid][pReportAktiv] = 1;
    new ticket = GetFreeTicket();
    gSupport[ticket][ticketCreated] = true;
    format(gSupport[ticket][ticketMessage], 90, input);
    gSupport[ticket][ticketSender] = playerid;
    gSupport[ticket][ticketAdmin] = INVALID_PLAYER_ID;
    gSupport[ticket][ticketType] = 1;
    format(string, sizeof(string), "Offene Tickets: ~g~%d", GetTicketCount());
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsLoggedIn(i))
    {
    if(Spieler[i][pAdminDuty] == 1)
    {
    PlayerTextDrawSetString(i, pTextSupport[i][2], string);
    }
    }
    }
    return 1;
    }




    Ich wollte fragen wie man das ändert also man erstellt per /sup ein Ticket.
    so wen das Ticket angenommen wird das man auch per /sup antworten kann genauso wie der admin /sup schreiben kann mit den Spieler


    derzeit antwortet man mit also "T" kommt das Kästchen wo man Befehle eingibt so wen man antworten möchte !TEXT

  • Wie kann ich hier optionale Parameter einfügen?

    Code
    new vId, col1=-1, col2=-1, sirene=0;
    
    
    if(sscanf(params, "dDDD", vId, col1, col2, sirene)) return SendClientMessage(playerid, COLOR_RED, "Verwende: /aveh [Fahrzeug ID] [Farbe 1(Optional)] [Farbe 2(Optional)] [Sirene (Optional)]");

    Hab irgendwo gelesen das es optional ist wenn man das "d" einfach groß schreibt. Jedoch ist in diesem Fall nur der letzte Parameter optional.

  • Hey! Da bei diesem "Befehl" sowieso nur Zahlen angegeben werden müssen /- dürfen ist es hier nicht nötig "d" zu verwenden. "i" ist hierbei die richtige Verwendung.


    Code
    new vId, col1= 0, col2= 0, sirene=0;
    
    
    if(sscanf(params, "iiii", vId, col1, col2, sirene)) return SendClientMessage(playerid, COLOR_RED, "Verwende: /aveh [Fahrzeug ID] [Farbe 1(Optional)] [Farbe 2(Optional)] [Sirene (Optional)]");

    Ich hoffe ich konnte dir weiterhelfen.


    Mit freundlichen Grüßen
    Paymon

  • @Infra und dieses "k<vehicle>" funktioniert automatisch?
    Weil auf der englischen Seite hab ich dazu sowas gefunden:

    Kann man damit eigene definieren?
    Und der für <vehicle> existiert so schon?

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