Beiträge von [C]Jack

    Hallo, ich hab ein Problem mit "mysql_SetInt"
    In meinem Script hab ich folgendes stehen:
    mysql_SetInt("fraktionsautos", "ModelID1",modelID, "FraktionsID",Fraktion);
    Doch nun bekomme ich einen Error angezeigt

    Code
    error 035: argument type mismatch (argument 5)


    Was muss ich nun in folgendem Stock ändern, dass ich in Argument 5 keine Zahl in Anführungszeichen sondern auch Variablen eintragen kann?
    Hier der Stock:
    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    Gruss
    Joe

    Ich hab mir beides runtergeladen und dann das Programm durchlaufen lassen. Doch ich hab nur so ein Bild wie auch auf dem Screen zu erkennen ist bekommen, allerdings
    weiß ich nicht wie ich die fehlende Klammer jetzt lokalisiere. Vielleicht nutz ich es auch nicht richtig, ich versteh nämlich nicht ganz was das alles für Dateien
    im 2. Downloadlink sind ?(

    Hallo, ich versuche schon seit einiger Zeit einen Klammerfehler in meinem Script zu finden.
    Allerdings bisher vergeblich :S
    Ich hab auch schon mit Notepad++ versucht bzw. mit diesem Tut [ SCRIPTING ] Klammerfehler herausfinden und beseitigen ,
    habe beim zählen rausbekommen: 2488 x { und 2487 x }
    Also ist es ein Klammerfehler, doch ich bin den Script schon so oft komplett durchgegangen und nach
    knapp 13.000 Zeilen lässt auch die Aufmerksamkeit etwas nach. Da wollte ich mal Fragen, ob es nicht noch eine andere Möglichkeit gibt außer
    auf eine Lila { Klammer zu warten. Kann man den Fehler vielleicht mithilfe der Errors ausfindig machen ? Oder gibt es ein Programm was die einzelne Klammer
    (Bei Notepad++ die "lila Klammer") findet? Ich bin fast am verzweifeln ;(

    Unter OnPlayerRequestClass(playerid, classid) hab ich es wie folgt:
    if(SpielerInfo[playerid][pSkinshop]==1)
    {
    ...
    if (classid >= 0 && classid <= 153)
    {
    if(isPlayerInFrakt(playerid,0)){ GameTextForPlayer(playerid,"~g~> Zivilist <",3000,6); }
    if(!isPlayerInFrakt(playerid,0)){ GameTextForPlayer(playerid,"~r~> Zivilist <",3000,6); }
    }

    Und so bei allen anderen Skins bzw. Fraktionen auch.
    Nun ist meine Frage:
    Wie kann ich nun machen, dass auch nur die Skins genommen werden können die der entsprechenden Fraktion angehören.
    Also hier in meinem Beispiel, die Classid 0 - 153 sollte nur genommen werden, wenn man Zivilist ist.
    Wenn man kein Zivilist ist und jetzt "Spawn" drückt sollte nichts passieren bzw. nur eine SendClientMessage folgen.
    Gibt es dafür ein extra Callback oder wie muss ich das machen?^^

    Hallo, ich versuche gerade einen Befehl zu erstellen, um meinem Bot reconnecten zu lassen.
    Dieser sieht so aus:
    if(strcmp(cmdtext,"/reconnectbots",true)==0)
    {
    if(isPlayerAnAdmin(playerid,3))
    {
    format(string,sizeof(string),"AmdCmd: Admin %s hat alle Bots reconnecten lassen",SpielerName(playerid));
    SendAdminMessage(COLOR_LIGHTRED,string);
    format(string, sizeof(string), "AdmCmd: Manfred_Schell wurde von %s gekickt, Grund: Botreconnect ", sendername);
    SendAdminMessage(COLOR_LIGHTRED, string);
    new manfredID = GetPlayerID("Manfred_Schell");

    Kick(manfredID);
    ConnectNPC("Manfred_Schell","BulletLS");
    return 1;


    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"* [SERVER]Du kannst diesen Befehl nicht nutzen!");
    }
    return 1;
    }


    Allerdings zeigt er mir folgendes Error an:

    Code
    error 017: undefined symbol "GetPlayerID"


    Gibt es dafür ein extra include oder warum kennt er diesen Befehl nicht.
    Bei Wiki steht er auch drin.
    http://wiki.sa-mp.com/wiki/GetPlayerID


    Hoffe ihr könnt mir helfen

    Wollte kurz Fragen, ob ich irgendeine Möglichkeit wie der Player das Fahrzeug verlassen hat ausgelassen habe.
    ( Ist für einen /lock Befehl - Das Fahrzeug soll wieder aufgehen wenn niemand mehr drin ist )
    OnPlayerExitVehicle
    OnPlayerDeath
    OnPlayerDisconnect


    Fehlt da noch etwas?

    Das war falsch, stimmt. Jedoch Funktioniert es immernoch nicht ich weiß auch wo der Fehler liegt, doch ich weiß nicht wie ich ihn behebe,
    deshalb mal eine Frage:
    Kann ich die ModelID des Fahrzeugs auslesen um die richtige Position in der Array zu finden?
    Zb: Ich gib ein /sellcars nun liest er die modelID des Privatwagens aus. Sagen wir es wär die 561 also der Stratum.
    Kann ich nun mit der ModelID auf die entsprechende Zeile zugreifen?
    So nach der Art if Model ID = 561 -> Zeile 1.


    /edit. Problem gelöst. Habe einen anderen Weg gewählt ( Den Preis einfach beim Kauf gespeichert so muss er nicht neu ausgelesen werden )

    Habe ein Problem, unzwar wird bei /Sellcars immernur
    der Preis des letzten Fahrzeugs in der enum Angezeigt.
    (Hier der Alpha)


    new Buycars1[][AKInfoGeneral] = {
    {561,"Stratum", 800000, 552.0965,-1263.8053,17.0473,181.3320},
    {602, "Alpha",245000, 547.3640,-1291.3431,17.0540,332.0273}
    };


    if(strcmp(cmd, "/Sellcars",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][pAuto] == 1)
    {
    for(new i = 0; i < sizeof Buycars1; i++)
    {
    new preis = Buycars1[i][Preis]; // <--- Hier wird immer der Preis des Alphas angezeigt, was allerdings nicht so sein sollte..
    new wert = floatround(0.8 * preis);
    format(string,sizeof(string),"Dein Fahrzeug ist nur noch $%d wert, das sind 80 Prozent des Neupreises.\nMöchtest du es trotzdem verkaufen?",wert);
    ShowPlayerDialog(playerid,DIALOG_CARSELL,DIALOG_STYLE_MSGBOX,"/sellcars",string,"Verkaufen","Abbruch");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED," Du besitzt kein Fahrzeug!");
    }
    }
    return 1;
    }


    Kann mir da jemand sagen wo das Problem liegt?

    Ja so sollte es auch sein.. xD
    Habe aber so folgenden Error:

    Code
    ....(9819) : warning 208: function with tag result used before definition, forcing reparse


    Zeile 9819 ist folgende:
    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[]) // <--- Zeile 9819
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }


    Kann mir jemand sagen was an der Zeile Falsch ist oder evtl. auch am LoadPlayer Stock?
    Dieser sieht nun wie folgt aus:

    stock LoadPlayer(playerid)
    new Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo;
    Xpo = mysql_GetFloat("accounts", "PosX", "Name", SpielerInfo[playerid][pName]);
    Ypo = mysql_GetFloat("accounts", "PosY", "Name", SpielerInfo[playerid][pName]);
    Zpo = mysql_GetFloat("accounts", "PosZ", "Name", SpielerInfo[playerid][pName]);
    Apo = mysql_GetFloat("accounts", "PosA", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pCarID] = CreateVehicle(SpielerInfo[playerid][pModelID],Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo,-1,-1,-1);
    return 1;
    }


    /edit1 LoadPlayer Stock h inzugefügt
    /edit2 Problem gelöst:
    Habe das Problem nun gelöst, der Stock musste über den LoadPlayer Stock.


    Gruss
    Joe

    Hallo, ich hab ein Problem beim auslesen von Floats über MySQL


    Ich hab es so gedacht, dass wenn der Spieler connected sein Car geladen und erstellt wird.
    Das Speichern der Positionen über /park in der MySQL Tabelle klappt bereits.
    Allerdings will das auslesen nicht funktionieren, das Car spawnt immer an der Position 0,0,0,0 .. also an der Farm.


    Der Load Player Stock:
    stock LoadPlayer(playerid)
    new Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo;
    Xpo = mysql_GetInt("accounts", "PosX", "Name", SpielerInfo[playerid][pName]);
    Ypo = mysql_GetInt("accounts", "PosY", "Name", SpielerInfo[playerid][pName]);
    Zpo = mysql_GetInt("accounts", "PosZ", "Name", SpielerInfo[playerid][pName]);
    Apo = mysql_GetInt("accounts", "PosA", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pCarID] = CreateVehicle(SpielerInfo[playerid][pModelID],Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo,-1,-1,-1);
    return 1;
    }


    Der GetFloat Stock:


    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }


    Würde mich freuen wenn mir da jemand helfen kann bzw. den Fehler lokalisieren kann.


    Gruss,
    Driver.