Jump to content

Pán Podnikateľ

Uživatel
  • Příspěvků

    151
  • Registrován

  • Aktivní

  • Vítězných dnů

    14

Everything posted by Pán Podnikateľ

  1. Pán Podnikateľ

    pomoc ID

    Ahoj Nie, je to parameter U je pre ID Hráča a Bota. Najlepšia a podla mňa najoptimálnejšia alternatíva je parameter R ktorý je čisto pre hráča.
  2. Tiež som mal s tímto problém. Oprava je veľmi jednoduchá. Nainštaluj Sublime text na iný disk než máš OS. Čiže ak máš OS v disku C tak Sublime Text nainštaluj do D prípadne iného písmena označení disk.
  3. Tam kde si uložíš pwn súbor, tam ti skompiluje aj AMX.
  4. Použi Sublime Text. Všetko tam ide bez problémov a tak tiež sa dá vďaka pluginu pripojiť na github.
  5. Čiže už vieš kde je chyba v každom prípade sa radšej vyspi a potom si to celé prečítaj.
  6. Máš očividne asi zlú cestu k pawn kompilátoru. v kóde si dúfam zmenil "HDD:\\PAWN" na vlastnú. Ja mám napríklad "D:\\Project\\Pawn Compilator"
  7. Očividne áno. Tam nie je toľko rozdielov stačí len čítať návod.
  8. Ano v takom prípade klikni na Settlings - User páč Settling - Default sa nedá editovať.
  9. OBSAH • Obtiažnosť • Predslov • Začíname • Konfigurácia • Tipy a Triky • Záver Obtiažnosť Predslov Vážení čitatelia. Veľa z nás každodenne kompilujeme naše kódy, v rôznych editoroch, ako klasický pawn editor, atom.io a kopa ďalších. Je ich nespočet, ale máloktorý poskytuje užívateľovi príjemné moderné prostredie. Bohužiaľ, ako aj v svete SA:MP SK/CZ komunity, kde všetci vykrádajú nápady iných módov a riadia sa starým istým heslom, „Keď to bolo dobré doteraz bude to aj do budúcna“. Ale bohu žiaľ nie je! Preto, by som vám chcel predstaviť, jeden z najlepších editorov, ktorý sa drží doby a nezaostáva pred jeho konkurenciou. Začíname V prvom rade, je potrebné stiahnuť sublime text editor. Tento editor je samozrejme zadarmo, ale môžte si taktiež priplatiť za premium. Premium stojí okolo 70$, čo je v celku prijateľná cena. Rozdiel medzi platenou a neplatenou verziou, nieje až tak veľký. Hlavne, je rozdielny čo sa tíka updatov. Zatiaľ, čo platené verzie majú častejšie updaty a stabilný editor, tak neplatené majú menej updatov a sú tkv. pokusní zajacovia. Ja osobne, som si editor zakúpil. Tím pádom, môžem mať niečo iné, než je v Free verziách. Download Sublime Text 3 Po stiahnutí prebehne bežná inštalácia, kde si nastavíte, kde chcete nainštalovať Sublime Text a samozrejme, výzva na akceptovanie licencie. Túto časť, by som chcel preskočiť a rovno prejsť, na ďalší bod, páč predpokladám, že nejaké skúsenosti s inštaláciou programov, už ovládate. Konfigurácia Po inštalácií si spustíme náš editor, kde môžme vidieť, základné neupravené prostredie, bez skinov a nastavení. Prvé čo teraz vykonáme, je samotné nastavenie nášho editora, ktoré nám spríjemni naše programovanie a samozrejme, vyrieši niektoré otázky v budúcnosti. Kliknite následovne: Preferences > Setlings Momentálne sa nám otvorilo nové rozdvojené okno, kde máme na ľavej strane default nastavenia a na pravej, naše nastavenie. Default nastavenia môžte zmeniť tak, že do okna nastavenia užívateľa, napíšete daný kód s zmenou. Teraz si nastavíme náš Sublime text. { "Line_padding_bottom": 1, "Line_padding_top": 1, "default_encoding": "Central European (Windows 1250)", "fallback_encoding": "Central European (Windows 1250)", "font_size": 13, "highlight_line": true, "ignored_packages": [ "Vintage" ], } Vysvetlenie 1) Prvé dva riadky, slúžia na zlepšenie čitateľnosti kódu, pridaním 2 pixelov, na každý riadok. "Line_padding_bottom": 1 "Line_padding_top": 1 2) Tu si nastavíme sadu znakov. Respektíve vďaka tomuto, bude bez problémov kompilovať, aj znaky našej krajiny ako "ô, ä ...". "default_encoding": "Central European (Windows 1250)" "fallback_encoding": "Central European (Windows 1250)" 3) Nastavenie veľkosti textu. "font_size": 13 4) V poslednom rade si nastavíme zobrazenie aktuálneho riadku farebne. "highlight_line": true Pawn Konfigurácia - Syntax Konečne sme sa dostali k tomu najpodstatnejšiemu, na čo asi každý čakal a to, konfigurácia, a kompilácia pawn súborov. Ako prvé, budeme potrebovať nejaký PAWN Syntax. Samozrejme že je to teraz na vás, či si ho spravíte sám, ako správny gurmán, alebo si ho môžte stiahnúť. Download Pawn Syntax Teraz, je potrebné stiahnutí, alebo spravení syntax, premiestniť do Sublime zložky v appdata. Napíšte do prieskumníka %appdata% a dajte enter. Teraz nájdite priečinok: Sublime Text 3 > Packages a následovne vytvor priečinok PAWN, a vlož doň stiahnuté súbory. Potom vypnite a zapnite, Sublime Text editor. Následne zadajte cestu: View > Syntax a tu, môžte vidieť náš pawn syntax. Pawn Konfigurácia - Compiler Konečne sme pri konci. Už nám chýba, iba posledná skladanka, pred samotnou kompiláciou, nášho kódu. Kliknite následovné: Tools > Build System > New Build System... Teraz si napíšeme cestu, k nášmu súboru, kde máme stiahnutí pawn compiler. { "cmd": ["pawncc.exe", "$file", "-o$file_path\\\\$file_base_name", "-;+", "-(+", "-d3", "-Z+"], "file_regex": "(.*?)[(]([0-9]*)[)]", "selector": "source.pwn", "working_dir": "HDD:\\PAWN" } Tento kód je od Zeex. V prípade, ak nepoužívate Zeex patch, stačí zmazať definíciu "-Z+". Prípadne pridávam link na stiahnutie. Tak tiež, si nezabudnite zmeniť cestu k pawn kompilátoru "HDD:\\PAWN". Download Zeex Patch Pawn Následne už stačí uložiť a môžme skúsiť kompiláciu kódu. Následne, ak ste robili všetko podľa návodu, malo by vám skompilovať, váš pawn súbor. Ako ste sami mohli vidieť, nie je to nič zložité a dokáže to úplne každý. Tipy a Triky Ako aj ostatné editory, tak aj Sublime Text, má svoje tkv. futurovky, ktorými je originálne. Zopár takých futuroviek vám tu predstavím, prípadne ešte časom pridám. 1) Sublime Text 3 po kompilácií ak vypíše chybu môžte sa k danej chybe dostať dvojklikom prípadne bude zobrazená daná chyba pod kódom. 2) V prípade ak potrebujete rad čísel a omrzelo vás manuálne písanie použite CTRL + Ľ. SHIFT + R 3) Rýchle zarovnanie textu? žiaden problém stači nainštalovať Alignemt plugin a následná kombinácia kláves CTRL + ALT + A Záver Ako ste mohli vidieť, ovládanie Sublime Textu a samotné presmerovanie, je úplne jednoduché, a dokáže to každý. Dúfam, že niekomu môj návod pomohol, prípadne inšpiroval, zmeniť depresívny kompilátor, za niečo moderné a svieže. Ak sa vám návod páčil, dajte palec hore, prípadne kritiku.
  10. nie je problém pred týždňom som aj tak nad tím uvažoval páč ten klasický pawn editor je dosť morbídni.
  11. Ak chceš môžem spraviť návod na Sublime Text 3
  12. Písal som o probléme už administrátorovi Ewwe ešte v deň nefunkčnosti. Myslel som že to už vyriešil. V každom prípade ako to tak vidím tak to budem celé musieť prehodiť na môj GitHub.
  13. Dobrý večer. Nedá mi nezareagovať na tvoju tému. MySQL plugin pre Linux server má dvoje pluginy a to static_mysql.so a mysql.so. Aký je rozdiel? Ak máš OS x64 musíš použiť 64bit plugin čiže static_mysql.so ak máš OS x86 musíš použiť 32bit plugin čiže mysql.so Tak tiež ak nemáš databázu na lokálnom serveri ale na vzdialenom musíš dať smerovaciu IP naň.
  14. Ewíku ten návrh na svätú inkvizíciu ale stále platí. Mohli by sme dať nábor aj s vEndom
  15. Ahoj. Nedá mi nezareagovať na tvoju tému. No to je všetko síce milé o čo sa snaží OSA ale má to pár háčikov. 1. Vážne sa zmienili o tom že sa legalizuje pre danú pamäťovú kartu alebo iné pamäťové uložisko ukladanie stiahnutého plateného súboru? 2. Peniaze ktoré sme zaplatili danej spoločnosti zaplatí hudobných interpretov... alebo je to ďalší skvelí ofajč na ľudí pričom sa chcú obohatiť na už tak chudobných ľudí? 3. Ak platí bod jedna môže človek ktorý má napríklad predplatených daných 16 GB stiahnuť viac stále legálne? Mne osobne to príde ako ofajč na ľudí pričom sa chce niekto zas obohatiť na úkor druhých ľudí či už autorov diel ako hudba, filmy... tak aj nás ktorý si predplatíme danú pamäť. Myslím si že by sme sa mali konečne prestať s prepáčením za výraz ojebávať takýmito prijebanímy korporáciami kde je moto " Ak ja neojebem teba, tak ty mňa ". ps. Ospravedlňujem sa za môj vulgarizmu ale za chvíľku budeme platiť aj za to že dýchame.
  16. Ahoj Ako vidím Dof2 sa ti nejak zapáčil. To je chvályhodné. Skrypt je samozrejme v poriadku čo som tak na rýchlo prelistoval len my do očí skočil ten timer a tu by som ti chcel odporúčal použiť Unix Time Stamp.
  17. Pomôž si pluginom http://forum.sa-mp.com/showthread.php?t=428066
  18. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == D_MENU){ if(response){ switch(listitem){ case 0: if(GetPlayerWantedLevel(playerid) == 1){ SendClientMessage(playerid, 0x00FF00FF, "Bol vy zbavený Wanted Levelu. -1000$."); SetPlayerWantedLevel(playerid,0); GivePlayerMoney(playerid,-1000); } case 1: if(GetPlayerWantedLevel(playerid) == 2) { SendClientMessage(playerid, 0x00FF00FF, "Bol vy zbavený Wanted Levelu. -2100$."); SetPlayerWantedLevel(playerid,0); GivePlayerMoney(playerid,-2100); } case 2: if(GetPlayerWantedLevel(playerid) == 3) { SendClientMessage(playerid, 0x00FF00FF, "Bol vy zbavený Wanted Levelu. -3200$."); SetPlayerWantedLevel(playerid,0); GivePlayerMoney(playerid,-3200); } case 3: if(GetPlayerWantedLevel(playerid) == 4) { SendClientMessage(playerid, 0x00FF00FF, "Bol vy zbavený Wanted Levelu. -4300$."); SetPlayerWantedLevel(playerid,0); GivePlayerMoney(playerid,-4300); } case 4: if(GetPlayerWantedLevel(playerid) == 5) { SendClientMessage(playerid, 0x00FF00FF, "Bol vy zbavený Wanted Levelu. -5400$."); SetPlayerWantedLevel(playerid,0); GivePlayerMoney(playerid,-5400); } case 5: if(GetPlayerWantedLevel(playerid) == 6) { SendClientMessage(playerid, 0x00FF00FF, "Bol vy zbavený Wanted Levelu. -6500$."); SetPlayerWantedLevel(playerid,0); GivePlayerMoney(playerid,-6500); } } } return 1; } return 0; }
  19. Vážený užívateľ. Ďakujem vám za upozornenie na chybu. Chyba bude v najlbižšiom čase opravená. S pozdravom CMatus.
  20. Ou ha zle som to potom pochopil. Hneď to opravím. Ďakujem za pomoc.
  21. OBSAH Obtiažnosť Predslov Úvod Obsah Záver Funkční pouze do verze 39 Tento návod je aktuální pouze do verze 39. Na aktualizaci návodu se pracuje. Obtiažnosť Predslov Vážení čitatelia. Už dlhšie som si všímam, ako sa všetci neustále delíte, na viac táborov, a pritom, máte celý čas, ten vysnení, ukladací systém, podnosom. V konečnom dôsledku, aj chápem, prečo málo kto skočí, po MySQL databáze. Jednak, sa musíte učiť nový jazyk, SQL, a na stránke druhej, nikto nenapísal, žiadny komplexný návod. Samozrejme, že niekto môže podotknúť „Ale v roku 2011 napísal jeden mladí junák ...“ áno, máte pravdu, niečo podobné návodu, na MySQL ukladací systém, som tu videl, ale za ten čas, sa toho veľa zmenilo. Neskôr to zistí, aj náš miestni spochybňovač. Úvod Tak, ak si prežil môj predslov, môžeme pokračovať ďalej, v návode. Ako prvé, budete potrebovať prístup, k vašej databáze. Ja osobne, používam na tvorbu tabuliek, phpMyAdmin. Ak ste skúsenejší, môžete to robiť aj manuálne, cez konzolu. Ďalej budete potrebovať MySQL plugin, a includ. Všetko potrebné, samozrejme prikladám, na konci tohto návodu, spolu, s návodom, na jazyk SQL. Jazyk SQL, budete potrebovať, pri rozsiahlom využití, pluginu. Tiež chcem podotknúť, že tento návod, počíta že ovládate jednotlivé datatypy, a samotný jazyk SQL. Príprava Ak ovládate phpMyAdmin prosím prejdite na ďalší bod. V príprave, vás naučím, ako vytvoriť databázu, a samotnú tabuľku, ktorá bude slúžiť, na ukladanie, a čítanie vašich dát. Samotní systém, sa bude skladať z atribútov, ktoré, budú mať v sebe isté informácie. Ako napríklad Meno hráča. Tak tiež, jeden z atribútov, musí byť kľúč, teda atribút, ktorý, je nemenný. V tomto návode, to bude, naša vytvorená, premenná “ID“. Po prihlásení do systému môžte vidieť následovné menu. Kde kliknete v hornej lište na ikonku databázy. Po kliknutí, sa nám zobrazí žiadosť, na vytvorenie databázy. Do prázdnej kolonky, napíšeme “Database“. Tím pádom, sa bude naša databáza, volať Database. Potom, kliknite na “vytvoriť“. Teraz, sa nám vytvorila naša databáza. Ďalší krok, bude vytvoriť tabuľku, a následne do nej vložiť naše atribúty. Pre editáciu databázy, musíte kliknúť na ikonku, v ľavej lište, s názvom našej databázy, ktorú sme vytvorili “Database“. Následne, sa nám zobrazí menu, na vytvorenie spomínanej tabuľky. Do prázdnej kolonky, napíšeme názov našej tabuľky, s ktorou budeme neskôr pracovať. My si tam napíšeme “account“. Vedľa našej “account“ kolonky, máme ešte tzv. “počet polí“. Počet polí, značí, že koľko atribútov, budeme používať. My osobne, budeme ukladať, 12 atribútov. Tím pádom, si zmeňte default 4, na 12. Následne, kliknite na “vykonaj“. Naša tabuľka, je teraz vytvorená. Teraz stačí, do nej vložiť, naše atribúty. V tomto kroku, nesmieme zabudnúť, na funkciu A_I. Vďaka tejto funkcií sa za každým novým záznamom pripočíta hodnota od poslednej hodnoty. Gratulujem. Vaša databáza s tabuľkami, je vytvorená. Sami musíte uznať, že to nebolo nič ťažké. Dúfam, že sa rovnako tešíte aj na ďalší krok. Obsah Vítam vás, v ďalšom bode, kde vás naučím, ako vytvoriť jednoduchú registráciu, pomocou MySQL pluginu. Opäť, vás chcem informovať, že bude potrebné, vedieť aspoň základy jazyka SQL! Ak, tieto znalosti nemáte, prosím prejdite, na bod, Záver. Špecifikácia Ako aj iné pluginy, ako SSCANF 2, používa aj MySQL plugin, isté špecifikácie na používanie. Špecifikátor Meno e dostanete reťazec naraz. Nemusíte používať, mysql_real_escape_string(). s String q Rovnaké ako %s. Pridané v SA:MP 0.3.7 R2 d | i Integer f Float x Hex b Binar Ako prvé, je potrebné, si stiahnuť plugin, aj s includom. Ten môžte stiahnuť, rolovaním stránky, na bod záver, kde sú jednotlivé linky na download, alebo učebný materiál SQL. Po pridaní includu, si otvoríme editor, do ktorého si napíšeme, následovné kód. #include <a_samp> #include <a_mysql> #define MYSQL_DB "Your_Database" #define MYSQL_USER "Name" #define MYSQL_PASS "Pass" #define MYSQL_HOST "IP" #define D_REG 0 #define D_LOG 1 native WP_Hash(buffer[], len, const str[]); Definície Najprv sme si zapísali použité include s ktorými budeme pracovať a to “<a_samp>“ a “<a_mysql>“. Potom sme vytvorili definície ktoré nám poslúžia ako skratka. #define MYSQL_DB - Meno databázy. #define MYSQL_USER - Meno užívateľa phpMyAdmin. #define MYSQL_PASS - Heslo užívateľa do phpMyAdmin. #define MYSQL_HOST - IP Serveru. Ak máte MySQL databázu, u seba na VPS, na ktorom vám beží aj server, použite local host ip “[/size]127.0.0.1“.[/size] #define D_REG - Dialog ID Registrácie #define D_LOG - Dialog ID Prihlásenia O hash hesla sa bude starať ďalší plugin ktorý by mal byť najbezpečnejší a to Whirlpool. native WP_Hash(buffer[], len, const str[]); // MySQL new MySQL; // REGISTER VARIABLE new ID [MAX_PLAYERS], Skin [MAX_PLAYERS], Kill [MAX_PLAYERS], Death [MAX_PLAYERS], Admin [MAX_PLAYERS], Wanted [MAX_PLAYERS], Password [MAX_PLAYERS], Float: PosX [MAX_PLAYERS], Float: PosY [MAX_PLAYERS], Float: PosZ [MAX_PLAYERS], Float: PosR [MAX_PLAYERS]; // CONTROL VARIABLE new C_Login [MAX_PLAYERS]; Premenné Teraz sme si vytvorili premenné. s ktorými budeme ďalej pracovať. MySQL - slúži na rozpoznávanie databáze, a celkovo nám bude udržiavať, dátové pripojenie. C_Login - Táto premenná, slúži na kontrolu, aby nám ukladanie nerobilo problémy, v prípade prihlásenia, a rázneho odhlásenia. forward OnAccountLoad(playerid); forward OnAccountCheck(playerid); forward OnAccountRegister(playerid); Forward Teraz sme si vytvorili forwardy na naše public. public OnGameModeInit(){ mysql_log(LOG_ERROR); MySQL = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS); if(mysql_errno() != 0) printf("[MySQL] Connect is not succesfull!"); else printf("[MySQL] Connect is succesfull!"); return true; } OnGameModeInit mysql_log(LOG_ERROR); - Vďaka tejto funkcií, sa nam vytvorí, v prípade nejakej chyby, MySQL log, do ktorej sa daná chyba zapíše. MySQL = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS); - tu sa jedná o samotné pripojenie na MySQL server. v prípade, ak máte iný port, na MySQL databázu ako je bežné, je potrebné za MYSQL_PASS dopísať váš port. if(mysql_errno() != 0) - slúži na informáciu o úspešnom alebo neúspešnom pripojení. public OnPlayerConnect(playerid){ C_Login [playerid] = Kill [playerid] = Death [playerid] = Admin [playerid] = Wanted [playerid] = 0; new string[128]; mysql_format(MySQL, string, sizeof(string), "SELECT `Password`, `ID` FROM `account` WHERE `UserName` = '%e' LIMIT 1", PlayerName(playerid)); mysql_tquery(MySQL, string, "OnAccountCheck", "i", playerid); return true; } OnPlayerConnect V tomto public, nulujeme naše premenné, a následne deklarujeme naše dôležitejšie premenné. Tieto premenné sa budú používať v callback “OnAccountCheck“. public OnPlayerDisconnect(playerid, reason){ if(C_Login[playerid]){ new string[255]; GetPlayerPos(playerid, PosX[playerid],PosY[playerid],PosZ[playerid]); mysql_format(MySQL, string, sizeof(string), "UPDATE `account` SET `Wanted` = %d, `Skin` = %d, `Kill` = %d,\ `Death` = %d,`Admin` = %d, `PosX` = %f, `PosY` = %f, `PosZ` = %f, `PosR` = %f WHERE `ID` = %d", Wanted[playerid],Skin[playerid],Kill[playerid],Death[playerid], Admin[playerid],PosX[playerid],PosY[playerid],PosZ[playerid],PosR[playerid],ID[playerid]); mysql_tquery(MySQL, string, "", ""); } return true; } OnPlayerDisconnect V tomto public, ukladáme, naše premenné. Najprv si deklarujeme naše premenné, a potom aktualizujeme našu databázu, s novo získanímy údajamy. V podstate to môže pripomínať ukladanie v file.inc. public OnPlayerRequestSpawn(playerid){ if(C_Login[playerid]){ SpawnPlayer (playerid); SetPlayerSkin (playerid, Skin[playerid]); SetPlayerPos (playerid, PosX[playerid],PosY[playerid],PosZ[playerid]); SetPlayerFacingAngle(playerid, PosR[playerid]); } return false; } OnPlayerRequestSpawn Tu, nám kontroluje premenná C_Login[playerid], či je true, a ak áno, spawne nás na súradnice ktoré buď máme uložené, alebo po registrácií priradené. Tak tiež, nám nahrá uložení skin. public OnPlayerDeath(playerid, killerid, reason){ if(killerid != INVALID_PLAYER_ID){ Kill [killerid]++; Death [playerid]++; Wanted[killerid]++; } return true; } OnPlayerDeath V prípade, ak bol hráč zabití, pridá mu do premennej Death + 1, a hráčovi ktorý ho zabil, Kill + 1 a Wanted + 1. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ switch(dialogid){ case D_REG:{ if(response){ if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Registration", "Please type your password. The range of password is 4 - 19.", "confirm", "close"); new string[500]; WP_Hash(Password[playerid], 129, inputtext); mysql_format(MySQL, string, sizeof(string), "INSERT INTO `account` (`UserName`, `Password`) VALUES ('%e', '%e')", PlayerName(playerid), Password[playerid]); mysql_tquery(MySQL, string, "OnAccountRegister", "i", playerid); C_Login[playerid] = 1; } else Kick(playerid); } case D_LOG:{ if(response){ new string [225], hashpass[129]; WP_Hash(hashpass, sizeof(hashpass), inputtext); if(!strcmp(hashpass, Password[playerid])){ mysql_format(MySQL, string, sizeof(string), "SELECT * FROM `account` WHERE `UserName` = '%e' LIMIT 1", PlayerName(playerid)); mysql_tquery(MySQL, string, "OnAccountLoad", "i", playerid); C_Login[playerid] = 1; } else ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Login", "Please enter your password with which you registered on the server.", "confirm", "close"); } else Kick(playerid); } } return true; } OnDialogResponse Ako môžme vidieť máme tu dvoje dialógy ktoré sú switchované a to login a register. Register if(strlen(inputtext) < 4) - Ak je string menší ako 4, hráčovi znovu načitá dialóg. WP_Hash(Password[playerid], 129, inputtext); - Whirlpool plugin nám zahashuje heslo. Následne uložíme a voláme callback “OnAccountCheck“ Login WP_Hash(hashpass, sizeof(hashpass), inputtext); - Hashujeme inputtext. if(!strcmp(hashpass, Password[playerid])) - Porovnanie uloženého hesla a inputtextu. Na koniec voláme public z ktorého sa nám nahrajú údaje. public OnAccountCheck(playerid){ new rows, fields; cache_get_data(rows, fields, MySQL); if(rows){ cache_get_field_content(0, "Password", Password[playerid], MySQL, 129); ID[playerid] = cache_get_field_content_int(0, "ID"); ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Login", "Please enter your password with which you registered on the server.", "confirm", "close"); } else ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Registration", "Please type your password. The range of password is 4 - 19.", "confirm", "close"); return true; } OnAccountCheck Vytvorili sme si dve premenné, do ktorých, sa uložia parametre, z predošlého public OnPlayerConnect(playerid). Ak premenná rows nebude nula, tak načíta hodnotu password, a priradí ju k premennej password[playerid], potom priradí aj hodnotu ID[playerid]. A podla tejto hodnoty premennej rows, sa rozhoduje ktorý dialog spustí. public OnAccountLoad(playerid){ Wanted [playerid] = cache_get_field_content_int (0, "Wanted"); Skin [playerid] = cache_get_field_content_int (0, "Skin" ); Kill [playerid] = cache_get_field_content_int (0, "Kill" ); Death [playerid] = cache_get_field_content_int (0, "Death" ); Admin [playerid] = cache_get_field_content_int (0, "Admin" ); PosX [playerid] = cache_get_field_content_float(0, "PosX" ); PosY [playerid] = cache_get_field_content_float(0, "PosY" ); PosZ [playerid] = cache_get_field_content_float(0, "PosZ" ); PosR [playerid] = cache_get_field_content_float(0, "PosR" ); return true; } OnAccountLoad - Tento public, slúži, na nahratie hráčových údajov. Dosť podobné, INI systémom. public OnAccountRegister(playerid){ ID [playerid] = cache_insert_id(); PosX [playerid] = 1682.7249; PosY [playerid] = 1451.3008; PosZ [playerid] = 10.7719; printf("[Registration] New account registered. Database ID: [%d]",ID[playerid]); return true; } OnAccountRegister Toto spätné volanie, sa vyvolá po úspešnej registrácií, kde priradí, hráčovi default premenné, plus statický ID identifikátor. stock PlayerName(playerid){ new name[MAX_PLAYER_NAME+1]; GetPlayerName(playerid, name, sizeof(name)); return name; } PlayerName Nakoniec starý známy stock. Záver Ako vidíte sami nie je to nič zložité. Jedná sa o veľmi skvelí ukladací systém ktorý vám odporúčam ako náhradu za všetky INI systémy. Celý tento návod je len zlomok toho čo daný plugin umožňuje. Dúfam, že vám môj návod pomohol. Download MySQL & Whirlpool Download Code & SQL Learn SQL Ověřený návod Tento návod prošel validací, a lze ho proto považovat za ověřený.
  22. Dobrý večer. Nedá mi nezareagovať na túto tému. Vážení užívateľ. To čo hladáte je sofistikovaný návod na ukladanie. Takýchto návodou tu máme nespočet či už v Slovenskom alebo českom jazyku. Prípadne si môžte svoje naučené dovednosti vyskúšať aj na hotových prácach našich užívateľov. Odkážem vám pár stránok s návodmi a s nejakou prácou. Návody: Dof2 http://pawno.cz/topic/53489-pr%C3%A1ce-s-dof2-dini-u%C5%BE-nikdy-v%C3%ADc/ File.inc http://pawno.cz/topic/49283-pr%C3%A1ca-so-s%C3%BAbormi/?hl=dini DINI http://pawno.cz/topic/32922-tut-pracujeme-s-dini/?hl=dini Práca: MySQL, File.inc https://github.com/ITCMatus/Save-System
×
×
  • Create New...