@Paradoxon:
Oki danke erstmal
Kann man das irgendwie machen
Das wenn die 10 voll sind und kann wd was macht das 1 Gelöscht wird ? Das die Datenbank nicht so voll wird
Beiträge von reaL.
-
-
Hallo Com ich wollte mal fragen wie ich ein Bankauszug system mache ich habe schon das ein Spieler Ein/aus Zahlen kann überweisen und Kontostand überprüfen kann und jetze will ich Wissen wie kann ich das machen,
dass man /atm machen kann sich ein Bank auszug lösen kann und da die letzten 10 Aktivitäten stehen z.b
22.01.2015: 10000$ ausgezahlt am Bankautomarten Fahrschule.
23.01.2015: 5000$ an Jeffry überwiesen.
und das im Dialog anzeigen lassen aber wie ? -
Hallo com ich habe eine kleine frage wenn ich ein tanksystem machen will also tankstellen System
Ich will alle verschiedene Preise und das man als trucker die tanke auffüllen kann Muss ich das extra in einer Tabelle abspreichern wäre das besser ? -
ah hatte den Server nicht Neu gestartet fail Danke funktioniert alles wie geplant
-
Jeffry:
Danke funktioniert aber habe ein Problem wenn ich Sterbe und dann off gehe wird das nicht gepseichert ? aber wieso ?? also in der Server Log steht es richtig aber wird nicht in die Tabelle eingetragen
das steht in der Mysql.log und unten das in den Server Log's
[20:59:08] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pkwlic='1',motorlic='1',lkwlic='1',fluglic='1',bootlic='1',waffenlic='1',Bankk='' at line 1saveplayer funktion
savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt] == 0) return 1;
new query[600];
format(query,sizeof query,"UPDATE user SET level='%d',skin='%d',money='%d',geschlecht='%d',alevel='%d',slevel='%d',fraktion='%d',rang='%d',leader='%d',coleader='%d',spawnchange='%d',perso='%d',palter='%d',pjob='%d',ptot='%d',kGeld='%d',tx='%f',ty='%f',tz='%f',",
GetPlayerScore(playerid),GetPlayerSkin(playerid),GetPlayerMoney(playerid),sInfo[playerid][geschlecht],sInfo[playerid][alevel],sInfo[playerid][slevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][leader],sInfo[playerid][coleader],sInfo[playerid][spawnchange],
sInfo[playerid][perso],sInfo[playerid][palter],sInfo[playerid][pjob],sInfo[playerid][PTot],sInfo[playerid][kGeld],sInfo[playerid][dx],sInfo[playerid][dy],sInfo[playerid][dz]);
format(query,sizeof query,"%spkwlic='%d',motorlic='%d',lkwlic='%d',fluglic='%d',bootlic='%d',waffenlic='%d',Bankk='%d',Bankg='%d',ECK='%d',wantedl='%d',jailtime='%d',kx='%f',ky='%f',kz='%f',bankkt='%d',eckt='%d',persot='%d',tott='%d',mats='%d',premiumab='%d',premium='%d' WHERE id='%d'",query,
sInfo[playerid][pkwlic],sInfo[playerid][motorlic],sInfo[playerid][lkwlic],sInfo[playerid][fluglic],sInfo[playerid][bootlic],sInfo[playerid][waffenlic],sInfo[playerid][bankk],sInfo[playerid][bankg],sInfo[playerid][eck],sInfo[playerid][wantedl],
sInfo[playerid][jailtime],sInfo[playerid][kx],sInfo[playerid][ky],sInfo[playerid][kz],sInfo[playerid][bankkt],sInfo[playerid][eckt],sInfo[playerid][persot],sInfo[playerid][tott],sInfo[playerid][pmats],sInfo[playerid][premiumab],sInfo[playerid][premium],sInfo[playerid][db_id]);
print(query);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}05/01/2015 20:59:08] UPDATE user SET level='1',skin='17',money='4908000',geschlecht='1',alevel='2002',slevel='0',fraktion='1',rang='6',leader='1',coleader='1',spawnchange='1',perso='1',palter='16',pjob='0',ptot='1',kGeld='10000',tx='219.686294',ty='69.010002',tz='1005.039062',,pkwlic='1',motorlic='1',lkwlic='1',fluglic='1',bootlic='1',waffenlic='1',Bankk='1',Bankg='0',ECK='0',wantedl='0',jailtime='0',kx='0.000000',ky='0.000000',kz='0.000000',bankkt='0',eckt='0',persot='0',tott='0',mats='0',premiumab='1420502400',premium='1' WHERE id='4'
-
if(sInfo[playerid][premium] > 0)
{
TimestampToDate(sInfo[playerid][premiumab],yea,mon,day,hour,minn,sec);//hier ist der error
format(string,sizeof(string),"Du hast noch bis Zum %d.%d.%d Premium!",day,mon,yea);
SendClientMessage(playerid,LEUCHTENDBLAU,string);
}C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match definition
-
//Beim Connect
if(sInfo[playerid][premium] > 0)
{
format(string,sizeof(string),"Du hast noch bis Zum %s Premium!",TimestampToDate(sInfo[playerid][premiumab]));
SendClientMessage(playerid,LEUCHTENDBLAU,string);
}C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match definition
C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match definition
C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match definition
C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match definition
C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match definition
C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match definition
C:\Users\user\Desktop\script\Script\gamemodes\Selfmade.pwn(8992) : warning 202: number of arguments does not match Definition -
Wir mach ich diesen strich unter SA-MP Freeroom Server ?
P.s ja ich weiß mit ein Textdraw -
Jeffry:
Danke hat Funktioniert
Eine Fragen wenn ich beim Login schreiben will
Du hast noch bis zum %i Premium aber wie
Wenn ich sInfo[playerid][premiumab] machen würde würde doch die Lange Zahl kommen oder nicht ? -
1
savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt] == 0) return 1;
new query[512];
format(query,sizeof query,"UPDATE user SET level='%d',skin='%d',money='%d',geschlecht='%d',alevel='%d',slevel='%d',fraktion='%d',rang='%d',leader='%d',coleader='%d',spawnchange='%d',perso='%d',palter='%d',pjob='%d',ptot='%d',kGeld='%d',tx='%f',ty='%f',tz='%f',",
GetPlayerScore(playerid),GetPlayerSkin(playerid),GetPlayerMoney(playerid),sInfo[playerid][geschlecht],sInfo[playerid][alevel],sInfo[playerid][slevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][leader],sInfo[playerid][coleader],sInfo[playerid][spawnchange],
sInfo[playerid][perso],sInfo[playerid][palter],sInfo[playerid][pjob],sInfo[playerid][PTot],sInfo[playerid][kGeld],sInfo[playerid][dx],sInfo[playerid][dy],sInfo[playerid][dz]);
format(query,sizeof query,"pkwlic='%d',motorlic='%d',lkwlic='%d',fluglic='%d',bootlic='%d',waffenlic='%d',Bankk='%d',Bankg='%d',ECK='%d',wantedl='%d',jailtime='%d',kx='%f',ky='%f',kz='%f',bankkt='%d',eckt='%d',persot='%d',tott='%d',mats='%d',premiumab='%d',premium='%d' WHERE id='%d'",
sInfo[playerid][pkwlic],sInfo[playerid][motorlic],sInfo[playerid][lkwlic],sInfo[playerid][fluglic],sInfo[playerid][bootlic],sInfo[playerid][waffenlic],sInfo[playerid][bankk],sInfo[playerid][bankg],sInfo[playerid][eck],sInfo[playerid][wantedl],
sInfo[playerid][jailtime],sInfo[playerid][kx],sInfo[playerid][ky],sInfo[playerid][kz],sInfo[playerid][bankkt],sInfo[playerid][eckt],sInfo[playerid][persot],sInfo[playerid][tott],sInfo[playerid][pmats],sInfo[playerid][premiumab],sInfo[playerid][premium],sInfo[playerid][db_id]);
print(query);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
habe das jetze so ,premium='%d' WHERE id='%d'",query
damit hat wurde das alles verschoben habe weggenommen jetze sieht es so aus
[04/01/2015 20:17:00] pkwlic='1',motorlic='1',lkwlic='1',fluglic='1',bootlic='1',waffenlic='1',Bankk='1',Bankg='0',ECK='1',wantedl='0',jailtime='0',kx='0.000000',ky='0.000000',kz='0.000000',bankkt='0',eckt='0',persot='0',tott='0',mats='0',premiumab='1420416000',premium='1' WHERE id='4'und vorher mit der query hinter where id
[04/01/2015 20:11:38] pkwlic='85',motorlic='1',lkwlic='1',fluglic='1',bootlic='1',waffenlic='1',Bankk='1',Bankg='1',ECK='0',wantedl='1',jailtime='0',kx='0.000000',ky='0.000000',kz='0.000000',bankkt='0',eckt='0',persot='0',tott='0',mats='0',premiumab='0',premium='1420416000' WHERE id='1'aber er trägt das nicht ein ? und Level und alles was in der 1 Query steht speichert er auch nicht
2 Habe schon geschafft :DD danke trotzdem
-
Hallo com,
ich habe vor Kurzem ein /setpremium befehl gemacht der Funktioniert aber das Speichern nicht aber wieso ?savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt] == 0) return 1;
new query[512];
format(query,sizeof query,"UPDATE user SET level='%d',skin='%d',money='%d',geschlecht='%d',alevel='%d',slevel='%d',fraktion='%d',rang='%d',leader='%d',coleader='%d',spawnchange='%d',perso='%d',palter='%d',pjob='%d',ptot='%d',kGeld='%d',tx='%f',ty='%f',tz='%f',",
GetPlayerScore(playerid),GetPlayerSkin(playerid),GetPlayerMoney(playerid),sInfo[playerid][geschlecht],sInfo[playerid][alevel],sInfo[playerid][slevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][leader],sInfo[playerid][coleader],sInfo[playerid][spawnchange],
sInfo[playerid][perso],sInfo[playerid][palter],sInfo[playerid][pjob],sInfo[playerid][PTot],sInfo[playerid][kGeld],sInfo[playerid][dx],sInfo[playerid][dy]);
format(query,sizeof query,"pkwlic='%d',motorlic='%d',lkwlic='%d',fluglic='%d',bootlic='%d',waffenlic='%d',Bankk='%d',Bankg='%d',ECK='%d',wantedl='%d',jailtime='%d',kx='%f',ky='%f',kz='%f',bankkt='%d',eckt='%d',persot='%d',tott='%d',premiumab='%d',premium='%d',mats='%d' WHERE id='%d'",query,
sInfo[playerid][dz],sInfo[playerid][pkwlic],sInfo[playerid][motorlic],sInfo[playerid][lkwlic],sInfo[playerid][fluglic],sInfo[playerid][bootlic],sInfo[playerid][waffenlic],sInfo[playerid][bankk],sInfo[playerid][bankg],sInfo[playerid][eck],sInfo[playerid][wantedl],
sInfo[playerid][jailtime],sInfo[playerid][kx],sInfo[playerid][ky],sInfo[playerid][kz],sInfo[playerid][bankkt],sInfo[playerid][eckt],sInfo[playerid][persot],sInfo[playerid][tott],sInfo[playerid][premiumab],sInfo[playerid][premium],sInfo[playerid][pmats],sInfo[playerid][db_id]);
print(query);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}ocmd:setpremium(playerid,params[])
{
new string[128],datum[11],pID;
if(!isAdmin(playerid,1337)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
if(sscanf(params,"us",pID,datum)) return SendClientMessage(playerid,ROT,"Benutze: {D6D6D6}/setpremium [ID] [Datum]");
sInfo[pID][premiumab] = DateToTimestamp(datum);
sInfo[pID][premium] = 1;
format(string,sizeof(string),"%s hat dir Premium bis zum %s gegeben",getPlayerName(playerid),datum);
SendClientMessage(pID,LEUCHTENDBLAU,string);
format(string,sizeof(string),"Du hast %s Premium bis zum %s gegeben",getPlayerName(pID),datum);
SendClientMessage(playerid,LEUCHTENDBLAU,string);
return 1;
}Jeffry:
und nochetwas ich habe ein /sellgun befehl gemacht der Funktioniert aber nicht immer wenn ich /sellgun 0 5,4,3,2 eingebe kommt eine Mp5 obwohl mp5 die 1 ist aber wieso ?ocmd:sellgun(playerid,params[])
{
new string[128],pID,gunid[20];
if(isPlayerInFrakt(playerid,7) || isPlayerInFrakt(playerid,8) || isPlayerInFrakt(playerid,9) || isPlayerInFrakt(playerid,10) || isPlayerInFrakt(playerid,11) || isPlayerInFrakt(playerid,12) || isPlayerInFrakt(playerid,13) || isPlayerInFrakt(playerid,14) || isPlayerInFrakt(playerid,15))
{
if(sscanf(params,"ui",pID,gunid))
{
SendClientMessage(playerid,ROT,"Benutze: {D6D6D6}/sellgun [ID] [Waffenid]");
SendClientMessage(playerid,ROT,"1 = Mp5 200 Schuss || 100 Mats");
SendClientMessage(playerid,ROT,"2 = Shotgun 100 Schuss || 75 Mats");
SendClientMessage(playerid,ROT,"3 = M4 100 Schuss || 100 Mats");
SendClientMessage(playerid,ROT,"4 = Deagle 50 Schuss || 150 Mats");
SendClientMessage(playerid,ROT,"5 = Armor || 500 Mats");
return 1;
}
else
{
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Ein Spieler mit dieser ID ist nicht online!");
if(strlen(gunid)==1)
{
if(sInfo[playerid][pmats] > 100)
{
GivePlayerWeapon(pID,29 , 200);
format(string,sizeof(string),"Du hast %s eine Mp5 mit 100 Schuss gegeben!",getPlayerName(pID));
SendClientMessage(playerid,GRÜN,string);
format(string,sizeof(string),"%s hat dir eine Mp5 mit 100 Schuss gegeben!",getPlayerName(playerid));
SendClientMessage(pID,GRÜN,string);
sInfo[playerid][pmats] -= 100;
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Du hast nicht Genügend Mats!");
return 1;
}
}
if(strlen(gunid)==2)
{
if(sInfo[playerid][pmats] > 75)
{
GivePlayerWeapon(pID,25 , 100);
format(string,sizeof(string),"Du hast %s eine Shotgun mit 100 Schuss gegeben!",getPlayerName(pID));
SendClientMessage(playerid,GRÜN,string);
format(string,sizeof(string),"%s hat dir eine Shotgun mit 100 Schuss gegeben!",getPlayerName(playerid));
SendClientMessage(pID,GRÜN,string);
sInfo[playerid][pmats] -= 75;
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Du hast nicht Genügend Mats!");
return 1;
}
}
if(strlen(gunid)==3)
{
if(sInfo[playerid][pmats] > 100)
{
GivePlayerWeapon(pID,31 , 100);
format(string,sizeof(string),"Du hast %s eine M4 mit 100 Schuss gegeben!",getPlayerName(pID));
SendClientMessage(playerid,GRÜN,string);
format(string,sizeof(string),"%s hat dir eine M4 mit 100 Schuss gegeben!",getPlayerName(playerid));
SendClientMessage(pID,GRÜN,string);
sInfo[playerid][pmats] -= 100;
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Du hast nicht Genügend Mats!");
return 1;
}
}
if(strlen(gunid)==4)
{
if(sInfo[playerid][pmats] > 150)
{
GivePlayerWeapon(pID,24 , 50);
format(string,sizeof(string),"Du hast %s eine Deagle mit 100 Schuss gegeben!",getPlayerName(pID));
SendClientMessage(playerid,GRÜN,string);
format(string,sizeof(string),"%s hat dir eine Deagle mit 100 Schuss gegeben!",getPlayerName(playerid));
SendClientMessage(pID,GRÜN,string);
sInfo[playerid][pmats] -= 150;
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Du hast nicht Genügend Mats!");
return 1;
}
}
if(strlen(gunid)==5)
{
if(sInfo[playerid][pmats] > 500)
{
SetPlayerArmour(pID, 100);
format(string,sizeof(string),"Du hast %s eine Armour für 500 Mats gegeben!",getPlayerName(pID));
SendClientMessage(playerid,GRÜN,string);
format(string,sizeof(string),"%s hat dir Armour gegeben!",getPlayerName(playerid));
SendClientMessage(pID,GRÜN,string);
sInfo[playerid][pmats] -= 500;
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Du hast nicht Genügend Mats!");
return 1;
}
}
}
}
else
{
SendClientMessage(playerid,ROT,"Du darfst diesen Befehl nicht nutzen!");
return 1;
}
return 1;
} -
Ich würde mich über ein richtiges Bann Tutorial freue
Ban,T-Ban und IP Banns
Und wenn man jemanden Bannt das das in eine Tabelle geschrieben wird -
Jeffry:
Beim speichern bekomme ich ein Error
http://pastebin.com/FyxVtaqZ
Steht ganz oben -
Jeffry:
Array sizes do not match, or destination array id too small
sInfo[pId][premiumab] = DateToTimestamp(datum); -
Danke
Ich wollte den /setpremium machen aber bekomme ein Error
( ist in der pastebin drinnen )
http://pastebin.com/BtvYhLbp
Jeffry: -
Hallo com,
Wieso passiert die cameranicht sprich die interpolate Cam ?
http://pastebin.com/iT2cRjA1
Jeffry: -
Oke danke
Und Laden/Speichern einfach wie die anderen Integer?
Wird dann auch z.b 12.2.2015 gespeichert ?@Raven^: nein nur s nutze den sccanf stock
Frage ist das plugin besser oder zu empfehlen oder der stock oder nimmt sich das nicht's -
If(sccanf(params,"us",pID,String)) return //Message Senden
TimestampToDate(String);So oder wie ?
Sry habe damit noch nicht gearbeitet -
Jeffry:
Danke damit ist mein erstes Problem gelöst
Aber 2 verstehe ich nicht
Wie muss ch 1 die sccanf Abfrage machen ?
Und das datum setzten ?
Wie muss ich das Speichern als integer ?
Könntest du mir das mal machen damit komme ich net klar ich verstehe das net -
Hallo liebe Community
Ich habe 2 Fragen
1 wie Printe ich das Datum vor der Uhrzeit ?
Und 2
Wie kann ich Premium auf ein Tag setzten
Z.b Spieler x bis 05.202015 Premium geben ?
Und wid muss ich das Speichern/laden und dann genau an dem Tag das Premium auf 0 setzten ?
Jeffry: