Beiträge von fd849fa292a5

    Du musst den Speicher freimachen, für jede nächste Abfrage:

    SQL
    mysql_free_result();


    Also:


    mysql_query(Textstring256);
    mysql_store_result();
    new amount = mysql_num_rows();
    mysql_free_result();


    in der while Schleife:

    mysql_query(Textstring256);
    if(mysql_num_rows())
    {
    SendClientMessage(playerid,FARBE_WEISS,"Test");
    }
    mysql_free_result();


    @ edit: PWN-Tags vergessen

    An deiner Stelle würde ich am besten das Versehen des Spielers mit Waffen in eine Funktion stecken und diese dann mit einen Timer aufrufen.



    forward setOfficerEquipment(playerid, state);
    public setOfficerEquipment(playerid, state)
    {
    if(state)
    {
    new dutyman[MAX_PLAYER_NAME]; // Laut meinen Wissen kann man nurnoch 20 Zeichen angeben als Namen ( 24 Zeichen = MAX_PLAYER_NAME )
    GetPlayerName(playerid, dutyman, MAX_PLAYER_NAME); // MAX_PLAYER_NAME macht das gleiche
    new cstring[104];
    format(cstring,sizeof(cstring),"Guten Tag Officer %s, Sie werden nun mit Ihrer Dienstmarke und Waffen ausgerüstet!", dutyman);
    SendClientMessage(playerid,COLOR_GREEN,cstring);
    } else {
    GivePlayerWeapon(playerid, 24, 500);
    GivePlayerWeapon(playerid, 3,1);
    GivePlayerWeapon(playerid, 17, 3);
    GivePlayerWeapon(playerid, 31, 1000);
    GivePlayerWeapon(playerid, 25, 200);
    GivePlayerWeapon(playerid, 29, 1000);
    GivePlayerWeapon(playerid, 34, 250);
    SendClientMessage(playerid, COLOR_GREEN,"-----------------------------------------------------------");
    SendClientMessage(playerid, COLOR_GREEN ,"Sie sind nun mit allen Waffen ausgerüstet und Dienstbereit!");
    SendClientMessage(playerid, COLOR_GREEN,"-----------------------------------------------------------");
    SetPlayerArmour(playerid, 100.0);
    SetPlayerHealth(playerid, 100.0);
    }
    }


    Endergebnis:



    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Identifizierung läuft ...!");
    SetTimerEx("setOfficerEquipment", false, 7*1000, "dd", playerid, 1);
    SetTimerEx("setOfficerEquipment", false, 10*1000, "dd", playerid, 0);


    #define Seconds(%0,%1,%2,%3) return ((%0*86400)+(%1*3600)+(%2*60)+(%3))
    #define Minutes(%0,%1,%2,%3) return ((%0*1440)+(%1*60)+(%2)+(%3*60))
    #define Hours(%0,%1,%2,%3) return ((%0*24)+(%1)+(%2*60)+(%3*3600))
    #define Days(%0,%1,%2,%3) return ((%3*86400)+(%2*1440)+(%1*24)+(%0))


    Seconds( Tage, Stunden, Minuten, Sekunden )
    Minutes( Tage, Stunden, Minuten, Sekunden )
    Hours( Tage, Stunden, Minuten, Sekunden )
    Days( Tage, Stunden, Minuten, Sekunden )


    __________________________________________________________


    Einige kennen doch die mktime Funktion.
    Ich hab eine Funktion entwickelt, welche die Sekunden wieder in ein Datum umwandeln.
    (Die Funktion braucht jedoch mktime)
    Header:
    date(zeitpunkt, &hour, &minute, &second, &day, &month, &year) // by Steam
    ( Der Zeitpunkt ist der Parameter für die Sekunden seit 01. Januar 1970 00:00:00 )
    Funktion:

    stock date(zeitpunkt, &hour, &minute, &second, &day, &month, &year) // by Steam
    {
    new h = 0, m = 0, s = 0, da = 1, mo = 1, ye = 1970;
    for(;;) { ye++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { ye--; break; } }
    for(;;) { mo++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { mo--; break; } }
    for(;;) { da++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { da--; break; } }
    for(;;) { h++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { h--; break; } }
    for(;;) { m++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { m--; break; } }
    for(;;) { s++; if(((zeitpunkt) - (mktime(h, m, s, da, mo, ye))) < 0) { s--; break; } }
    hour = h; minute = m; second = s; day = da; month = mo; year = ye; return 1;
    }

    Beispiel:

    new h, mins, s, d, m, y;
    date(mktime(18, 32, 0, 16, 04, 2002), h, mins, s, d, m, y);
    printf("%d.%d.%d %d:%d:%d", d, m, y, h, mins, s);


    Hier ist noch mktime:

    stock mktime(hour,minute,second,day,month,year)
    {
    new timestamp2 = second + (minute * 60) + (hour * 3600), days_of_month[12], days_this_year = day;
    if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31};
    else days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31};
    if(month > 1) for(new i=0; i<month-1;i++) days_this_year += days_of_month[i];
    timestamp2 += days_this_year * 86400;
    for(new j=1970;j<year;j++) {
    timestamp2 += 31536000;
    if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) timestamp2 += 86400;
    }
    return timestamp2;
    }

    Hallo,


    seit dem ich nun 2 Monitore besitze und diese anwende komme ich nicht an diesen Problem vorbei.
    Ich versuche MTA San Andreas bzw. Sa-mp auf 2 Monitore zu strecken.
    Das Programm UltraMon hat bisher nicht geholfen, da sich sofort das Fenster zusammenzieht -> Zurück zur Anfangsgröße.


    Wie kann ich nun San Andreas auf die beiden Monitore strecken ?

    PAWN = Scriptsprache (Programmiersprache nur halt für SAMP)

    Bitte keine Dummheiten posten. Pawn wurde von Programmieren erschaffen und als Open Source Projekt freigegeben. Pawn wird jedoch genutzt und erweitert, damit die Funktionen, Callbacks und Befehle richtig erkannt und ausgeführt werden.