Beiträge von IPrototypeI

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Also ich finde beide trailer ebenfalls nicht gut auch diese RP geschichten in trailern finde ich generell scheiße, da nie die gewünschte Spannung erzeugt wird wie bei Film trailer.
    Beim zweiten Trailer ist dieses ständige blinken recht nervig und verstörend

    format(query,sizeof(query),"%02d.%02d.%d - %02d:%02d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);


    mysql_format(DBHandle, query, sizeof(query),"UPDATE `Accounts` SET `pAlter` = '%d', `pBargeld` = '%d', `pKontoguthaben` = '%d', `pLastLogin` = '%s', `pLeben` = '%.1f' WHERE `pName` = '%e'",Spieler[playerid][pAlter],Spieler[playerid][pBargeld],Spieler[playerid][pKontoguthaben],query,Spieler[playerid][pLeben],Spieler[playerid][pName]);


    mysql_tquery(DBHandle, query, "","");


    Eddy
    Ich meinte pRegData = %s und den inhalt welchen du an diesen platzhalter übergibst entfernen.


    geschrieben am handy


    //edit
    Fabi.StaR
    was geht daran nicht wird dir das falsch ausgegeben
    Der Name oder der gesamte string


    new string[64 * 10],besitzer[MAX_PLAYER_NAME],text[32],result[64];
    mysql_query("SELECT `Besitzer`,`Text` FROM `Tickets` WHERE `Status` = 0;");
    mysql_store_result();
    while(mysql_fetch_row_format(result))
    {
    sscanf(result,"p<|>s[24]s[32]",besitzer,text);
    format(str,sizeof str,"%sSpieler: %s | Text: %s\n",str,besitzer,text);
    }
    mysql_free_result();
    ShowPlayerDialog(playerid,DLG_TICKETS,DIALOG_STYLE_MSGBOX,"Offene Tickets",str,"Schließen","");


    Das Query kannst du auch direkt bei mysql_query reinsetzen.


    So nun dazu warum es nicht funktioniert.
    Du benötigst das sscanf plugin und entferne die sscanf funktion aus deinem skript
    http://forum.sa-mp.com/showthread.php?t=120356


    dann sollte das zu 100% funktionieren. Da wie du siehst wurde der string nicht gesplittet.
    Das was MrPawn gepostet hat ist einfach nur shit.


    dcmd_admins(playerid,params[])
    {
    #pragma unused params
    new string[(MAX_PLAYER_NAME + 40) * 10];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if (IsPlayerConnected(i))continue;
    if(AccInfo[i][Level] >= 1 && AccInfo[i][Hide] == 0)
    {
    format(string, sizeof(string), "%sAdmin %s (ID: %i)- Level %d - %s\n",string,PlayerName2(i),i, AccInfo[i][Level],((AccInfo[i][OnDuty])?("Available"):("Busy")));
    }
    }
    if (!string[0])return ShowPlayerDialog(playerid,NO_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins","\n\n\n\nThere are no admins online.","Close","");
    return ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",string,"Close","");
    }


    Zum einen solltest du ShowPlayerDialog ausserhalb der schleife lassen und du musst natürlich den formatierten string bei einem treffer auch
    beim nächsten treffer noch parat haben entweder nutzt ein extra string wo man den formatierten via strcat anhängt oder formatiert in mit

    Das mit den tag ist interessant jedoch mit deiner Aussage zu de, Warning da stimme ich nicht ganz zu :D.
    Das sollte normal nicht erscheinen.


    mit dem makro meinte ich warum IntToBool nicht als als Makro sondern als funktion.


    deine zusätzliche variante


    stock bool:IntToBool(int_value) return bool:int_value;


    funktioniert nicht



    1. Das !! konvertiert eine Ausgabe zu eine booleschen Wert.


    Beispiel wie man den Rückgabewert konvertieren könnte von einer Funktion


    new bool:value = !!SendClientMessage(playerid,-1,"Hallo wie gehts");


    stock bool:example(str[])return !!strfind(str,"Hallo",false);




    2. Für einen "Zeilenbruch" des defines, damit nicht alles in einer Zeile muss das funktioniert auch bei strings
    format(str,64,"Hallo wie \
    geht es dir %s ","Benjamin");


    //edit Kaliber hat es ja schon erwähnt ich hab es nochmal ausgeführt


    Kaliber


    warum kein makro :D


    #define IntToBool(%0) !!%0
    new bool:test;
    test = IntToBool(-1);

    Und warum funktionieren die Pfeiltasten/W/A/S/D nicht, also warum werden die nicht erkannt und ausgegeben?


    Diese funktionieren jedoch musst du das über OnPlayerUpdate lösen mit der Funktion GetPlayerKey eventuell erkennst du darüber auch die Restlichen Numpad-Tasten.


    Warum ist das so ?
    Das liegt daran das dieses Callback sonst zu oft aufgerufen werden würde(könnte zu laggs führen), daher wurden nur bestimmte Tasten verwendet.