Premium Ablauf Speichert nicht ? o.O

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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;
    }

  • 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

  • Schreibe es so:
    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,"%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;
    }


    Klappt es dann? Wenn nein, poste nochmal das query.

  • //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


    Jeffry:

  • Hab grade nachgeschaut, das ist aber doof gemacht in der Include.


    Du musst es so machen:
    new yea,mon,day,hou,min,sec;
    TimestampToDate(sInfo[playerid][premiumab],yea,mon,day,hou,min,sec,1);
    format(string,sizeof(string),"Du hast noch bis Zum %d.%d.%d Premium!",day,mon,yea);

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • 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

  • 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 1


    saveplayer 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'

  • Du hast vor pkwlic zwei Kommata, in deinem Code aber nicht. Du hast den Code wohl nochmal geändert, schau mal nochmal nach, ob der Code wirklich so ist, wie du ihn gepostet hast, denn so ist er richtig, da ist nur 1 Komma, in deinem Log sind da zwei.