Jump to content

Search the Community

Showing results for tags 'statistiky'.

  • Search By Tags

    Oddělujte čárkami
  • Search By Author

Content Type


Fórum

  • Obecné
    • Všeobecné
    • Všechno možné
  • Programování
    • Poradna
    • Návody
    • Tvorba
    • Hledám programátora
  • Herní oblast
    • Poradna
    • Jak na to?
    • Herní kontext
    • Herní zážitky
    • Komunita
  • Grafika
    • Poradna
    • Návody
    • Tvorba
  • Ostatní
    • Hardware a software
    • Hledám/nabízím
    • Archiv
    • 3D Tisk

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Web


Facebook


Jabber


Skype


Steam


Twitter


Github


Pastebin

Found 1 result

  1. Statistics v1.0.1 Úvod: Napsal jsem jednoduchou knihovnu pro zavedení statistik do hry. Je to psané pro širokou škálu lidí, takže jsem v tvorbě koukal na univerzálnost. Pro využití je zapotřebí pouze jednoho SQLite souboru ve složce scriptfiles, který si include sám vytvoří, jakmile bude použit. Hráči je přiřazováno unikátní ID, které slouží pro zavedení statistik. Toto ID je generováno na herní přezdívku. Nebudu protahovat a tady uvedu jednoduché příklady implementace: Implementace: nahoru do .pwn #include <stats> do OnGameModeInit() případně OnFilterScriptInit() uvedeme následující: statsInit("stats.sqlite"); statsBeginTransaction(); // Začne transakci - vykoná všechny query najednou. V tomto případě registraci všech názvů statistik. SetStatName(1, "Připojení"); SetStatName(2, "Nastoupení do vozu"); SetStatName(3, "nejvyšší rychlost"); statsCommit(); // Ukončení transakce a potvrzení. Jedná se o inicializaci, takže by se měla dodržet konvence o "very first", tedy jako první pokud možno. Poté je potřeba ošetřit zavření databáze. To učiníme v OnGameModeExit() případně OnFilterScriptExit() .. statsExit(); Pak už se dá jen jednoduše pracovat. Include využívá hojně PlayerVariables a to s prefixem stats_. Do těchto proměnných si ukládá Cache. Cache slouží k tomu, aby se redukovali co nejvíce režijní náklady na databázi. Soubor funkcí: Funkce, které include obsahuje: native queryLog(bool:state); // slouží k printu dotazů na databázi do server_log.log native statsInit(name[]); // inicializace statistik native statsExit(); // odhlášení od statistik native GetStatName(statid); // returns string[] native SetStatName(statid, name[]); // returns true/false native IsPlayerUniqueStatsIDAssigned(playerid); // returns true/false native AssignPlayerUniqueStatsID(playerid); // returns (int)uniqueID native GetPlayerUniqueStatsID(playerid); // returns (int)uniqueID native SetPlayerIntegerStat(playerid, statid, value); //returns true/false native GetPlayerIntegerStat(playerid, statid); //returns (int)value native SetPlayerFloatStat(playerid, statid, Float:value); //returns true/false native Float:GetPlayerFloatStat(playerid, statid); //returns (float)value Využití: Ukázka z práce tímto includem může být následující: public OnPlayerConnect(playerid){ AssignPlayerUniqueStatsID(playerid); // Zajistíme unikátní ID pro statistiky hráči. new connections = GetPlayerIntegerStat(playerid, 1); // Zjistíme hodnotu statistiky. SetPlayerIntegerStat(playerid, 1, connections+1); // Nastavíme novou hodnotu } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { new enters = GetPlayerIntegerStat(playerid, 2); // Zjistíme hodnotu statistiky. SetPlayerIntegerStat(playerid, 2, enters+1); // Nastavíme novou hodnotu return 1; } public OnPlayerUpdate(playerid) { if(IsPlayerInAnyVehicle(playerid)) { new vehicleid = GetPlayerVehicleID(playerid); new Float:currentspeed = GetVehicleSpeed(vehicleid); new Float:maxspeed = GetPlayerFloatStat(playerid, 3); if(currentspeed>maxspeed) SetPlayerFloatStat(playerid, 3, currentspeed); } } https://github.com/Xchos/samp V případě chyb mne prosím kontaktujte pomocí emailu uvedeném v souboru stats.inc a já se je pokusím odstranit. Případné dotazy můžete také pokládat přímo do emailu. Poprosím všechny, co se tuto knihovnu rozhodnou využít aby mě zanechali jako autora tohoto scriptu. Děkuji!
×
×
  • Create New...