Jump to content

Žebříček


Populární obsah

Showing content with the highest reputation since 25.12.2019 in all areas

  1. 2 points
    Ale řekl bych, že stále aktivní
  2. 1 point
    Spravil som si to takto: help = Rules\nSettings\nNavigation\nFAQ\nLevels\nRP points\nJobs\nCompanies\nHouses\nProperties\nGangs\nGang commands\nGang respect\nHotels\nUseful commands\nSafe tradings\nCar Showrooms\nVehicles import/export\nVehicles trading\nGarage\nAnimations\nEvents\nLotteries\nContests\nStands\nMoney\nFuel\nPrison\nLoyalty program\nWeb\nCasino\nGolf\nBilliard\nDetective cases\nDaily quests spawn = Spawn location mark = Players markings hpNum = Health/Armor in numbers Klasicky si to jednoducho čítam cez dof2 stock getLang(playerid,key[]){ new str[500]; switch(PlayerData[playerid][pLanguage]){ case 0: format(str,sizeof(str),DOF2_GetString(language_EN,key)); case 1: strcat(str,DOF2_GetString(language_CZ,key)); case 2: strcat(str,DOF2_GetString(language_SK,key)); } return str; } Tuto narážam na problém. Ak ten string hodím do Dialogu, \n mi to ignoruje a vytvorí mi to jeden nekonečne dlhý riadok. Ako to obísť ? či nie je možnosť riadkovania ?
  3. 1 point
    Jen bych rád řekl, že ta pozice "Laravel vývojář" by se měla jmenovat spíše "Backend vývojář s přesahem do frontend" nebo "Laraval vývojář s přesahem do frontend". Jelikož v požadavcích je znalost frontend frameworku. Je to jen slovíčkaření, ale plno lidí si přečte název pozice a jdou dál.
  4. 1 point
    Hm tak zkus proste misto toho callbacku VehicleFuelUse dat pevnou konstantu, treba 2, aby to kazdy 2s odecitalo 2.0. Pokud to bude spravne, tak pak sem hod modelid toho vozidla at se zamerime na neco konkretnejsiho
  5. 1 point
    Skús zmeniť encoding v editore/súbore, ten istý problém mám so sublime, ale nechce sa mi to riešiť 😂
  6. 1 point
    A nebo proste ulož vše najednou a načítej vše najednou. Nejen, že je to jednodušší ale také máš přehled o všech zbraních, které hráč má uložené v 1 seznamu. Problém je, že kdyby jsi chtěl údaje ukládat po jednom řádku po dvou údajích, tak bys musel načítat soubor několikrát, tak načti všech 26 informací naráz a je to: Úplně nejdřív musíš zjistit všechny zbraně, které má hráč momentálně u sebe. Toho jsi už jak se zdá docílil: new Weapons[13][2]; for (new i = 0; i <= 12; i++) GetPlayerWeaponData(playerid, i, Weapons[i][0], Weapons[i][1]); Poté potřebuješ sepsat VŠECHNY údaje o zbraních a i o munici, které má/nemá u sebe do 1 řádku a všechno zformátuj do jednoho velkého řetězce čísel. A protože používás DOF2, tak následně tenhle řetězec pak vepíšeš do var[] pro následný key[] "Weapons" při ukládání: format (String, sizeof String, "%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i", Weapons[0][0], Weapons[0][1], Weapons[1][0], Weapons[1][1], Weapons[2][0], Weapons[2][1], Weapons[3][0], Weapons[3][1], Weapons[4][0], Weapons[4][1], Weapons[5][0], Weapons[5][1], Weapons[6][0], Weapons[6][1], Weapons[7][0], Weapons[7][1], Weapons[8][0], Weapons[8][1], Weapons[9][0], Weapons[9][1], Weapons[10][0], Weapons[10][1], Weapons[11][0], Weapons[11][1], Weapons[12][0], Weapons[12][1]); DOF2_SetString(Account(playerid), "Weapons", String); DOF2_SaveFile(); Pro načtení pak už jen stačí načíst celý key[] a vložit sscanf() pro porovnání a následné rozdělení: sscanf(DOF2_GetString(Account(playerid), "Weapons"), "iiiiiiiiiiiiiiiiiiiiiiiiii", Weapons[0][0], Weapons[0][1], Weapons[1][0], Weapons[1][1], Weapons[2][0], Weapons[2][1], Weapons[3][0], Weapons[3][1], Weapons[4][0], Weapons[4][1], Weapons[5][0], Weapons[5][1], Weapons[6][0], Weapons[6][1], Weapons[7][0], Weapons[7][1], Weapons[8][0], Weapons[8][1], Weapons[9][0], Weapons[9][1], Weapons[10][0], Weapons[10][1], Weapons[11][0], Weapons[11][1], Weapons[12][0], Weapons[12][1]); A jelikož se ti nechce psát 13 krát fci GivePlayerWeapon(), přidáš si na to cyklus a do něj ještě podmínku aby hráči nedával zbraně, jestliže u toho nemá žádné náboje: for (new i = 0; i <= 12; i++) if (Weapons[i][0] > 0) GivePlayerWeapon(playerid, Weapons[i][0], Weapons[i][1]); How simple is that?
  7. 1 point
    Nebo prostě přidat 3. arg ktery k YCMD patří. Jelikož má pouze 2 tak si myslí, že to je jen nová deklarovaná funkce. Proto taky píše, že nebyla nikde využita. YCMD:test(playerid, params[], help)
  8. 1 point
    V prípadoch ako mute / povolenie použitia príkazu raz za čas je miesto timerov elegantnejšie použitie funkcie gettime (keď ti stačí presnosť na sekundy) alebo GetTickCount (keď potrebuješ presnosť na milisekundy). Ak potrebuješ vyriešiť problém s nepresnými timermi, viem, že na to existujú viaceré includy / pluginy, napríklad plugin timerfix. Bohužiaľ s ním nemám skúsenosti a neviem ti povedať, do akej miery je účinný.
  9. 1 point
    Používaš Include a plugin verze MySQL 39.6. skús najnovšiu verziu MySQL R41-4
  10. 1 point
    Zisti si akú verziu MySQL používal tvorca módu, skús to compilovať s include verzii ktorou je tvorený tento mód. Ak používal pri tvorbe tohoto módu dnes už starú verziu tak aby si to compiloval na novej musíš prerobiť kód módu. Chalani ak sa nemýlim opravte ma
  11. 1 point
    Multi jazyk pre GM Obtížnost: 2/5 Osnova/obsah: 1. Úvod 2. Čo je multi jazyk (multilanguage) a načo sa dá použiť? 3. Vytváranie vlastných funkcií a ich použitie 4. Záver 1. Úvod Tento návod som sa rozhodol vytvoriť, pretože v dnešnej dobe už GM s jedným jazykom nemá veľkú popularitu, a mladší hráči ktorý neovládajú veľmi angličtinu nehrávajú na serveroch písaných po anglicky. Upozorňujem, že tento návod nie je copy + paste. Pre tvorbu svojích funkcií je nutné kódu rozumieť. 2. Čo je multi jazyk a načo sa dá použiť? Multi jazyk je implementácia dvoch a viacerých jazykov do GM. V tomto návode sa Vám posnažím čo najjednoduchšie vysvetliť, ako si vytvoriť svoje funkcie na multijazyčnosť a ako ich použiť. Multijazyčnosť je vhodná pre servery, ktoré plánujú expandovať na zahraničný "trh" a tým rozšíriť svoju klientelu (hráčov). 3. Vytvárania vlastných funkcií a ich použitie Celý systém funguje na princípe #define. Pre pochopenie kódu je nutné poznať: #include, #define, cyklus for, SendClientMessage/ToAll, format(...) V prvom rade, budeme potrebovať definície naších textov (textových reťazcov/stringov). Pre lepší prehľad som ich vložil do zložky INCLUDE s názvom lang_SK.inc a lang_CZ.inc. !!! POZOR !!! Je nutné nastaviť formátovanie textu na ANSI. lang_CZ.inc lang_SK.inc new.pwn
  12. 1 point
    Možná Deus Ex. Ten starší, Invisible War a nebo Snowblind. Tam to má ve velkoměstě, co vím tak taky sbíráš z lockerů a dokonce to začíná podobně.
  13. 1 point
    Na svůj dedikovaný server chceš nainstalovat virtualizaci. Tedy chceš vytvořit 2 VPS na jednom dedikovaném. Takhle to hledej, jinak přesně jak píše Bloodman...
  14. 1 point
    Toto neni VPS. VPS je virtualny server. Na viac IP adries nepotrebujes viac ethernetovych portov. A rozdelovanim myslis pravdepodobne virtualizaciu nad danym HW. Viz. OpenVZ, QEMU, VMWare, VirtualBox, ...
  15. 1 point
    Nevidím žiadne špeciálne úpravy vetšinu PW obsahuje
  16. 1 point
    okay ale i kdyby tak název jste mohli dát jinačí Nebo ten název ti někdo povolil ?
  17. 1 point
    Proc nekdo ztraci cas predelavanim 8 let stare verze gamemodu? Neni lepsi si proste to udelat podle sebe a podle dnesnich zvyklosti a moznosti? Nebo zapnout hru na nejnovejsi verzi ? 😄
  18. 1 point
    DOF2 UKLÁDÁNÍ A NAČÍTÁNÍ, UŽ NIKDY VÍC DINI ***** Nemůžu uvěřit, že i po tak dlouhé době si hodně začátečníků myslí, že se s dini furt nejjednodušeji pracuje, a nechtějí ani dof2, protože buď to podle nich nefunguje a nebo je to moc těžké... Ale to jsou jenom kecy. Ve skutečně rozdíl práce mezi dof2 a dini je asi tak 5%. Ukážu vám, jak na to. Instalace je jednoduchá. Stačí z odkazu http://pastebin.com/TQJGwYyZ zkopírovat obsah do textového souboru a uložit ho nejlépe jako dof2.inc(ta koncovka .inc je tam důležitá). #include <dof2> VYTVOŘIT SOUBOR DOF2_CreateFile(JménoSouboru[], Heslo[] = ""); Parametry: JménoSouboru[] - Jméno souboru, který má vytvořit ve scriptfiles. V případě, že jde o větší cestu, stačí přidávat lomítka. Heslo[] - Vepíše hash string(aka heslo) rovnou do souboru a nemusíme používat fci SetString. V případě, že to nechceme, můžeme ten argument jednoduše vynechat. Ukázka použití: EXISTENCE SOUBORU DOF2_FileExists(JménoSouboru[]); Ukázka použití: public OnGameModeInit() { if (DOF2_FileExists("soubor.txt")) { DOF2_CreateFile("soubor.txt"); } return true; } PŘEJMENOVAT SOUBOR DOF2_RenameFile(JménoSouboru[], NovéJmeno[]); Ukázka použití: DOF2_RenameFile("soubor.txt", "Soubornik.txt"); /* Nyní se soubor ve scriptfiles přejmenuje na Soubornik */ SMAZAT SOUBOR DOF2_RemoveFile(JménoSouboru[]); Ukázka použití: DOF2_RemoveFile("soubor.txt"); /* Zcela smaže soubor.txt ve scriptfiles */ ULOŽENÍ SOUBORU DOF2_SaveFile(); Ukázka použití: public OnGameModeInit() { if (!DOF2_FileExists("soubor.txt")) { DOF2_CreateFile("soubor.txt"); DOF2_SetInt("soubor.txt", "jenomcislo", 666); DOF2_SaveFile(); } return 1; } VEPSAT STRING/TEXT DO SOUBORU DOF2_SetString(JménoSouboru[], Klíč[], String[]); Parametry: Klíč[] - Jde o informaci, pod jakým klíčovým slovem, by se měla ta daná hodnota ukládat. Nejčastěji jde o jedno vystihující slovo. String[] - Údaje, které se vepíšou do souboru(v tomhle případě je hodnota řetězec). Ukázka použití: public OnPlayerConnect(playerid) { new Soubor[40 + 1], Jmeno[MAX_PLAYER_NAME + 1]; GetPlayerName(playerid, Jmeno, sizeof(Jmeno)); GetPlayerName(playerid, Soubor, sizeof(Soubor)); strcat(Soubor, ".txt"); if (!DOF2_FileExists(Soubor)) { DOF2_CreateFile(Soubor); DOF2_SetString(Soubor, "JmenoHrace", Jmeno); /* Nyní se ve souboru uloží údaj: JmenoHrace = SkiBig18 */ DOF2_SaveFile(); } return 1; } ZJISTIT STRING/TEXT ZE SOUBORU DOF2_GetString(JménoSouboru[], Klíč[]); Ukázka použití: new Text[MAX_PLAYER_NAME + 1]; strcat(Text, DOF2_GetString(Nick, "JmenoHrace")); print(Text); /* Vypiše: SkiBig18 */ return 1; } VEPSAT INTEGER/ČÍSLO DO SOUBORU DOF2_SetInt(JménoSouboru[], Klíč[], Číslo); Parametry: Číslo - Údaje, které se vepíšou do souboru(v tomhle případě je hodnota číslo). Ukázka použití: DOF2_SetInt(Nick, "Penize", GetPlayerMoney(playerid)); ZJISTIT INTEGER/ČÍSLO ZE SOUBORU DOF2_GetInt(JménoSouboru[], Klíč[]); Ukázka použití: GivePlayerMoney(playerid, DOF2_GetInt(Nick, "Penize")); VEPSAT BOOLEAN DO SOUBORU DOF2_SetBool(JménoSouboru[], Klíč[], bool:Boolean); Parametry: Boolen - Údaje, které se vepíšou do souboru(v tomhle případě je hodnota boolen). Ukázka použití: DOF2_SetBool(Nick, "IsVip", bIsVip[playerid]); ZJISTIT BOOLEAN ZE SOUBORU DOF2_GetBool(JménoSouboru[], Klíč[]); Ukázka použití: bIsVip[playerid] = DOF2_GetBool(Nick, "IsVip"); VEPSAT FLOAT DO SOUBORU DOF2_SetFloat(JménoSouboru[], Klíč[], Float:FloatHodnota); Parametry: FloatHodnota - Údaje, které se vepíšou do souboru(v tomhle případě jsou hodnoty desetinná čísla). Ukázka použití: new Float: Health; GetPlayerHealth(playerid, Health); DOF2_SetFloat(Nick, "Health", Health); ZJISTIT FLOAT ZE SOUBORU DOF2_GetFloat(JménoSouboru[], Klíč[]); Ukázka použití: SetPlayerHealth(playerid, DOF2_GetFloat(Nick, "Health")); UŽITEČNÉ FUNKCE DOF2 Nyní přichází fce, které dini neobsahuji, a které můžou být někomu užitečné. Jedna z nich je možnost si vytvořit jakousi zálohu i s časem: DOF2_MakeBackup(JménoSouboru[]); Ukázka použití: DOF2_MakeBackup("soubor.txt"); Za další obsahuje hashování textu, ale je to součásti fce, která spolupracuje s DOF2_CreateFile a to přesněji s parametrem Heslo[], které můžete spolu s vytvořením souboru také uložit: DOF2_CheckLogin(JménoSouboru[], Heslo[]); Ukázka použití: if (dialogid == dialog_Login) { if (!response) return 1; if (DOF2_CheckLogin(Nick, inputtext)) { /* Nahrát data */ }else { /* Zadal nesprávné heslo. */ } } Další tu je možnost přejmenovat samotný klíč v souboru, kam se ukládají údaje, kdyby se vám na něm něco nelíbilo: DOF2_RenameKey(JménoSouboru[], JménoKlíče[], NovéJméno[]); Ukázka použití: DOF2_SetInt(Nick, "Penize", GetPlayerMoney(playerid)); DOF2_RenameKey(Nick, "Penize", "Prachy"); DOF2_SaveFile(); UKÁZKA POUŽITÍ DOF2 /* Deklarujeme si 4 nejznámější datové typy: */ new Cislo = 101, Float: DesCislo = 103.3, String[10] = "Ahoj", bool: Boolean = true; public OnFilterScriptInit() { /* Zjistíme, jestli, že neexistuje, jestliže ne, vytvoří nový */ if (!DOF2_FileExists("soubor.txt")) DOF2_CreateFile("soubor.txt"); /* Vepíše integer do souboru: */ DOF2_SetInt("soubor.txt", "Cislo", Cislo); /* Vepíše float do souboru: */ DOF2_SetFloat("soubor.txt", "DesCislo", DesCislo); /* Vepíše string do souboru: */ DOF2_SetString("soubor.txt", "String", String); /* Vepíše boolean do souboru: */ DOF2_SetBool("soubor.txt", "Boolean", Boolean); /* Uloží (uzavře) soubor: */ DOF2_SaveFile(); /* A nyní si můžeme všechny údaje načíst: */ /* Přiřadí k proměnné Cislo zjištěnou hodnotu ze souboru: */ Cislo = DOF2_GetInt("soubor.txt", "Cislo"); /* Přiřadí k proměnné DesCislo zjištěnou hodnotu ze souboru: */ DesCislo = DOF2_GetFloat("soubor.txt", "DesCislo"); /* Přiřadí k proměnné String zjištěnou hodnotu ze souboru: */ strcat(String, DOF2_GetString("soubor.txt", "String")); /* Přiřadí k proměnné Boolean zjištěnou hodnotu ze souboru: */ Boolean = DOF2_GetBool("soubor.txt", "Boolean"); return 1; } A zde je screen, jak se nám uložily údaje do souboru: ROZDÍL PRÁCE MEZI DINI A DOF2 Jak jsem již psal, rozdíl v práci s ním je asi tak 5%. Jestliže mi nevěříte ani po tomto návodu, zde je odkaz na pastebin, kde jsem shrnul ukázky fcí asi 3 nejznáměnších používaných includů na ukládání a načítání: pastebin.com/8MW3kzbF A pokud to stále je málo, tak dokonce i samotný dof2 obsahuje preprocesor, který stačí jen přidat, a můžete pracovat úplně stejně jako s dini: #if defined DINI_CONVERT #define dini_Exists DOF2_FileExists #define dini_Remove DOF2_RemoveFile #define dini_Create DOF2_CreateFile #define dini_Set DOF2_SetString #define dini_Get DOF2_GetString #define dini_IntSet DOF2_SetInt #define dini_Int DOF2_GetInt #define dini_BoolSet DOF2_SetBool #define dini_Bool DOF2_GetBool #define dini_FloatSet DOF2_SetFloat #define dini_Float DOF2_GetFloat #define dini_Unset DOF2_Unset #define dini_Isset DOF2_IsSet #if !defined _dini_included #define _dini_included #endif #endif Ověřený návod Tento návod prešiel validáciou a preto je možné ho považovať za overený.
  19. 0 points
    Uvědomuješ si, že ten topic je z roku 2012?
  20. 0 points
    Bože ludia, prečo máte všetci tendenci kopírovať superparbu ? A ešte k tomu toľko podmienok. Stačí ti jedna premenná inAction[playerid] a hotovo Tie ostatné budeš využívať tam, kde ich naozaj treba. To sa ku každému príkazu budeš pri dorobený nejakej maličkosti budeš vraciať ?
  21. 0 points
    Skvěle, děkuji ti :-) Kdo má stejný problém odkazuji na
  22. 0 points
    Vám všem taky, a to jak se stát moderátorem vím, ale zadarmo to nebude. (Ta rada nebude zadarmo )
  23. 0 points
    Ja by som kašľali na ten mód...treba vlastný ja akurát na novom pracujem. Akurát som dokončil ukladanie...samozrejme to nieje všetko
  24. 0 points
    Dúfam že neprezradíš woodymu ako sa stať moderátorom
  25. 0 points
    Jezení čokolády ve mě spustilo deja vu pocit, mám pocit že to znám.. ale vzpomenout si Budu taky hledat dyžtak
  26. 0 points
    Pekné Paradise world skoro cely samp ma a ešte cely bugnuty
  27. 0 points
    hele myslím že 😄 na tom neměl účast jen ATomas myslím že v tu dobu mu pomáhal učitel ze školy 😄😄 😄


×
×
  • Create New...