[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
  • Hab ne frage:
    Ich hab bei einem Account die .ini detei verändert (hab Bizkey von ihm auf 255 gemacht)
    aber dann will er Online kommen aber das Passwort ist falsch? habe aber nichts am passwort geändert.. (benutze Godfather)



    Du darfst die dateien nicht mit dem editor öffnen dann is das pw immer wieder falsch.... du kannst z.B. WinSCP verwänden um die daten zu ändern

    Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein.


    Albert Einstein



    Ich bin nicht sicher, mit welchen Waffen der dritte Weltkrieg ausgetragen wird, aber im vierten Weltkrieg werden sie mit Stöcken und Steinen kämpfen.


    Albert Einstein

  • ahh MrMonat warte zaubere es dir hin
    ocmd:auf(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,20,2237.2810058594, 2452.916015625, 12.449571609497))
    {
    MoveObject(tor,2237.2810058594, 2452.916015625+10, 12.449571609497,5);
    return 1;
    }
    return SendClientMessage(playerid,DROT,"Du bist nicht in der nähe von einem Tor!");
    }
    ocmd:zu(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,20,2237.2810, 2452.9160, 12.4495))
    {
    MoveObject(tor,2237.2810058594, 2452.916015625, 12.449571609497,5);
    return 1;
    }
    return SendClientMessage(playerid,DROT,"Du bist nicht in der nähe von einem Tor!");
    }

    bitte bombom48


  • ocmd:auf(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,20,2237.2810058594, 2452.916015625, 12.449571609497))
    {
    MoveObject(tor,2237.2810058594, 2452.916015625+10, 12.449571609497,5);
    }
    else { SendClientMessage(playerid,DROT,"Du bist nicht in der nähe von einem Tor!"); }
    }
    ocmd:zu(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,20,2237.2810, 2452.9160, 12.4495))
    {
    MoveObject(tor,2237.2810058594, 2452.916015625, 12.449571609497,5);
    }
    else { SendClientMessage(playerid,DROT,"Du bist nicht in der nähe von einem Tor!"); }
    }


    Kannste auch so veranstalten, oder du machst es ganz einfach mit einem Befehl und einer Variable :)
    @ Bei dir über mir, wie soll das bitte funktionieren ? Wenn "!" IsPlayerInRangeOfPoint nicht übereinstimmt, dann bewege das Tor ? Du musst das "!" weglassen, damit du etwas gleiches abfragen kannst.

  • Hi,
    Was muss ich Wo einsetzten damit man die Nachricht in meiner Funktion nur einmal
    bekommt?


    stock RaceStart()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(vRacer[i] == 1)continue;
    Racer[i][pri_Checkpoint]=0;
    Racer[i][pri_bAktiv]=true;
    SetPlayerRaceCheckpoint(i,0,Race_Points[0][R_fX],Race_Points[0][R_fY],Race_Points[0][R_fZ],Race_Points[1][R_fX],Race_Points[1][R_fY],Race_Points[1][R_fZ],Race_Points[0][R_fRad]);
    ClientLanguageText(i,COLOR_ORANGE,"Bereite dich vor!","Get ready!");
    }
    }


    lg

  • stock RaceStart() { for(new i=0;i<MAX_PLAYERS;i++) { if(vRacer[i] == 1)continue; Racer[i][pri_Checkpoint]=0; Racer[i][pri_bAktiv]=true; SetPlayerRaceCheckpoint(i,0,Race_Points[0][R_fX],Race_Points[0][R_fY],Race_Points[0][R_fZ],Race_Points[1][R_fX],Race_Points[1][R_fY],Race_Points[1][R_fZ],Race_Points[0][R_fRad]); ClientLanguageText(i,COLOR_ORANGE,"Bereite dich vor!","Get ready!"); } }


    Meinst du das der Text dann nich 50x oderso kommt?
    wenn ja einfach ein return 1; rein


    frage: Ich hab bei mir ein Fraktioncarssystem(Hier hab ich ein problem gehabt habs aber selber hinbekommen: Speicher Problem.. (Fraktionscar Sys))
    nur wie kann ich herausfinden wieviele Fahrzeuge ein fraktion hat, wie mach ich das ? (Wenn ihr Infos zum frakcarsys braucht einfach auf den link oben klicken)


    /edit frage

    Einmal editiert, zuletzt von Tommyx3 ()

  • Ich arbeite derzeit an meiner Whitelist in Verbindung mit dem Dateisystem DINII. Meine Whitelist ist so aufgebaut das man eine Datei mit den Spielernamen und den Level 1 haben muss, ansonsten wird man wieder gekickt.


    Kann mir einer sagen wie eine solche Abfrage aussehen müsste? Ich habe eine erstellt, allerdings funktioniert sie nicht 100 Prozentig.


    new pName[MAX_PLAYER_NAME], save[128];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(save,sizeof(save),"/Spieler/%s.ini",pName);
    if(!dini_Exists(save))
    {
    SendClientMessage(playerid,COLOR_RED,"Du stehst nicht auf der Whitelist");
    Kick(playerid);
    }
    if(dini_Exists("/Spieler/%s.ini"))
    {
    if(dini_Exists(save))
    {
    sInfo[playerid][level] = dini_Int(save,"level");
    if(sInfo[playerid][level] ==0)
    {
    SendClientMessage(playerid,COLOR_RED,"Du stehst nicht auf der Whitelist");
    Kick(playerid);
    }
    }
    }

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • new pName[MAX_PLAYER_NAME], save[38];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(save,sizeof(save),"/Spieler/%s.ini",pName);
    if( !dini_Exists(save) || dini_Int(save,"level") <1 )
    {
    SendClientMessage(playerid,COLOR_RED,"Du stehst nicht auf der Whitelist");
    Kick(playerid);
    }
    else
    {
    //Spieler Account existiert und ist mindestens Level 1
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Ich brauch grad kurz Hilfe, ich bin zu müde wo ist der Fehler hier?


    ocmd:createinfo(playerid,params[])
    {
    new Float:posx,Float:posy,Float:posz,string[64],text[64];
    GetPlayerPos(playerid,posx,posy,posz);
    if(sscanf(params,"s",string)) return SendClientMessage(playerid,COLOR_YELLOW,"Benutze /createinfo [Text)");
    CreatePickup(1239,1,posx,posy,posz,-1);
    format(string,sizeof(string),"%s",text);
    Create3DTextLabel("%s",COLOR_YELLOW,posx, posy, posz+0.5,40.0,0);
    return 1;
    }


    Wie kriege ich den Eingegeben String in das Textlabel?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • ocmd:createinfo(playerid,params[])
    {
    new Float:posx,Float:posy,Float:posz,string[64],text[64];
    GetPlayerPos(playerid,posx,posy,posz);
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_YELLOW,"Benutze /createinfo [Text)");
    CreatePickup(1239,1,posx,posy,posz,-1);
    format(string,sizeof(string),"%s",text);
    Create3DTextLabel(string,COLOR_YELLOW,posx, posy, posz+0.5,40.0,0);
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Funktioniert leider auch nicht, es wird ausgegeben was dort steht und zwar string und nicht das was ich eingetippte habe.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Habe hier eine Funktion:
    CMD:acceptdrugs(playerid,params[])
    {
    if(Drogen[playerid][HanfRequest] == 0) return ClientLanguageText(playerid,COLOR_RED,"Dir hat niemand ein Angebot gemacht!","Nobody has sent you a request!");
    Player[playerid][Drugs] += Drogen[playerid][Hanf];
    GivePlayerMoney(playerid,-Drogen[playerid][Hanfprice]);
    //
    Drogen[playerid][HanfRequest] = 0;
    Drogen[playerid][Hanf] = 0;
    Drogen[playerid][Hanfprice] = 0;
    return 1;
    }
    Mein Problem ist, dass ich jetzt eine Funktion wie z.B. GetPlayerId brauche, da ich in einem CMD davor die Anfrage sende.
    Wenn jetzt der Spieler /accceptdrugs eingibt soll der SPieler der ihm das ANgebot gemacht hat, das Geld bekommen, jedoch
    funktioniert es nicht wenn ich den Namen in einer Variable speichere. Weiß jmd. wie ich dies anstellen könnte?


  • Problem besteht weiterhin. Weiss wirklich niemand eine Lösung?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • public SpeicherKonto(id)
    {
    new str[256];
    if(id <= 0)
    {
    return 1;
    }
    format(str, sizeof(str), "SAP/Konten/%d.konto", id);
    dini_Create(str);
    {
    dini_IntSet(str,"ID",bank[id][bID]);
    dini_IntSet(str,"ID2",bank[id][bID2]);
    dini_IntSet(str,"Geld",bank[id][bGeld]);
    dini_IntSet(str,"Passwort",bank[id][bPasswort]);
    printf("ID: %d, ID2: %d, PW: %d, Geld: %d",bank[id][bID],bank[id][bID2],bank[id][bPasswort],bank[id][bGeld]);
    }
    return 1;
    }


    in dem SpeicherSystem werden aber hab keine Werte gespeichert, vorher habe ich es mit deiner Debug MSG überprüft in meinem CMD wo denn die Speicher Funktion ausgeführt wird dort werden aber die Werte ausgespuckt :O

  • Ich wollte den Fahrzeugwinkel speichern per GetVehicleZAngle, allerdings wird in die Datei nichts außer 0.0000 geschrieben, was nicht dem Winkel entspricht in dem das Auto vorher stand.


    Wie speichere ich den Winkel richtig in Dini ab?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Hay ich wollte das wenn SPieler Waffen haben bei /find steht "Waffen"
    Hab so versucht klappt aber nicht:
    for (new i=0; i<9; i++)
    {
    new sweapon, sammo;
    GetPlayerWeaponData(giveplayerid, i, sweapon, sammo);
    if(sweapon != 0)
    {
    text6 = "| Waffen.";
    }
    else
    {
    text6 = "| Leere Tasche.";
    }
    }

  • Heyho Johnny´s


    gibts sowas wie eine "IsNumeric" für Float? So dass man Quasi bei beispielsweiße einem inputtext ein Float schreiben muss?