[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
  • Danke.


    Wichtiger ist für mich derzeit wie ich abfrage wieviele Sitze ein Wagen hat, denn wenn ich einen Grab Befehl mache muss ich wenn es ein 2er Wagen ist pID auf Sitz 2 setzen, wenn ein 4er auf platz 3 ^^


    Nunja, muss nicht, aber möchte.


    Wäre schön wenn wer die Abfrage kennt.


    Gruß
    Felix

  • Vielleicht hilft dir das weiter:
    stock GetFreeVehicleSeat(vehicleid,&seat) // by BlackAce
    {
    new seatid,bool:sitzbesetzt[4 char],i;
    for(;i!=MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInAnyVehicle(i)) continue;
    if(vehicleid == GetPlayerVehicleID(i))
    {
    seatid = GetPlayerVehicleSeat(i);
    switch(seatid)
    {
    case 0: sitzbesetzt[seatid] = true; case 1: sitzbesetzt[seatid] = true; case 2: sitzbesetzt[seatid] = true; case 3: sitzbesetzt[seatid] = true;
    }
    }
    }
    seatid=0;
    for(;seatid!=4;seatid++) if(!sitzbesetzt[seatid]) { seat=seatid; break; }
    return true;
    }
    hab ich mal vor ner Zeit gemacht ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Das geht einfacher, in Verbindung mit dem Code von Y_Less


    stock GetFreeVehicleSeat(vehicleid,&seat) // by BlackAce
    {
    new seatid,bool:sitzbesetzt[8 char],i;
    new seats=GetVehicleSeatCount(GetVehicleModel(vehicleid));
    for(;i!=MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInAnyVehicle(i)) continue;
    if(vehicleid==GetPlayerVehicleID(i))
    {
    seatid = GetPlayerVehicleSeat(i);
    if(seatid>seats) break;
    switch(seatid) { case 0: sitzbesetzt[seatid] = true; case 1: sitzbesetzt[seatid] = true; case 2: sitzbesetzt[seatid] = true; case 3: sitzbesetzt[seatid] = true;
    }
    }
    seatid=0;
    for(;seatid!=seats;seatid++) if(!sitzbesetzt[seatid]) { seat=seatid; failed=false; break; } else failed=true;
    if(failed) seat=128;
    return true;
    }
    stock GetVehicleSeatCount(model) //by Y_Less
    {
    static const
    scMaxPassengers[] =
    {
    0x10331113, 0x11311131, 0x11331313, 0x80133301, 0x1381F110, 0x10311103, 0x10001F10, 0x11113311, 0x13113311,
    0x31101100, 0x30001301, 0x11031311, 0x11111331, 0x10013111, 0x01131100, 0x11111110, 0x11100031, 0x11130221,
    0x33113311, 0x11111101, 0x33101133, 0x101001F0, 0x03133111, 0xFF11113F, 0x13330111, 0xFF131111, 0x0000FF3F
    };
    if (400 <= model <= 611)
    {
    model -= 400;
    model = (scMaxPassengers[model >>> 3] >>> ((model & 7) << 2)) & 0xF;
    if (model == 15) return -1;
    return model;
    }
    return -1;
    }

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

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


    stock RangeChat(playerid,farbe,Float:radius,text[])
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerInRangeOfPoint(i,radius,x,y,z))
    {
    SendClientMessage(i,farbe,text);
    }
    }
    }


    ----------------------------------------------------------------------


    Ich möchte eine Animation setzen, diese Animation soll für ALLE Spieler sichtbar sein.
    Sie ist leider nur für die betroffene Person sichtbar.
    Was muss ich ändern ?
    ApplyAnimation(pID, "CRACK", "crckdeth2", 4, 1, 1, 0, 0, 8000);


    lg
    Felix

  • Ich schätz mal das liegt daran das du versuchst keinen String abzufragen sondern ein Zeichen.
    Und ein Zeichen ist keine Zeichenkette und somit auch kein string


    Du kannst das ja mal so probieren
    for(new i,l=strlen(email);i!=l;i++)
    {
    if(email[i]=='@')
    {
    //dein Code
    break;
    }
    }

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • SetPlayerSkin(playerid,281);
    SendClientMessage(playerid, COLOR_WHITE,"Willkommen im Dienst Officer!");
    Spieler[playerid][duty] = 1;
    SpielerPayDayv = SetTimerEx("SpielerPayDay",900000,1,"d",playerid);
    SetPlayerColor(playerid, 0x0000F600);


    Die Spielefarbe ändert sich aber gar nicht, eig. sollte es blau werden aber bleibt weiß :S weis jemand von euch was ob die Funktion buggt?

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