[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 2 Fragen:


    1: Hab mit dem SAMP Map Editor 2 Personen erstellt und eingefügt ins Script, normal als Objecte.
    Sie werden nicht angezeigt aber da wo die normalerweiße stehen kann man auch nicht langgehen. Also in gewisser Weiße sind sie da. Die stehen in einem Selbstgemappten Interior.


    2: Wie kann ich wenn jmd. Adminduty gegangen ist, und seine Farbe orange gesetzt wurde + er auf der Map markiert wurde ihn wieder von der Map verschwinden lassen ohne das alle Onduty Admins gelöscht werden.


    Danke schonmal


    - Tomsen

  • carlos1710: Ich denke, dass du eine Wochentagsberechnung vor hast. Diesen Algorithmus gibt es in Pawn schon:

    // Aus dem englischem Forum
    stock GetDayName(day=0, month=0, year=0)
    {
    new weekday_str[12],j,e;
    if (month <= 2)
    {
    month += 12;
    --year;
    }


    j = year % 100;
    e = year / 100;


    switch ((day + (month+1)*26/10 + j + j/4 + e/4 - 2*e) % 7)
    {
    case 0: weekday_str = "Samstag";
    case 1: weekday_str = "Sonntag";
    case 2: weekday_str = "Montag";
    case 3: weekday_str = "Dienstag";
    case 4: weekday_str = "Mittwoch";
    case 5: weekday_str = "Donnerstag";
    case 6: weekday_str = "Freitag";
    }
    return weekday_str;
    }

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Ich habe mir nun mein eigenen Algorithmus gemacht, villeicht geht es besser aber mein eigenen hab ICH verstanden und durch Wikipedia sogar was gelernt.


    GetWeekDay(Tag,Monat,Jahr)
    {
    new Schaltjahr, Wochentag, Jahrhundert;
    if ( ( (Jahr%4==0) && (Jahr%100!=0) ) || (Jahr%400==0) )
    {
    Schaltjahr = 1;
    }
    Jahrhundert = (Jahr - (Jahr % 100)) / 100;
    Jahr %= 100;
    Wochentag = ((Tag % 7) + MonatsZahlen[Monat - 1] + ((Jahr + ((Jahr - (Jahr % 4)) / 4)) % 7) + ((3 - (Jahrhundert % 4))*2) - Schaltjahr) % 7;
    return Wochentag;
    }


    Hier meiner, funktioniert ebenfalls IMMER.
    //EDIT: Vorrausgesetzt man besitzt das Monatszahlen Arry:


    new MonatsZahlen[12] = {
    0,//Jan 1.
    3,//Feb 2.
    3,//Mär 3.
    6,//Apr 4.
    1,//Mai 5.
    4,//Jun 6.
    6,//Jul 7.
    2,//Aug 8.
    5,//Sep 9.
    0,//Oct 10.
    3,//Nov 11.
    5 //Dez 12.
    };

  • Warum führt er das nicht aus?..


    Hab nen Forward gemacht.


    public Waiting()
    {
    TextDrawHideForAll(BlackscreenTD);//Der führt das nicht aus
    //TextDrawHideForAll(NextMapLoadTD);//Der führt das nicht aus
    TextDrawHideForAll(LoadStreifenTD);//Der führt das nicht aus
    TextDrawHideForAll(LoadPfeilUntenTD);//Der führt das nicht aus
    print("Waiting2");//Der führt das nicht aus
    SetTimer("Eins",1000,0);
    return 1;
    }


    gestartet wird er so


    SetTimer("Waiting",5000,0);

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wieso bekomm ich hier nen Error?


    new pID,string[128],string2[128];
    GetPVarString(playerid,"PlayerToPay",pID,128);


    Code
    error 035: argument type mismatch (argument 3)


    Blitz 100


    Mach mal ganz unten im Public nen SendClientMessage rein und schau ingame obs aufgerufen wird.
    Wahrscheinlich aber nicht, wo wird der Timer gestartet?


    - Tomsen


  • Du nimmst GetPVarString bei pID - pID ist aber ein Integer. Also entweder GetPVarInt oder pid[128] nehmen. :)

    Ich bin Dittis Signatur.

  • JEtzt bekomm ich die Errors:


    error 033: array must be indexed (variable "zID")
    error 035: argument type mismatch (argument 1)


    new zID[128],string[128],string2[128];
    GetPVarString(playerid,"PlayerToPay",zID,128);
    SpielerInfo[playerid][pGeldBank] -= strval(inputtext);
    SpielerInfo[zID][pGeldBank] = SpielerInfo[zID][pGeldBank] + strval(inputtext);
    format(string,sizeof(string),"Du hast dem Spieler %s %d € überwiesen!",strval(inputtext));
    format(string2,sizeof(string2),"Der Spieler %s hat dir %d € überwiesen!",SpielerName(playerid),strval(inputtext));
    SendClientMessage(playerid,gruen,string);
    SendClientMessage(zID,gruen,string2);


    Hab pID mal zu zID umbenannt


    - Tomsen



    Einmal editiert, zuletzt von Tomsen ()

  • zID ist ja ein String, der inputtext den ich speichern möchte.


    Ließ mal den Text oben drüber!


    //Edit: Wie kann ich jedem Spieler eine andere 4 stellige Handynummer geben die noch nicht vergeben ist?


    - Tomsen



    Einmal editiert, zuletzt von Tomsen ()

  • Hallöschen,
    mal ne frage...


    Mein public sieht derzeit so aus:
    public Abladen(playerid,Biz)
    und das ist mein dazugehöriger Timer:
    SetTimer("Abladen",6000,false);


    Wie sicher schon auffällt benutzt das public "Biz"
    wie kann ich "Biz" im Timer mit benutzen?

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