[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
  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Mache es über die Gang ID.
    format(query, sizeof(query), "UPDATE `user` SET `Gang`='0', `GRang`='0' WHERE `username`='%s'",leadername);
    zu:
    format(query, sizeof(query), "UPDATE `user` SET `Gang`='0', `GRang`='0' WHERE `Gang`='%d'",strval(leadername));


    Die Variable leadername kannst du ja noch umbenennen.

  • hi leute ich will grad nen /v befehl machen aber wie kann ich alternativ zur id auch den namen oder auch nur die ersten paar buchstaben des autonamens eingeben?

  • ja habs mal angeschaut die includes die er haben will hab ich net

  • ocmd:v(playerid,params[])
    {
    new carid;
    new Float:xc, Float:yc, Float:zc, Float:ac;
    GetPlayerPos(playerid,xc,yc,zc);
    GetPlayerFacingAngle(playerid,ac);
    if(sscanf(params,"i",carid))return SendClientMessage(playerid,COLOR_RED,"/v [carid]");
    new vID = CreateVehicle(carid,xc,yc,zc,ac,1,1,-1,0);
    SetPVarInt(playerid,"nCAR",vID);
    PutPlayerInVehicle(playerid,vID,0);
    SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug erstellt.");
    return 1;
    }

  • ocmd:v(playerid,params[])
    {
    new carid, str[32];
    if(sscanf(params,"s[32]",str))return SendClientMessage(playerid,COLOR_RED,"/v [carid/name]"); // Nur "s" falls du nicht das Plugin verwendest.
    if(IsNumeric(str)) carid = strval(str);
    else carid = GetVehicleModelIDFromName(str);
    if(carid < 400 || carid > 611) return SendClientMessage(playerid,COLOR_RED,"Error: Ungültige ID.");
    new Float:xc, Float:yc, Float:zc, Float:ac;
    GetPlayerPos(playerid,xc,yc,zc);
    GetPlayerFacingAngle(playerid,ac);
    new vID = CreateVehicle(carid,xc,yc,zc,ac,1,1,-1,0);
    SetPVarInt(playerid,"nCAR",vID);
    PutPlayerInVehicle(playerid,vID,0);
    SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug erstellt.");
    return 1;
    }


    stock IsNumeric(str[]) //©Jeffry
    {
    if(!strlen(str)) return 0;
    for (new i = 0, j = strlen(str); i < j; i++) if(str[i] > '9' || str[i] < '0') return 0;
    return 1;
    }


    Aus dem Pastebin kopierst du dir das Array mit den Fahrzeugnamen und die GetVehicleModelIDFromName-Funktion.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • sorry bin anfänger weiß zb nicht was ein array ist^^
    aber danke kopiere mir jetzt erstmal deinen code^^

  • C:\Users\SunRiZez\Desktop\samp037_svr_R1_win32\gamemodes\UltimateReallife.pwn(413) : warning 235: public function lacks forward declaration (symbol "GetVehicleModelIDFromName")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

  • Wäre es möglich, einem Spieler ein bestimmtes Objekt zu Attachen und anschließend das Objekt inkl. dem Spieler zu Moven?


    /EDIT/:


    Oder könnte man ein Objekt erstellen und den Spieler irgendwie an das Objekt "kleben" anschließend via. MoveObject das Objekt inkl. Spieler bewegen?

    Einmal editiert, zuletzt von ArTeX ()

  • Oder könnte man ein Objekt erstellen und den Spieler irgendwie an das Objekt "kleben" anschließend via. MoveObject das Objekt inkl. Spieler bewegen?


    Nein, aber du kannst ein Objekt an den Spieler kleben und den Spieler bewegen: Player Movement

    ast2ufdyxkb1.png


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

  • hi leute mein sscanf lädt nicht :(((((((((((((((((((((((((((((((((((((((((((
    im server log steht auch nur dass es nicht geladen wurde mehr nicht

  • Hey Leute, da Wiki zurzeit Down ist frage ich hier nach:


    Ich habe eine schöne Map für mein guten Freund Slice erstellt, nun möchte ich folgendes machen:


    Ich habe eine normale Map mit ungefähr 100 Objekten worin sich aber 2 Objekte befinden die per Befehl auftauchen sollen, genau da wo ich sie hingemappt habe.


    Der Code der Türen sieht so aus:



    tmpobjid = CreateObject(1498,1866.485,-2496.830,5047.411,0.000,0.000,36.199,300.000);
    SetObjectMaterial(tmpobjid, 0, 5150, "wiresetc_las2", "ganggraf01_LA_m", 0);
    SetObjectMaterialText(tmpobjid, "LOCKED", 0, 50, "Calibri", 15, 1, -65536, 0, 1);
    tmpobjid = CreateObject(1498,1841.824,-2495.508,5047.339,0.000,0.000,335.900,300.000);
    SetObjectMaterial(tmpobjid, 0, 5150, "wiresetc_las2", "ganggraf01_LA_m", 0);
    SetObjectMaterialText(tmpobjid, "LOCKED", 0, 50, "Calibri", 15, 1, -65536, 0, 1);


    Welche Callbacks benötige ich, welche Functions etc?


    Ich möchte das man die Objekte erstellen kann (auf den Koordinaten oben angegeben) und ebenfalls wieder löschen kann.



    Würde mich über eine schnelle Antwort freuen, ich würde es ja selber versuchen aber kann nicht viel ohne Wiki anfangen..



    Edit1: Habs ohne Wiki geschafft ein Befehl zu erstellen um die Objekte zu erstellen. Wie lösche ich sie wieder?



    CMD:edoor(playerid,params[])
    {
    new tmpobjid;


    tmpobjid = CreateObject(1498,1866.485,-2496.830,5047.411,0.000,0.000,36.199,300.000);
    SetObjectMaterial(tmpobjid, 0, 5150, "wiresetc_las2", "ganggraf01_LA_m", 0);
    SetObjectMaterialText(tmpobjid, "LOCKED", 0, 50, "Calibri", 15, 1, -65536, 0, 1);
    tmpobjid = CreateObject(1498,1841.824,-2495.508,5047.339,0.000,0.000,335.900,300.000);
    SetObjectMaterial(tmpobjid, 0, 5150, "wiresetc_las2", "ganggraf01_LA_m", 0);
    SetObjectMaterialText(tmpobjid, "LOCKED", 0, 50, "Calibri", 15, 1, -65536, 0, 1);


    SendClientMessage(playerid,0xFF0055FF,"Rooms blocked");
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • Hey Leute, da Wiki zurzeit Down ist frage ich hier nach:


    Das Wiki ist nicht down. 8|


    Du benötigst MoveObject und einen Befehl. Gegebenenfalls CreateObject und DestroyObject.


    Zum Edit:
    Anstatt es in eine temporäre Variable zu speichern, setze unter den Includes:
    new gObj[2];


    Und dann beim Command:
    gObj[0] = CreateObject(...
    gObj[1] = CreateObject(...


    Dann kannst du sie mit DestroyObject(gObj[i]); wieder entfernen, wobei das i für 0 und 1 steht.

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