-
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? :)
-
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*************************************
-
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
-
//***********************************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;
}
-
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 :/
-
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 :)
-
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;
}
-
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 +!