Szerző Téma: Nem ment  (Megtekintve 570 alkalommal)

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Nem ment
« Dátum: 2012. szeptember 12. - 10:49:52 »
+1 Show voters
Sziasztok.Tudjátok irtam egy regisztrációs rendszert na én azt szerkesztgetem de el ronthattam valamit mert mostmár nem akarja menteni a pénzt/pontot.
Mit rontottam el benne?
 
#include <a_samp>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#include <lethaldudb2>
#include <zcmd>
#include <sscanf2>
new bekuldottszoveg[MAX_PLAYERS][128];
new bool:kiemelheto[MAX_PLAYERS];
#pragma unused ret_memcpy
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define MUNKA_SCPD 1
#define MUNKA_TUZOLTO 2
enum pInfo
{
    pAdminLevel,
    pCash,
    pScore,
    pFrakcio,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new gPlayerLogged[MAX_PLAYERS];
#define SERVER_USER_FILE \"myserver/%s.ini\"
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Blank Filterscript by your name here\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
 
public OnPlayerSpawn(playerid)
{
    gPlayerLogged[playerid] = 0;
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if (!dini_Exists(file))
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Üdv te nemvagy regisztrálva\", \"Üdvözöljük ön nem regisztált adja meg a bejelentkezési adatát\", \"Regisztráció\", \"Kilép\");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Üdv regisztrált\", \"Üdvözöljük regisztrált add meg a bejelentkezési adataidat\", \"Bejelentkez\", \"Kilép\");
    }
    }
 
public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, \"Score\", PlayerInfo[playerid][pScore]);
        dini_IntSet(file, \"Money\", PlayerInfo[playerid][pCash]);
dini_IntSet(file, \"AdminLevel\",PlayerInfo[playerid][pAdminLevel]);
    }
    gPlayerLogged[playerid] = 0;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (dialogid == 1)
    {
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Üdv te nemvagy regisztrálva\", \"Üdvözöljük ön nem regisztált adja meg a bejelentkezési adatát\", \"Regisztráció\", \"Kilép\");
        dini_Create(file);
        dini_IntSet(file, \"Password\", udb_hash(inputtext));
        dini_IntSet(file, \"AdminLevel\",PlayerInfo[playerid][pAdminLevel] = 0);
        dini_IntSet(file, \"Money\",PlayerInfo[playerid][pCash] = 0);
        dini_IntSet(file, \"Score\",PlayerInfo[playerid][pScore] = 0);
 
        format(string, 128, \"[sYSTEM]: Sikeresen bejelentkeztél Név: %s Jelszó %s, te automatikusan bejelentkeztél\", name, inputtext);
        SendClientMessage(playerid, -1, string);
        SetPlayerSkin(playerid,154);
SendClientMessage(playerid,0x449605AA,\"Üdvözöllek téged kiraboltak el vitték mindened csak egy nadrágot hagytak meg neked\");
        SendClientMessage(playerid,0x449605AA,\"Viszont téged Carl_Jonson megtalál és ki visz a faluba ahol feltámazkodhatsz és újra gazdag lehetsz\");
        SendClientMessage(playerid,0x449605AA,\"Keresd fel egy munkát és éld az életed \");
        SendClientMessage(playerid,0x449605AA,\"Várd meg CJ-t hogy el jöjjön érted [MAXIMUM 2PERC]\");
 
gPlayerLogged[playerid] = 1;
    }
    if (dialogid == 2)
    {
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Üdv regisztrál\", \"Üdvözöljük regisztrált add meg a bejelentkezési adataidat\", \"Bejelentkez\", \"Kilép\");
        new tmp;
        tmp = dini_Int(file, \"Password\");
        if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, COLOR_RED, \"Wrong PW sir.\");
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Üdv regisztrál\", \"Üdvözöljük regisztrált add meg a bejelentkezési adataidat\", \"Bejelentkez\", \"Kilép\");
        }
        else
        {
            gPlayerLogged[playerid] = 1;
            PlayerInfo[playerid][pAdminLevel] = dini_Int(file, \"AdminLevel\");
            SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
            GivePlayerMoney(playerid, dini_Int(file, \"Money\")-GetPlayerMoney(playerid));
            SendClientMessage(playerid,COLOR_RED, \"[sYSTEM]: Sikeresen bejelentkeztél!\");
        }
    }
return 1;
}

Nem ment
« Válasz #1 Dátum: 2012. szeptember 12. - 11:07:33 »
+2 Show voters
Én így oldanám meg:
 
       dini_IntSet(fajl,\"penz\",GetPlayerMoney(playerid));
   dini_IntSet(fajl,\"pont\",GetPlayerScore(playerid));

 
És a betöltés:
 
      GivePlayerMoney(playerid,dini_Int(fajl,\"penz\"));
SetPlayerScore(playerid,dini_Int(fajl,\"pont\"));

 
És még valami ne használj dcmdt és zcmdt egyszerre mert nem szeretik egymást.

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Nem ment
« Válasz #2 Dátum: 2012. szeptember 12. - 11:31:58 »
+1 Show voters
Köszi norbi megy.Megy oda a respect

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal