Szerző Téma: Score Saver  (Megtekintve 1700 alkalommal)

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Score Saver
« Dátum: 2012. május 03. - 14:47:25 »
0 Show voters
Sziasztok. Egy Score mentõt akarnák kérni mert keresgéltem szinte az összeset megtaláltam, ment kilépésnél is de amikor csatlakozni akarok újra a szerverhez akkor nem akar felmenni. Segítsetek pls. Jó lesz nekem egy Reg. rendszerbõl is vagy mind1 csak mentsen... Elõre is köszönöm  :angel:

Score Saver
« Válasz #1 Dátum: 2012. május 03. - 14:54:48 »
0 Show voters
ladmin4v2 tudtommal menti

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Score Saver
« Válasz #2 Dátum: 2012. május 03. - 15:08:48 »
0 Show voters
Megírtam FS -ben, dini szükséges hozzá:
 
#include <a_samp>
#include <dini>
public OnPlayerConnect(playerid)
{
        new str[MAX_PLAYER_NAME];
        GetPlayerName(playerid, str, 24);
        if(dini_Exists(str)) SetPlayerScore(playerid, dini_Int(str, \"Score\"));
        return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
        new str[MAX_PLAYER_NAME];
        GetPlayerName(playerid, str, 24);
        if(!dini_Exists(str)) dini_Create(str);
        dini_IntSet(str, \"Score\", GetPlayerScore(playerid));
        return 1;
}

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Score Saver
« Válasz #3 Dátum: 2012. május 03. - 15:40:03 »
0 Show voters
Idézetet írta: Casamiro date=1336050528\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"20949\" data-ipsquote-contentclass=\"forums_Topic
Megírtam FS -ben, dini szükséges hozzá:
 
#include <a_samp>
#include <dini>
public OnPlayerConnect(playerid)
{
        new str[MAX_PLAYER_NAME];
        GetPlayerName(playerid, str, 24);
        if(dini_Exists(str)) SetPlayerScore(playerid, dini_Int(str, \"Score\"));
        return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
        new str[MAX_PLAYER_NAME];
        GetPlayerName(playerid, str, 24);
        if(!dini_Exists(str)) dini_Create(str);
        dini_IntSet(str, \"Score\", GetPlayerScore(playerid));
        return 1;
}

 

Ugyan az :/ Nem akar csatlakozni :S.. Lehet hogy Dini hiba?

Score Saver
« Válasz #4 Dátum: 2012. május 03. - 15:45:53 »
0 Show voters
Ebben elsõ átnázásre nem találtam hibát... Akkor nálad van a gond.

Nem elérhető Dead

  • 2045
    • Profil megtekintése
Score Saver
« Válasz #5 Dátum: 2012. május 03. - 15:50:39 »
0 Show voters
Idézetet írta: Dukma123 date=1336049688\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"20949\" data-ipsquote-contentclass=\"forums_Topic
ladmin4v2 tudtommal menti
 
a kileket, de mást nem.
amúgy az eredeti ladmin nem menti, csak amelyikbe bele van írva.
nekem is ez a gond vele.

Score Saver
« Válasz #6 Dátum: 2012. május 03. - 23:24:54 »
0 Show voters
Idézetet írta: Dead date=1336053039\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"20949\" data-ipsquote-contentclass=\"forums_Topic


ladmin4v2 tudtommal menti
 
a kileket, de mást nem.
amúgy az eredeti ladmin nem menti, csak amelyikbe bele van írva.
nekem is ez a gond vele.
 
[/quote]
Az eredeti ladmin menti a kill-eket, csak loginnál nem adja vissza, de folyamatosan menti csak bele kellene nézni egy regisztrációs fájlba valami szövegszerkesztõvel.
Amúgy egy kis idézet a forrás fájlból:
 
SavePlayer(playerid)
{
      dUserSetINT(PlayerName2(playerid)).(\"money\",GetPlayerMoney(playerid));
      dUserSetINT(PlayerName2(playerid)).(\"kills\",PlayerInfo[playerid][Kills]);
      dUserSetINT(PlayerName2(playerid)).(\"deaths\",PlayerInfo[playerid][Deaths]);
[/quote]
És ha már itt tartok akkor tovább folytatva loginkor be is tölti:
 
LoginPlayer(playerid)
{
if(ServerInfo[GiveMoney] == 1) {ResetPlayerMoney(playerid); GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).(\"money\") ); }
dUserSetINT(PlayerName2(playerid)).(\"loggedin\",1);
PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).(\"deaths\"));
PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).(\"kills\"));
[/quote]
Akkor mi hiányzik, az hogy nem állítja be játék közben a pontot?
 
SetPlayerScore(playerid, PlayerInfo[playerid][Kills]);

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Score Saver
« Válasz #7 Dátum: 2012. május 04. - 14:43:51 »
0 Show voters
Vagy:
 

#include <a_samp>
#include <dini>
public OnPlayerConnect(playerid)
{
    new pname[MAX_PLAYER_NAME];
    new plyname[48];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(plyname, sizeof(plyname), \"A MAPPA AHOVA MENTI A JATEKOSOKAT/%s.ini\",pname);
    if(!dini_Exists(plyname))
    {
        dini_Create(plyname);
        dini_IntSet(plyname, \"score\", 0);
        SetPlayerScore(playerid, dini_Int(plyname, \"score\"));
    }
    else
    {
        SetPlayerScore(playerid, dini_Int(plyname, \"score\"));
    }
    return 1;
}
OnPlayerDisconnect(playerid)
{
dini_IntSet(plyname, \"score\", GetPlayerScore(playerid));
return 1;
}

 
A regisztrációs rendszered mappáját majd írd oda bele..

Score Saver
« Válasz #8 Dátum: 2012. május 06. - 08:36:20 »
0 Show voters
format(query, sizeof(query), \"UPDATE `players` SET `score` = %d WHERE `name` = %s\",GetPlayerScore(playerid),GetName(playerid));
mysql_query(query);
xDD Ez nemjó? :)
Na mostmár komolyra fordítva a szót:
A betöltésnek mennie kéne LAdminból, a kimentést pedig megtutod csinálni teis a killek alapján.

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Score Saver
« Válasz #9 Dátum: 2012. május 06. - 09:02:41 »
0 Show voters
#include < a_samp >
#include < dini   >
new
      iName[ MAX_PLAYER_NAME ],
      File[ 50 ];
public OnPlayerConnect( playerid )
{
   
    GetPlayerName( playerid, iName, MAX_PLAYER_NAME );
   
    format( File, sizeof( File ), \" Score/%s.ini \", iName);
   
    if( !dini_Exists( File ) )
    {
        dini_Create( File );
        dini_IntSet( File, \" Pont \", 0 );
        SetPlayerScore(playerid, dini_Int( File, \" Pont \" ) );
    }
    else return SetPlayerScore( playerid, dini_Int( File, \" Pont \" ) );
    return 1;
}
public OnPlayerDisconnect( playerid )
{
     GetPlayerName( playerid, iName, MAX_PLAYER_NAME );
     format( File, sizeof( File ), \" Score/%s.ini \", iName);
     
     dini_IntSet( File, \" Pont \", GetPlayerScore( playerid ) );
     return 1;
}

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Score Saver
« Válasz #10 Dátum: 2012. május 06. - 09:57:46 »
0 Show voters
Megpróbálom a tiéteket de mostmár szerintem jó :D..

Kovacs_Bela

  • Vendég
Score Saver
« Válasz #11 Dátum: 2012. május 06. - 16:45:36 »
0 Show voters

#include <a_samp>
#include <dini>
new file[128];
stock getn(p)
{
    new n[24];
    GetPlayerName(playerid,n,24);
    return n;
}
public OnPlayerConnect(playerid)
{
    format(file,128,\"%s.sav\",getn(playerid))
    if(!dini_Exists(file))
    {
        SetPlayerScore(playerid, dini_Int(playerid,\"Score\"));
    }
    else dini_Create(file), dini_IntSet(playerid,\"Score\", GetPlayerScore(playerid));
    return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
    format(file,128,\"%s.sav\",getn(playerid))
    dini_IntSet(file,\"Score\",GetPlayerScore(playerid));
    return 1;
}

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Score Saver
« Válasz #12 Dátum: 2012. május 06. - 19:24:11 »
0 Show voters
Idézetet írta: danix99 date=1336315536\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"20949\" data-ipsquote-contentclass=\"forums_Topic


#include <a_samp>
#include <dini>
new file[128];
stock getn(p)
{
    new n[24];
    GetPlayerName(playerid,n,24);
    return n;
}
public OnPlayerConnect(playerid)
{
    format(file,128,\"%s.sav\",getn(playerid))
    if(!dini_Exists(file))
    {
        SetPlayerScore(playerid, dini_Int(playerid,\"Score\"));
    }
    else dini_Create(file), dini_IntSet(playerid,\"Score\", GetPlayerScore(playerid));
    return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
    format(file,128,\"%s.sav\",getn(playerid))
    dini_IntSet(file,\"Score\",GetPlayerScore(playerid));
    return 1;
}

 

A tied hibákat ír ki :S

Score Saver
« Válasz #13 Dátum: 2012. május 06. - 19:36:09 »
0 Show voters
Idézetet írta: BoOy date=1336325051\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"20949\" data-ipsquote-contentclass=\"forums_Topic


 

#include <a_samp>
#include <dini>
new file[128];
stock getn(p)
{
    new n[24];
    GetPlayerName(playerid,n,24);
    return n;
}
public OnPlayerConnect(playerid)
{
    format(file,128,\"%s.sav\",getn(playerid))
    if(!dini_Exists(file))
    {
        SetPlayerScore(playerid, dini_Int(playerid,\"Score\"));
    }
    else dini_Create(file), dini_IntSet(playerid,\"Score\", GetPlayerScore(playerid));
    return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
    format(file,128,\"%s.sav\",getn(playerid))
    dini_IntSet(file,\"Score\",GetPlayerScore(playerid));
    return 1;
}

 

A tied hibákat ír ki :S
 
[/quote]
Mivel hibás..
Egyébként ha már minden játékos statját egyenként menteni akarod, akkor egy mappába kéne rakni, ne egybõl a scriptfiles-ben legyen többezer fájl...
+ a if(!dini_Exists(file)) is keverve van...
A format sor végén pedig nincs pontosvesszõ..
Ráadásul dini_Int -nél mióta kell játékos ID-t lekérni? Arról nem is beszélve hogy a játékosID a fájl helye helyett van megadva...
Ki írta ezt? Nagyon trehány munka már bocs :D
Itt a javított verzió:
 
#include <a_samp>
#include <dini>
new file[128];
stock getn(p)
{
    new n[24];
    GetPlayerName(p,n,24);
    return n;
}
public OnPlayerConnect(playerid)
{
    format(file,128,\"Score/%s.sav\",getn(playerid));
    if(dini_Exists(file))
    {
        SetPlayerScore(playerid, dini_Int(file,\"Score\"));
    }
    else { dini_Create(file); dini_IntSet(file,\"Score\", GetPlayerScore(playerid)); }
    return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
    format(file,128,\"Score/%s.sav\",getn(playerid));
    dini_IntSet(file,\"Score\",GetPlayerScore(playerid));
    return 1;
}

Kovacs_Bela

  • Vendég
Score Saver
« Válasz #14 Dátum: 2012. május 06. - 19:48:14 »
0 Show voters
én bocsi csak öszekaptam XDDDD

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal