Szerző Téma: Szint rendszer  (Megtekintve 1142 alkalommal)

Szint rendszer
« Dátum: 2013. május 25. - 10:09:08 »
0 Show voters
Sziasztok .
Egy stunt szerverre szeretnék egy scriptet és ehhez kéne ez a dolog ..
Nem 1 óra alatt lépjen szintet hanem 1 perc .
A parancsba nem frissül a perc szerintem .
Kerestem timert átírtam de nem jó ..
Próbáltam csinálni vagy 2 órán át de végül ide juttotam, hogy írok .  :Cry2:
Script :
 
//***********************************Level System filterszkript by: Naufal****************************************
//***********************************Fordította: Sheamus***********************************
//*****************************You can edit it but keep the credit***********************************
//***********************************Respect other people\'s work*************************************
#include <a_samp>
#include <dini>
new pname[MAX_PLAYER_NAME];
new hours[256], minutes[256];
new naufalstringxd[512];
forward checklevel();
public OnFilterScriptInit()
{
        print(\"\\n----Attemping Load Level System by Naufal----\");
        print(\"----Level System by Naufal learn from Pasha!---\");
        print(\"------------------Loaded!!--------------------\\n\");
        SetTimer(\"checklevel\",60000,1);
        return 1;
}
public checklevel()
{
        for(new i; i<MAX_PLAYERS; i++)
        {
        if(IsPlayerConnected(i))
        {
        GetPlayerName(i,pname,sizeof(pname));
        format(hours, sizeof(hours), \"%s-óra\", pname);
        format(minutes, sizeof(minutes), \"%s-perc\", pname);
        if(!dini_Isset(\"PLEVELS.txt\",hours) || !dini_Isset(\"PLEVELS.txt\",minutes))
        {
                dini_IntSet(\"PLEVELS.txt\",hours,0);
                dini_IntSet(\"PLEVELS.txt\",minutes,1);
        }
        else
        {
            if(dini_Int(\"PLEVELS.txt\",minutes)<59)
            {
                dini_IntSet(\"PLEVELS.txt\",minutes,dini_Int(\"PLEVELS.txt\",minutes)+1);
                }
                   if(dini_Int(\"PLEVELS.txt\",minutes)>=59)
               {
                dini_IntSet(\"PLEVELS.txt\",hours,dini_Int(\"PLEVELS.txt\",hours)+1);
                dini_IntSet(\"PLEVELS.txt\",minutes,0);
                format(naufalstringxd, sizeof(naufalstringxd), \"Gratulálunk!! {ffffff}%s {00ff00}Szintet léptél, Szinted: {ffcc00}%d !\", pname,dini_Int(\"PLEVELS.txt\",hours));
                SendClientMessageToAll(0xFFCC00,naufalstringxd);
                }
        }
    SetPlayerScore(i,dini_Int(\"PLEVELS.txt\",hours));
        }
        }
        return 1;
}
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid,pname,sizeof(pname));
        format(hours, sizeof(hours), \"%s-hours\", pname);
    SetPlayerScore(playerid,dini_Int(\"PLEVELS.txt\",hours));
        return 1;
}
 
public OnFilterScriptExit()
{
    print(\"\\n----Attemping Unload Level System by Naufal----\");
        print(\"----Level System by Naufal learn from Pasha!---\");
        print(\"----Fordította: Sheamus!---\");
        print(\"-----------------Unloaded!!---------------------\\n\");
        return 1;
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
        if (strcmp(\"/szintlepes\", cmdtext, true, 10) == 0)
        {
                GetPlayerName(playerid,pname,sizeof(pname));
                format(hours, sizeof(hours), \"%s-óra\", pname);
                format(minutes, sizeof(minutes), \"%s-perc\", pname);
            format(naufalstringxd,sizeof(naufalstringxd),\"{ffcc00}Jelenlegi szinted: {00ff00}%d\\n{ffcc00}Idõ, ameddig szintet lépsz: {00ff00}%d {ffcc00}perc.\",dini_Int(\"PLEVELS.txt\",hours),60-dini_Int(\"PLEVELS.txt\",minutes));
                ShowPlayerDialog(playerid, 5678, DIALOG_STYLE_MSGBOX, \"Jelenlegi szint statisztikád\", naufalstringxd, \"Okés\",\"\");
                return 1;
        }
        return 0;
}
//***********************************A Level System by Naufal****************************************
//*********************************** Fordította: Sheamus *****************************************
//*****************************You can edit it but keep the credit***********************************
//***********************************Respect other people\'s work*************************************

 
A teszt modomba felvan tüntetve aki magyarosította és csinálta innen vettem a scriptet! :)
Köszönöm.

Dupla hozzászólás automatikusan összefûzve. ( 2013. május 25. - 17:21:24 )

Valaki? :)
« Utoljára szerkesztve: 2013. május 25. - 17:21:24 írta metaxizje »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Szint rendszer
« Válasz #1 Dátum: 2013. május 25. - 20:11:24 »
0 Show voters
Elméletben mûködik, gyakorlatban pedig próbáld ki!
 

    //***********************************Level System filterszkript by: Naufal****************************************
    //***********************************Fordította: Sheamus***********************************
    //*****************************You can edit it but keep the credit***********************************
    //***********************************Respect other people\'s work*************************************
    #include <a_samp>
    #include <dini>
    new pname[MAX_PLAYER_NAME];
    new hours[256], minutes[256];
    new naufalstringxd[512];
    forward checklevel();
    public OnFilterScriptInit()
    {
            SetTimer(\"checklevel\",60000,1);
           
            return 1;
    }
   
    public OnPlayerConnect(playerid)
    {
            SetPlayerScore(playerid,dini_Int(\"PLEVELS.txt\",minutes));
           
            return 1;
    }
   
    public OnPlayerCommandText(playerid, cmdtext[])
    {
            if (strcmp(\"/szintlepes\", cmdtext, true, 10) == 0)
            {
                    format(naufalstringxd,sizeof(naufalstringxd),\"{ffcc00}Jelenlegi szinted: {00ff00}%d\\n\",dini_Int(\"PLEVELS.txt\",hours));
                    ShowPlayerDialog(playerid, 5678, DIALOG_STYLE_MSGBOX, \"Jelenlegi szint statisztikád\", naufalstringxd, \"Okés\",\"\");
                   
                    return 1;
            }
            return 0;
    }
    public checklevel()
    {
            for(new i; i<MAX_PLAYERS; i++)
            {
            if(IsPlayerConnected(i))
            {
                GetPlayerName(i,pname,sizeof(pname));
           
                         dini_IntSet(\"PLEVELS.txt\",minutes,dini_Int(\"PLEVELS.txt\",minutes)+1);
                 
      format(naufalstringxd, sizeof(naufalstringxd), \"Gratulálunk!! {ffffff}%s {00ff00}Szintet léptél, Szinted: {ffcc00}%d !\", pname,dini_Int(\"PLEVELS.txt\",minutes));
      SendClientMessageToAll(0xFFCC00,naufalstringxd);
           
           SetPlayerScore(i,dini_Int(\"PLEVELS.txt\",hours));
            }
            }
           
            return 1;
    }
   
    //***********************************A Level System by Naufal****************************************
    //*********************************** Fordította: Sheamus *****************************************
    //*****************************You can edit it but keep the credit***********************************
    //***********************************Respect other people\'s work*************************************

Szint rendszer
« Válasz #2 Dátum: 2013. május 25. - 21:39:47 »
0 Show voters
köszönöm de még van benne egy kis apróság! :)
belépsz akkor a pontod : 0 ez jó is de ha szintet lépsz mindig 0 lesz a szinted nem nõ sajnos mindig 1-el .. :/
Nem úgy kell, hogy GetPlayerScore és akkor zárójel SetPlayerScore + 1 vagy valami ilyesmi? :DD

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Szint rendszer
« Válasz #3 Dátum: 2013. május 25. - 22:04:23 »
0 Show voters
   //***********************************Level System filterszkript by: Naufal****************************************
    //***********************************Fordította: Sheamus***********************************
    //*****************************You can edit it but keep the credit***********************************
    //***********************************Respect other people\'s work*************************************
    #include <a_samp>
    #include <dini>
    new pname[MAX_PLAYER_NAME];
    new hours[256], minutes[256];
    new naufalstringxd[512];
    forward checklevel();
    public OnFilterScriptInit()
    {
            SetTimer(\"checklevel\",60000,1);
           
            return 1;
    }
   
    public OnPlayerConnect(playerid)
    {
            SetPlayerScore(playerid,dini_Int(\"PLEVELS.txt\",minutes));
           
            return 1;
    }
   
    public OnPlayerCommandText(playerid, cmdtext[])
    {
            if (strcmp(\"/szintlepes\", cmdtext, true, 10) == 0)
            {
                    format(naufalstringxd,sizeof(naufalstringxd),\"{ffcc00}Jelenlegi szinted: {00ff00}%d\\n\",dini_Int(\"PLEVELS.txt\",hours));
                    ShowPlayerDialog(playerid, 5678, DIALOG_STYLE_MSGBOX, \"Jelenlegi szint statisztikád\", naufalstringxd, \"Okés\",\"\");
                   
                    return 1;
            }
            return 0;
    }
    public checklevel()
    {
            for(new i; i<MAX_PLAYERS; i++)
            {
            if(IsPlayerConnected(i))
            {
                GetPlayerName(i,pname,sizeof(pname));
           
                         dini_IntSet(\"PLEVELS.txt\",minutes,dini_Int(\"PLEVELS.txt\",minutes)+1);
                 
      format(naufalstringxd, sizeof(naufalstringxd), \"Gratulálunk!! {ffffff}%s {00ff00}Szintet léptél, Szinted: {ffcc00}%d !\", pname,dini_Int(\"PLEVELS.txt\",minutes));
      SendClientMessageToAll(0xFFCC00,naufalstringxd);
           
           SetPlayerScore(i,dini_Int(\"PLEVELS.txt\",minutes));
            }
            }
           
            return 1;
    }
   

Szint rendszer
« Válasz #4 Dátum: 2013. május 25. - 22:10:59 »
0 Show voters
cannon köszönöm, hogy segítesz de még mindig nem jó :/
beírja a sendclientmessage-t csak szintet nem ad a timer meg minden jó csak szintet nem ad :/

Szint rendszer
« Válasz #5 Dátum: 2013. május 25. - 22:30:06 »
0 Show voters
Persze, hogy tudok :)
Nagyon szépen köszönöm Cannon  ;)
és ha lehetne akkor leírnád, hogy mi miért van? nem csak ctr!c ctr+v-zni szeretnék hanem megérteni az egész dolgot :)

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Szint rendszer
« Válasz #6 Dátum: 2013. május 26. - 10:49:17 »
0 Show voters
Tesztelve, mûködik! Remélem elég érthetõen leírtam.
 
#include a_samp
#include dini
#define FILE \"level.txt\" // A file, amibe mentjük a szinteket.
forward LevelUp( );
public OnFilterScriptInit( ) SetTimer( \"LevelUp\", 60000, true ); // Amikor a jelen esetben filterscript betölt, elindítunk egy 60 másodperces idõzítõt.
public OnPlayerConnect( playerid )
{
new NAME[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, NAME, sizeof( NAME ) ); // Lekérjük a játékos nevét és eltároljuk.
SetPlayerScore( playerid, dini_Int( FILE, NAME ) ); // Kiolvassuk a FILE-ból azt az értéket, ami a játékos nevéhez van rendelve.
return 1;
}
public LevelUp( )
{
for( new i; i < MAX_PLAYERS; i++ ) // Indítunk egy ciklust, ami lefut a szerver maximum játékosszámán.
{
    if( IsPlayerConnected( i ) ) // Mivel nekünk csak a szerveren tartózkodó játékosok kellenek, csinálunk egy feltételt.
    {
        new NAME[ MAX_PLAYER_NAME ], STRING[128];
        GetPlayerName( i, NAME, sizeof( NAME ) ); // Lekérjük a játékos nevét és eltároljuk.
       
           if( dini_Exists( FILE ) ) dini_IntSet( FILE, NAME, GetPlayerScore( i ) + 1 ); // Beírjuk a FILE-ba a játékos nevéhez az értéket: a játékos jelenlegi pontszáma + egy HA a FILE létezik.
   else dini_Create( FILE ), dini_IntSet( FILE, NAME, GetPlayerScore( i ) + 1 ); // Ha nem létezik a FILE, akkor létrehozzuk és beleírjuk az értéket.
       
       SetPlayerScore( i, GetPlayerScore( i ) + 1 ); // Áttálítjuk a játékos pontszámait úgy, hogy hozzáadunk egyet.
       
       format( STRING, sizeof( STRING ), \"Gratulálunk!! {ffffff}%s {00ff00}Szintet léptél, Szinted: {ffcc00}%d !\", NAME, GetPlayerScore( i ) );
   SendClientMessageToAll( 0xFFCC00, STRING );
    }
}
return 1;
}

Szint rendszer
« Válasz #7 Dátum: 2013. május 26. - 13:52:57 »
0 Show voters
cannon nagyon szépen köszönöm! :))))))
most már csak a pénzt kéne valahogy elmenteni :DDD
Zárom és megoldva! :)
Megy +!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal