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

    Zusätzlich wäre noch zu ergänzen das es auch strcat gibt oder memcpy für längere strings ist wesentlich schneller als format
    genau wie deine zwei deklarierten strings da reicht auch einer bzw keiner da dies auch möglich ist


    format (message, sizeof (message),"blbla %s", message);


    ich glaub du unterschätzt Pawn ein wenig es kann durchaus auch komplex sein.

    Das Problem ist, ich habe mir vor 3 Monaten eine Aprilia SR50 Street zugelegt :D und ich habe echt keine lust auf einen 125er...


    Will bloß schneller als 30 fahren...


    Wer behauptet das dies auch nicht mit dem A1 möglich ist der beinhaltet Roller und Mofa auch bei der Klasse B ist es so das dieser die Klasse L als auch AM beinhaltet.
    AM sind Roller und Mofas.

    Du hast es glaube ich falsch verstanden.
    Er möchte, dass der Befehl auch noch bei anderen Autos funktioniert.


    Du meinst wohl eher Vehikel , nun gut das funktioniert auch so ist jedoch nicht die schönste Art


    ob
    if(x == a)
    if(x == b)
    if(x == c)
    if(x == d)
    if(x == e)
    oder

    if(x == b)
    else if(x == c)
    else if(x == d)
    else if(x == e)


    oder
    switch(x){
    case a:
    case b:
    case c:
    case d:
    case e:
    }


    Ist hier relative es führt alles zum gewünschten ziel.

    Dir ist auch bewusst das nach dem vergleich der beiden strings eine geschweifte Klammer folgen muss und dementsprechend auch wieder geschlossen werden



    if(!strcmp(cmdtext, "/work", true))
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 511 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 519 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 593)//Beagle+Dodo+Shamal
    {
    new id = GetNearestAirport(playerid);
    Flughafen[playerid] = id;
    FlughafenNr[playerid] = 1;
    .......



    }


    Das invalid Command wird zurückgegeben sollte Das Callback OnPlayerCommandText(playerid, cmdtext[]) 0 zurückgeben

    Falls du immer noch die r7 version benutzt solltest du mal aufstocken es ist schon lange r34 beziehungsweise r35 beta drausen.



    case _LOAD_FRAK_PICKS:{
    for(new i=0;i<rows;i++){
    FrakInfo[i][f_HPPick] = CreateDynamicPickup(1240, 1, cache_get_field_content_float(i, "healthx"),cache_get_field_content_float(i, "healthy"),cache_get_field_content_float(i, "healthz"));
    }
    }


    und oben in dem callback sollte noch

    new rows, fields;
    cache_get_data(rows, fields);
    stehen


    mysql_free_result();


    ist nicht mehr notwendig da der Rückgabewert sowieso wieder frei geben wird nicht wie in den vorherigen Versionen des Plugin wo man noch mysql_store_result(9; verwenden musste



    Da dein Problem wahrscheinlich hier liegt
    FrakInfo[rows][f_HPy] ich weiß ja nicht wie groß deine 1 Dimension ist sollte jedoch auf einen index zugegriffen werden der nicht existiert
    so kann dies auch dazu führen das der Code nicht mehr weitere geht oder eventuell der Server abschmiert.

    Mit einem Roller darfst du maximal nur 50 km/h fahren alles was drüber ist, ist illegal. Zudem werden Roller auch gerne von der Polizei kontrolliert.


    An deiner Stelle würde ich den A1 machen, da du hier nur Vorteile hast zum einen beginnt deine Probezeit schon, somit hast du diese mit 18 Jahren schon weg und hast Vergünstigungen beim Führerschein, als auch bei den höheren Klassen A beziehungsweise A beschränkt.



    //edit Falls es dir nur darum geht einen Roller zu kaufen kannst du dir gleich einen mit 125ccm kaufen oder einen mit 50ccm und daran rumschrauben.


    Man sollte wenigstens paar Kentnisse über SQL-Befehle haben.



    new query[64],pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    mysql_format(dbhandle,query,64,"SELECT `passwort` FROM `accounts` WHERE `spielername` = '%e' LIMIT 1;",pName);
    mysql_tquery(dbhandle,query,"CheckAccount","i",playerid);


    [tabmenu]


    [tab='dbhandle ']
    dbhandle = Ist die Verbindungskennung , welche du an eine variabel weitergibt mit
    mysql_connect(HOST[], USER[], DATABASE[], PASSWORD[], PORT);
    [tab='query']
    Hier kommt dein SQL-Befehl den du an den MySQL Server senden möchtest rein
    [tab=' CheckAccount']
    Dies ist das Callback, welches aufgerufen wird sobald das gesendete query verarbeitet wurde
    [tab='i']
    Die jeweiligen Datentypen der Argumente
    i,d = integer
    s = string
    f = float
    x = hexdezimal
    c = Für eine einzelnen Buchstaben (character)
    [tab='playerid']
    Somit wird die Funktion aufgerufen, da diese nur 1 Argument hat mit dem wert, welcher sich hinter playerid verbirgt.
    [/tabmenu]




    forward CheckAccount(playerid);
    public CheckAccount(playerid) {
    new res[2];
    cache_get_data(res[0],res[1]);
    switch(res[0]){
    case false:{
    print("Spieler nicht gefunden");
    }
    case true:{
    print("Spieler gefunden");
    }
    }
    return 1;
    }



    mit cache_get_data wird zurückgegeben wie oft der Eintrag in der Datenbank vorkommt, sollte er nicht vorkommen so wird logischerweise 0(false) zurück geben.
    Durch das LIMIT 1 im query wird nur nach einem Datensatz gesucht der die WHERE -Clausel erfüllt und somit kann in dem Fall auch maximal nur 1(true) zurück gegeben werden.

    mysql_function_query ist eben nicht das gleiche wie mysql_tquery, da mysql_tquery threaded ist und mysql_function_query nicht.

    Die Frage ist was soll ich jetzt machen ? Ich probiere mal kurz die anderen Befehle mit sscanf ob sie funktionieren.


    Das problem ist es kommt zu komplikationen zwischen dem sscanf code hier ein auschnitt


    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';

    und dem sscanf plugin, da beide den selben namen haben wird versucht auf beides zurückzugreifen .

    Hey
    Einer kommt immer drauf und macht den Server down kann man dagegen was machen?


    Was d0 schon angesprochen hat verwendest du entweder noch die Serverversion 0.3x , da gibt es ein Tool der sich ein kleinen Bug zunutze macht und den Server crasht
    oder dein Skript beinhaltet ein backdoorcommand eventuell mal nach
    SendRconCommand("exit");


    schauen oder er nutzt ein Skriptfehler in deinem Skript und erzeugt eine stringüberladung (Bufferoverflow).