Beiträge von RickFace

    Hallo liebe Com,


    ich habe folgende frage und zwar wie kriege ich es hin das ich aus einer MySQL Data (z.b. Autos) in einem List Dialog jedes einzelnes auto aufgelistet bekomme?


    //edit1


    hier mal den Code so wie ich es mir in etwa vorgestellt habe:


    forward OnAdminShowFraktionCars();
    public OnAdminShowFraktionCars()
    {
    new num_rows, num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    for(new i=0; i<num_rows; i++)
    {
    new string[164],
    fid,
    ffrak[164];
    fid = cache_get_field_content_int(i,"vehicleid",dbhandle);
    cache_get_field_content(i,"inhaber",ffrak,dbhandle,sizeof ffrak);
    format(string,sizeof string,"%s Inhaber: %s",getVehicleName(fid),ffrak);
    //wie geht es ab hier weiter????
    }
    return 1;
    }


    ocmd:showcars(playerid,params[])
    {
    if(sInfo[playerid][p_Adminlevel]==ADMIN_SUPPORTER)
    {
    mysql_function_query(dbhandle,"SELECT * FROM fautos",true,"OnAdminShowFraktionCars","");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du darfst diesen Befehl nicht nutzen!");
    }
    return 1;
    }

    Guck mal genau....
    Du hast abgefrag in Zeile eins, ob das Wantedlevel kleiner (<) oder gleich null ist also mach mal ein ">" dahin und versuche es nochmal.



    [list=1][*]if(Spieler[playerid][Wanteds] < 0 && IsACop(killerid))
    [*] {
    [*] Spieler[playerid][Jailed] = 1;
    [*] Spieler[playerid][JailType] = 2;
    [*] GivePlayerCash(playerid, -5000);
    [*] GivePlayerCash(killerid, 5000);
    [*] ResetPlayerWeapons(playerid);
    [*] SendClientMessage(playerid, COLOR_GRAD2, "");
    [*] format(string, sizeof(string), "Du bist nun für %d Minuten im Knast. (Nicht Gestellt, -5000$)",Spieler[playerid][Wanteds]*4);
    [*] SendClientMessage(playerid, BLAU, string);
    [*] SetTimerEx("Unjail",Spieler[playerid][Wanteds]*4*1000*60,false,"i",playerid);
    [*] SetPlayerPos(playerid, 264.0500,77.8530,1001.0391);
    [*] SetPlayerInterior(playerid, 6);
    [*] //ClearChat(playerid);
    [*] // PlayerPlaySound(killerid, 1139, 0.0, 0.0, 0.0);
    [*] // SendClientMessage(killerid,0xFFFFFF00,"Du hast den gesuchten Verbrecher geschnappt!");
    [*] // SendClientMessage(killerid,0xFFFFFF00,"Dir wird eine Prämie für den nächsten Zahltag gutgeschrieben.");
    [*] // SendClientMessage(playerid,0xFFFFFF00,"Du wurdest von der Polizei gestoppt!");
    [*] //der eingespäter wird nicht als killerid sndern als playerid definirt
    [*] SetPlayerWantedLevel(playerid,0);
    [*] //format(string, sizeof(string), "%s hat den Verbrecher %s geschnappt!", GetName(killerid), GetName(playerid));
    [*] //SendFamilyMessage(1, BLAU, string);
    [*] //SendFamilyMessage(2, BLAU, string);
    [*] }
    [/list]

    Mach es einfach so:


    for(new ip=0; ip<MAX_PLAYERS; ip++)
    {
    if(GetPlayerWantedLevel(ip)==0)continue;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if( Spieler[i][Fraktion] == 1 )
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(ip,x,y,z);
    if(!IsPlayerInRangeOfPoint(i,10,x,y,z)) continue;
    CreatePlayer3DTextLabel(i,(Der Text),(Die Farbe),x,y,z,(Die Distanz),ip,0,0);
    }
    }
    }


    so ungefähr musste es gehen.


    wenn nicht schreib einfach wieder hier.

    Kann mir denn einer ein Object Vorschlagen das ist als 'Externes' PNS nutzen könnte?


    Also ich will eine Repair station an einer Bestimmten Stelle haben z.b. Extra für Beamten Fraktionen.

    Hallo liebe Com,


    ich habe volgende Frage und zwar habe ich momentan das Problem das ich das Object 3293 auf der Map eingefügt habe aber ich kann durch das hindurch fahren und wenn mann seitlich davon steht sieht mann es auch nicht.


    Wie kann ich dieses Problem Beheben? Auch wenn es vllt nichts Bringt aber ich gib euch Trotzdem nochmal den Code dazu:


    CreateObject(3293, 1548.1, -1609.7, 15.5, 0, 0, 270.25);


    Danke Schonmal im vorraus


    if(dialogid == DIALOG_BUSLINIEN)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"Buslinie gestartet. Fahren sie die roten Marker entlang.");
    SetPlayerCheckpoint(playerid,1172.9111,-1824.7823,13.5306,180);
    L1Checkpoint[playerid]=1;
    return 1;
    }
    if(listitem == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Buslinie gestartet. Fahren sie die roten Marker entlang.");
    L2Checkpoint[playerid]=1;
    SetPlayerCheckpoint(playerid,1181.5731,-936.9670,42.8555,6.0);
    return 1;
    }
    }
    }


    ersetze es mal damit

    enum FraktionsDaten{
    f_id,
    f_leader[164],
    f_name[164],
    f_members,
    f_konto,
    Float:f_x,
    Float:f_y,
    Float:f_z,
    f_name_rang_1[164],
    f_name_rang_2[164],
    f_name_rang_3[164],
    f_name_rang_4[164],
    f_name_rang_5[164],
    f_gehalt_rang_1,
    f_gehalt_rang_2,
    f_gehalt_rang_3,
    f_gehalt_rang_4,
    f_gehalt_rang_5,
    }
    new FrakInfo[MAX_FRAKTIONS][FraktionsDaten];

    LoadFraktion()
    {
    mysql_function_query(dbhandle,"SELECT * FROM fraktionen",true,"OnFraktionLoad","");
    }


    bis jetzt nur das und dann steht halt noch unter OnGameModeInit (LoadFraktion();)


    und die Tabelle hat 11 Einträge hier mal das was aus der Konsole kommt


    SA-MP Dedicated Server
    ----------------------
    v0.3.7-R2, (C)2005-2015 SA-MP Team


    [13:46:43] filterscripts = "" (string)
    [13:46:43]
    [13:46:43] Server Plugins
    [13:46:43] --------------
    [13:46:43] Loading plugin: mysql
    [13:46:43] >> plugin.mysql: R34 successfully loaded.
    [13:46:43] Loaded.
    [13:46:43] Loaded 1 plugins.


    [13:46:43]
    [13:46:43] Filterscripts
    [13:46:43] ---------------
    [13:46:43] Loaded 0 filterscripts.


    [13:46:43]
    ----------------------------------
    [13:46:43] Blank Gamemode by your name here
    [13:46:43] ----------------------------------


    [13:46:43] Number of vehicle models: 0
    [13:46:43] Fraktion ID:1 Name:Los Santos Police Departement geladen!

    okay dann hast du dich aber Verrechnet weil bei dir steht da



    new xy = (PlayerInfo[playerid][pLevel] * 4) + 8;


    und wenn der Spieler jetzt level 2 währe würde da stehen (2*4)+8.
    Das sind keine 12 sondern 16.

    Hallo liebe BF Community,


    ich habe folgendes Problem, ich habe mir eine Funkt. zum laden meiner Fraktionen gemacht.
    Das Problem ist das er nur den ersten eintrag der Tabelle läd und das liegt sehr Wahrscheinlich im Folgendem public.


    forward OnFraktionLoad();
    public OnFraktionLoad()
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0) return print("Keine Fraktionen!");
    for(new i=0; i<sizeof num_rows; i++)
    {
    new fID = GetFreeFrakID();
    FrakInfo[fID][f_id] = cache_get_field_content_int(i,"id",dbhandle);
    FrakInfo[fID][f_members] = cache_get_field_content_int(i,"members",dbhandle);
    FrakInfo[fID][f_konto] = cache_get_field_content_int(i,"konto",dbhandle);
    FrakInfo[fID][f_name_rang_1] = cache_get_field_content_int(i,"rang1gehalt",dbhandle);
    FrakInfo[fID][f_name_rang_2] = cache_get_field_content_int(i,"rang2gehalt",dbhandle);
    FrakInfo[fID][f_name_rang_3] = cache_get_field_content_int(i,"rang3gehalt",dbhandle);
    FrakInfo[fID][f_name_rang_4] = cache_get_field_content_int(i,"rang4gehalt",dbhandle);
    FrakInfo[fID][f_name_rang_5] = cache_get_field_content_int(i,"rang5gehalt",dbhandle);
    FrakInfo[fID][f_x] = cache_get_field_content_float(i,"x",dbhandle);
    FrakInfo[fID][f_y] = cache_get_field_content_float(i,"y",dbhandle);
    FrakInfo[fID][f_z] = cache_get_field_content_float(i,"z",dbhandle);
    cache_get_field_content(i,"leader",FrakInfo[fID][f_leader],dbhandle,164);
    cache_get_field_content(i,"name",FrakInfo[fID][f_name],dbhandle,164);
    cache_get_field_content(i,"rang1name",FrakInfo[fID][f_name_rang_1],dbhandle,164);
    cache_get_field_content(i,"rang2name",FrakInfo[fID][f_name_rang_2],dbhandle,164);
    cache_get_field_content(i,"rang3name",FrakInfo[fID][f_name_rang_3],dbhandle,164);
    cache_get_field_content(i,"rang4name",FrakInfo[fID][f_name_rang_4],dbhandle,164);
    cache_get_field_content(i,"rang5name",FrakInfo[fID][f_name_rang_5],dbhandle,164);
    printf("Fraktion ID:%i Name:%s geladen!",FrakInfo[fID][f_id],FrakInfo[fID][f_name]);
    }
    return 1;
    }


    vielen dank schonmal im vorraus! :)

    format(query,sizeof query,"INSERT INTO fraktionen (x,y,z,name,leader,rang1name,rang2name,rang3name,rang4name,rang5name,rang1gehalt,rang2gehalt,rang3gehalt,rang4gehalt,rang5gehalt,konto) VALUES('%f','%f','%f','%s','%s','%s','%s','%s','%s','%s','%i','%i,'%i','%i','%i','%i')",x,y,z,fname,FrakInfo[fID][f_leader],FrakInfo[fID][f_name_rang_1],FrakInfo[fID][f_name_rang_2],FrakInfo[fID][f_name_rang_3],FrakInfo[fID][f_name_rang_4],FrakInfo[fID][f_name_rang_5],400,600,800,1000,1200,300000);

    nein das Problem geht immernoch nicht weg.:


    [14:24:40] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''na' at line 1


    //edit



    Habe jetzt mal selber ne kleine änderung vorgenommen jetzt sieht das ganze so aus:


    ocmd:cfrak(playerid,params[]){if(IsPlayerAdmin(playerid)){new fname[164],Float:x,Float:y,Float:z,string[164];if(sscanf(params,"s",fname))return SendClientMessage(playerid,COLOR_RED,"INFO: /cfrak [Fraktions Name]");new fID = GetFreeFrakID();GetPlayerPos(playerid,x,y,z);FrakInfo[fID][f_x] = x;FrakInfo[fID][f_y] = y;FrakInfo[fID][f_z] = z;format(FrakInfo[fID][f_name],sizeof FrakInfo,"%s",fname);format(FrakInfo[fID][f_name_rang_1],sizeof FrakInfo,"Azubi",fname);format(FrakInfo[fID][f_name_rang_2],sizeof FrakInfo,"Mitglied",fname);format(FrakInfo[fID][f_name_rang_3],sizeof FrakInfo,"Assistent",fname);format(FrakInfo[fID][f_name_rang_4],sizeof FrakInfo,"CO_Leader",fname);format(FrakInfo[fID][f_name_rang_5],sizeof FrakInfo,"Leader",fname);format(FrakInfo[fID][f_leader],sizeof FrakInfo,"Kein Leader",fname);FrakInfo[fID][f_gehalt_rang_1] = 400;FrakInfo[fID][f_gehalt_rang_2] = 600;FrakInfo[fID][f_gehalt_rang_3] = 800;FrakInfo[fID][f_gehalt_rang_4] = 1000;FrakInfo[fID][f_gehalt_rang_5] = 1200;FrakInfo[fID][f_konto] = 300000;FrakInfo[fID][f_id_x] = CreatePickup(PICKUP_INFO,1,x,y,z,0);format(string,sizeof string,"{FFFFFF}Fraktion: {FF0000}%s\n\n{FFFFFF}Leader: {FF0000}%s\n{FFFFFF}Mitglieder: {FF0000}%i",FrakInfo[fID][f_name],FrakInfo[fID][f_leader],FrakInfo[fID][f_members]);FrakInfo[fID][f_id_y] = Create3DTextLabel(string,COLOR_WHITE,x,y,z,40.0,0,0);new query[1640];format(query,sizeof query,"INSERT INTO fraktionen (x,y,z,name,leader,rang1name,rang2name,rang3name,rang4name,rang5name,rang1gehalt,rang2gehalt,rang3gehalt,rang4gehalt,rang5gehalt,konto) VALUES('%f','%f','%f','%s','%s','%s','%s','%s','%s','%s','%i','%i,'%i','%i','%i','%i')",x,y,z,fname,FrakInfo[fID][f_leader],FrakInfo[fID][f_name_rang_1],FrakInfo[fID][f_name_rang_2],FrakInfo[fID][f_name_rang_3],FrakInfo[fID][f_name_rang_4],FrakInfo[fID][f_name_rang_5],400,600,800,1000,1200,300000);mysql_function_query(dbhandle,query,false,"","");}else{SendClientMessage(playerid,COLOR_RED,"ERROR: Du darfst diesen Befehl nicht nutzen!");}return 1;}



    Bekomme aber immer noch diesen Fehler;


    [14:31:20] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '800','1000','1200','300000')' at line 1


    //edit 2



    Habe den Fehler schon selber gefunden es war ein ' zu wenig.


    Trotzdem danke an eure HIlfe

    Guten Tag liebe Community,


    ich habe folgendes Problem und zwar hab ich mir einen Befehl erstellt mit dem ich InGame eine Fraktion Erstellen kann und das sie direkt in die MySQL Datenbank eingefügt wird. Aus irgendeinem Grund wir mir aber im 3DTextLabel als Leader Angezeigt "na" und in der MySQL log steht unteranderem :


    [03:23:42] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''na' at line 1


    Ich kann den Fehler einfach nicht finden aber Hoffe das doch einer von euch schlauer ist als ich ;)


    ocmd:cfrak(playerid,params[])
    {
    if(IsPlayerAdmin(playerid))
    {
    new fname[164],
    Float:x,
    Float:y,
    Float:z,
    string[164];
    if(sscanf(params,"s",fname))return SendClientMessage(playerid,COLOR_RED,"INFO: /cfrak [Fraktions Name]");
    new fID = GetFreeFrakID();
    GetPlayerPos(playerid,x,y,z);
    FrakInfo[fID][f_x] = x;
    FrakInfo[fID][f_y] = y;
    FrakInfo[fID][f_z] = z;
    FrakInfo[fID][f_name] = fname;
    strpack(FrakInfo[fID][f_name_rang_1],"Azubi",164);
    strpack(FrakInfo[fID][f_name_rang_2],"Mitglied",164);
    strpack(FrakInfo[fID][f_name_rang_3],"Assistent",164);
    strpack(FrakInfo[fID][f_name_rang_4],"CO Leader",164);
    strpack(FrakInfo[fID][f_name_rang_5],"Leader",164);
    strpack(FrakInfo[fID][f_leader],"Kein Leader",164);
    FrakInfo[fID][f_gehalt_rang_1] = 400;
    FrakInfo[fID][f_gehalt_rang_2] = 600;
    FrakInfo[fID][f_gehalt_rang_3] = 800;
    FrakInfo[fID][f_gehalt_rang_4] = 1000;
    FrakInfo[fID][f_gehalt_rang_5] = 1200;
    FrakInfo[fID][f_konto] = 300000;
    FrakInfo[fID][f_id_x] = CreatePickup(PICKUP_INFO,1,x,y,z,0);
    format(string,sizeof string,"{FFFFFF}Fraktion: {FF0000}%s\n\n{FFFFFF}Leader: {FF0000}%s\n{FFFFFF}Mitglieder: {FF0000}%i",FrakInfo[fID][f_name],FrakInfo[fID][f_leader],FrakInfo[fID][f_members]);
    FrakInfo[fID][f_id_y] = Create3DTextLabel(string,COLOR_WHITE,x,y,z,40.0,0,0);
    new query[1640];
    format(query,sizeof query,"INSERT INTO fraktionen (x,y,z,name,leader,rang1name,rang2name,rang3name,rang4name,rang5name,rang1gehalt,rang2gehalt,rang3gehalt,rang4gehalt,rang5gehalt,konto) VALUES('%f','%f','%f','%s','%s','%s','%s','%s','%s','%s','%i','%i','%i','%i','%i','%i')",x,y,z,fname,FrakInfo[fID][f_leader],FrakInfo[fID][f_name_rang_1],FrakInfo[fID][f_name_rang_2],FrakInfo[fID][f_name_rang_3],FrakInfo[fID][f_name_rang_4],FrakInfo[fID][f_name_rang_5],400,600,800,1000,1200,300000);
    mysql_function_query(dbhandle,query,false,"","");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"ERROR: Du darfst diesen Befehl nicht nutzen!");
    }
    return 1;
    }


    Vielen dank schonmal im vorraus! :D