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
-
Vielen Dank wäre ich jetzt nicht drauf gekommen das es daran liegt
@AirM4X -
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. -
Ok danke habe ich nicht gemerkt
Aber es hat sich nix geändert es läd immernoch nur das erste
-
hast du mal versucht das Level mit SetPlayerScore hoch zu stufen?
-
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
-
Funktioniert nicht ich bekommen den selben SQL ERROR
[13:33:45] [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
-
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!
-
Ach ich Idiot
Danke SLaYz -
Ja sind sie