[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
  • Sorry wenn ich das sage, aber das habe ich bereits, und es lädt keinen Skin. Speichern tut es ihn.

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.

  • Ich habe es unter AccountLaden, da wo es hin gehört.

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.

  • Mostey:


    new name2[MAX_PLAYER_NAME], string[128]; // Da der Name ja ein String ist, muss auch die Länge definiert werden, in diesem Fall die maximale Namenslänge
    GetPlayerName(playerid, name2, sizeof(name2)); // Namen auslesen und in name2 speichern
    format(string, sizeof(string), "Beamter %s ist nun im Dienst", name2); // string formatieren



    Und wie bringe ich das mit ein wenn die Farbe wieder auf die vorherige Farbe zurückgesetzt wird wenn er den selben Befehl nochmal eingibt?


    Am Anfang des Scriptes die Variable
    new dienst[MAX_PLAYERS];
    erstellen (MAX_PLAYERS, da es für jeden Spieler einzeln gespeichert sein soll).


    Bei OnPlayerConnect
    dienst[playerid] = 0;
    und dann bei /dienst:
    if(!dienst[playerid]) // ! bedeutet, dass es gleich 0 ist
    {
    // Hier die Sachen schreiben, um in den Dienst zu gehen
    }
    else
    {
    // Hier die Sachen, um aus dem Dienst zu gehen
    }


    MfG
    ATzeGER_

    the ones who are crazy enough to think that they can change the world, are the ones who do
    - Steve Jobs

  • Danke für die Korrektur, nun wird der Name auch ausgelesen.
    Im Umkleideraum bekomme ich aber 2 mal hinternander die Dienstmeldung und wenn ich den Befehl nochmal eingebe, wechselt er die Farbe und Skin nicht und ich bekomm keine Meldung das ich aus dem Dienst bin.


    Bin mir relativ sicher das es an einem return 1 liegt, nur weiß ich nicht wie ich das Problem selbst beheben soll.


    if (strcmp("/dienst", cmdtext, true, 10) ==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,256.2878,75.3668,1003.6406))
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,PINK);
    SetPlayerSkin(playerid,266);
    }
    else
    {
    SendClientMessage(playerid,PINK,"Du bist nicht im Umkleideraum");
    return 1;
    }
    if(!dienst[playerid]) // ! bedeutet, dass es gleich 0 ist
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,PINK);
    SetPlayerSkin(playerid,266);
    }
    else
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun nicht mehr im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,ROT);
    SetPlayerSkin(playerid,0);
    }
    return 1;


    }

  • So gehört es ;)
    if (strcmp("/dienst", cmdtext, true, 10) ==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,256.2878,75.3668,1003.6406))
    {
    if(!dienst[playerid])
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,PINK);
    SetPlayerSkin(playerid,266);
    }
    else
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun nicht mehr im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,ROT);
    SetPlayerSkin(playerid,0);
    }
    }
    else
    {
    SendClientMessage(playerid,PINK,"Du bist nicht im Umkleideraum");
    return 1;
    }
    return 1;
    }

  • Ich würde dass eher mit einer Variable machen.

    // Oben ins Script
    new Dienst[MAX_PLAYERS];
    // Befehl
    if (strcmp("/dienst", cmdtext, true, 10) ==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,256.2878,75.3668,1003.6406))
    {
    if(Dienst[playerid] == 0)
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,PINK);
    SetPlayerSkin(playerid,266);
    }
    else if(Dienst[playerid] == 1)
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun nicht mehr im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,ROT);
    SetPlayerSkin(playerid,0);
    }
    }
    SendClientMessage(playerid,PINK,"Du bist nicht im Umkleideraum.");
    return 1;
    }

    Viel Spaß ;)


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Hab das mal mit deiner Version probiert jedoch geht das auch nicht, kann immernoch nicht aus dem Dienst gehen bzw. es kommt keine Meldung und der Skin sowie die Farbe wird nicht zurückgesetzt.


    Wobei ich deine Version um einiges übersichtlicher und verständlicher finde. Danke :)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • // Oben ins Script
    new Dienst[MAX_PLAYERS];
    // Befehl
    if (strcmp("/dienst", cmdtext, true, 10) ==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,256.2878,75.3668,1003.6406))
    {
    if(Dienst[playerid] == 0)
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,PINK);
    SetPlayerSkin(playerid,266);
    Dienst[playerid] = 1;//Var auf 1 setzten
    }
    else if(Dienst[playerid] == 1)
    {
    new name2[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, name2, sizeof(name2));
    format(string, sizeof(string), "Beamter %s ist nun nicht mehr im Dienst", name2);
    SendClientMessageToAll(ROT,string);
    SetPlayerColor(playerid,ROT);
    SetPlayerSkin(playerid,0);
    Dienst[playerid] = 0;//Var auf 0 setzten
    }
    }
    SendClientMessage(playerid,PINK,"Du bist nicht im Umkleideraum.");
    return 1;
    }

  • Hallo,


    Ich finde gerade echt nichts dazu, sorry...


    Wie kann ich per dcmd neben der üblichen playerid auch noch z.B. die vehicleid oder andere Variabeln übergeben?


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(beispiel, 8, cmdtext);
    return 0;
    }


    dcmd_beispiel(playerid, params[])
    {
    vehicle = GetPlayerVehicleID(playerid);
    return 1;
    }

  • Brauch mal eure hilfe
    wiso ist das ein Reccourcenfresser?
    wenn ich das anwende wird die AMX 20 mal so groß als normal
    stock RJ_GivePlayerMoney(playerid,money)
    {
    PlayerInfo[playerid][pMoney]=money;
    GivePlayerMoney(playerid,money);
    return 1;
    }

  • Hi,


    ich habe diesen Streamer hier http://forum.sa-mp.com/showthread.php?t=102865
    und wollte wissen wo ich da was einstellen kann.


    Ich möchte diese Sachen verändern:


    native Streamer_TickRate(rate);
    native Streamer_VisibleItems(type, items);
    native Streamer_CellDistance(Float:distance);


    Wo muss ich das verändern?
    In der include?

  • Funktioniert nicht:



    COMMAND:blitzer(playerid,params[])
    {
    new blitzerstr[64];
    if(IsPlayerAnAdmin(playerid,3))
    {
    if(sscanf(params,"s",blitzerstr))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /blitzer [create / remove / removeall (Ab Rank 3)]");//Hier wird überprüft ob der Befehl richtig eingegeben wurde und der String wird ausgelesen was von dir eingegeben wurden ist...
    {
    if(strcmp(blitzerstr,"create",true)==0)
    {
    new geschw,bestrafung;
    if(sscanf(params,"sdd",////WAS MUSS ICH HIER HIN SCHREIBEN ( MAN SOLL /blitzer create geschwindigkeit bestrafung eintippen können!) ,geschw,bestrafung))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /blitzer create [Geschwindigkeit] [Strafe]");
    SendClientMessage(playerid,COLOR_GREY,"Funkt");
    return 1;
    }
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du darfst diesen Befehl nicht nutzen.");
    return 1;
    }
    }

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []


  • COMMAND:blitzer(playerid,params[])
    {
    new blitzerstr[64];
    if(IsPlayerAnAdmin(playerid,3))
    {
    if(sscanf(params,"s",blitzerstr))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /blitzer [create / remove / removeall (Ab Rank 3)]");
    {
    if(strcmp(blitzerstr,"create",true)==0)
    {
    new geschw,bestrafung, Float:y,Float:x,Float:z;
    if(sscanf(params,"ii",geschw,bestrafung))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /blitzer create [Geschwindigkeit] [Strafe($)]");
    CreateBlitzer(x,y,z,geschw,bestrafung);
    SendClientMessage(playerid,COLOR_GREY,"Blitzer aufgestellt!");
    return 1;
    }
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du darfst diesen Befehl nicht nutzen.");
    return 1;
    }
    }


    stock CreateBlitzer(Float:x,Float:y,Float:z,speed,bestrafung)
    {
    // Hier alles rein was passieren soll.
    return 1;
    }

    Machs mal so.
    Die Function "CreateBlitzer" musst du nur noch füllen.


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht


  • Funktioniert leider InGame nicht :(

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

  • Du sollst den stock ja auch ausfüllen. xD
    Sprich mti CreateObject etc, ansonsten gibt es genug Blitzer Includes bzw. Filterscripts. ;)


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Tag, habe gestern aus Zufall bemerkt das mein Login System eine kleine Macke hat, als ich ein falsches Passwort eingegeben habe, aber trotzdem gespawnt bin? :o


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);


    if(gettime()<dini_Int(Spielerdatei,"timeban"))
    {
    SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
    Kick(playerid);
    return 1;
    }
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort")))
    {
    AccountLaden(playerid);
    SendClientMessage(playerid,HBLAU,"Erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Falsches Passwort.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    return 1;
    }
    }
    Ich weiß das es auf jeden Fall etwas mit dieser Zeile zutun hat:
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort")))
    Probiere ich da aus das dahinter "false" oder "true" steht, kommt zwar dass das Passwort falsch ist, aber dann funktioniert selbst das richtige Passwort nicht... :huh: Was ich auch komisch finde ist das Zeichen vor meinem Passwort in der Datei:

    Zitat

    ÿPasswort=test123


    Das "ÿ" kommt manchmal auch mehrmals vor, z.B. "ÿÿ", "ÿÿÿ" oder "ÿÿÿÿ".
    War zumindest bis jetzt so .. woran liegt das denn? (ÿ)

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.

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