Jump to content

Search the Community

Showing results for tags 'easy'.

  • 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 8 results

  1. JUST GANG SYSTEM v0.1BETA Nejobsáhlejší a nejmodernější gangsystem... JEDNODUCHÝ A PŘEHLEDNÝ EDITOR OBSÁHLÝ SEZNAM MOŽNOSTÍ PRO HRÁČE V GANGU PŘEHLEDNÉ STATISTIKY HRÁČE V GANGU PŘEHLEDNÝ A JEDNODUCHÝ OBCHOD S VOZIDLY DO GANGU PŘEHLEDNÝ SEZNAM VOZIDEL GANGU UKÁZKA JAK ONLINE ČLENŮ GANGU TAK I OFFLINE ČLENŮ GANGU UŽITEČNÝ A PŘEHLEDNÝ SEZNAM VŠECH GANGŮ NA SERVERU MOŽNOST ZMĚNIT RANK I S HEX KÓDY PŘEHLEDNÝ SEZNAM ZBRANÍ GANGU STEJNĚ JAKO JEJICH KOUPĚ A ZMĚNA MOŽNOST ZMĚNIT GANG SÍDLO VYPISOVÁNÍ TAG GANGU DO CHATU NĚKOLIK INFORMACÍ O SCRIPTU Gangy se přidávají in-game pomocí editoru. GS podporuje i možnost vytvářet gangy pro více administrátorů. Jakmile někdo otevře editor, zjistí volné gangid a pro dalšího administrátora zjistí jiné volné id a zůstává "využívané", dokud administrátor gang nevytvoří a nebo neodejde. Po vytvoření gangu v editoru se ukládá a vytváří(načítá) i po zapnutí serveru. V editoru musí administrátor přidat jméno gangu, tag, majitele a pozici. Cena, kasa a respekt lze mít na 0. Pozice v editoru se přidává způsobem, že zjistí aktuální pozici admina. Lze přidat i defaultního majitele aka Město, zapomocí mínusu. Ale pozor: Lze přidat majitele gangu(jméno hráče), ale zároveň dát gang na prodej! Gangy se ukládájí a načítájí zapomocí jejich id, nikoliv jejich jmén. Editor se u daného hráče uchovává dokud gang nevytvoří nebo neopustí server. Většina titulů v dialogu začíná nebo obsahuje jméno gangu, u kterého hráč momentálně je. Nelze přidat gang s jménem, který už existuje. Stejně jako u majitele, jestliže vlastní už nějaký gang. GS obsahuje 4 hodnoty pro každého člena a to Nováček, Člen, Zástupce a Vůdce. Do jednoho gangu lze pozvat pouze 1 hráče, dokud pozvání nepřijme nebo neodejde. Vůdce/Zástupce může upravovat údaje i offline členovi. Maximální možný počet peněz, které lze mít v gangu je 999 999 999$. V případě přesáhnutí se opět vrátí na totu hodnotu. Maximální možný počet respektu, úmrtí a zabití je 9999. V případě přesáhnutí se opět vrátí na tuto hodnotu. Do každého gangu lze zakoupit maximálně 10 vozidel. Každé vozidlo se přidává po zadání příkazu /gvehicle tak, že zjistí jeho pozici po zadání /gva. Jestliže vůdce/zástupce během přidávání vozidlo opustí, bude zničeno. Vozidlo lze pouze začit přidávat na pickupu gangu, a hráč má omezenou pozici na přidání. Lze zakoupit do gangu pouze určitě modely vozidel. GS obsahuje 5 základných kategorií aka slotů pro zbraně, a to Chladné zbraně, pistole, brokovnice, samopaly a těžké zbraně. Po založení gangu, gang nemá žádné zbraně. V obchodě se zakupují zbraně cenou za náboj. Maximální možný počet počet nábojů u každé zbraně v gangu je 99999. Každý člen gangu po spawnu obdrží učité zbraně a náboje. Pokud dojdou, člen dostane poslední zásoby. Respekt lze získat, ale i ztratit ze zabíjení s jinými členy gangů. Gang lze opustit jedině vyhozením z gangu. Až na vůdce. Nelze změnit výplatu Nováčkům a Vůdci. Takže jí vůdce ani nemůže vybrat. a mnohem více... OHLEDNĚ UKLÁDÁNÍ ÚDAJŮ scriptfiles/Gangy/ {id_gangu}.dat - veškeré informace ohledně gangu. {id_gangu}Members.dat- seznam všech členů v daném gangu. Užitečné kvůli jménům offline hráčů. scriptfiles/Gangy/Hraci/{jméno_hráče}.dat - standartní údaje hráče(jestli je v gangu, id gangu, údaje a tak dále). scriptfiles/Gangy/Zbrane/{id_gangu}.dat - seznam zbraní a jejich počet nábojů. scriptfiles/Gangy/Vozidla/{id_gangu}_{slot_id}.dat - informace o daném vozidle(pozice, model, gang a tak dále). SEZNAM PŘÍKAZŮ /gmenu Menu pro rcon administrátora. Zahrnuje vytvoření gangu a smazání gangu /gang Základní příkaz pro všechny hráče a členy gangů. Otevře dialog s možnostmi u daného pickupu gangu. Hráč samozřejmě musí být poblíž. /gangs Seznam gangů pro rcon administrátora. /ginvite Pozve hráče do vašeho gangu. /gyes Přijmout pozvání do gangu. /gno Odmítnout pozvání do gangu. /grleft Opustit gang sídlo. DALŠÍ INFORMACE A MOŽNOSTI ÚPRAVA GANG ÚDAJŮ Ukázka uložených údajů: 1 0 0 0 0 0 3000 5766000 3 3000 1000 0 0 2206.63 1231.45 10.82 GuS Scydo GangUSilnice 1 - Existence gangu. 0 - Gang id. 0 - Zda je gang na prodej. 0 - Cena gangu při prodeji. 0 - Počet zabití v gangu. 0 - Počet úmrtí v gangu. 3000 - Respekt gangu. 5766000 - Kasa gangu. 3 - Počet členů. 3000 - Výplata člena. 1000 - Výplata zástupce. 0 - ID interióru. 0 - Zda je majitelem Město. 2206.63 - X pozice pickupu. 1231.45 - Y pozice pickupu. 10.82 - Z pozice pickupu. GuS - Tag gangu. Scydo - Jméno vůdce gangu. GangUSilnice - Jméno gangu. ÚPRAVA ÚDAJŮ DANÉHO HRÁČE Ukázka uložených údajů: 1 0 3 350661 44 11 102 0 1 0 0 {FFA500}Střelec 1 - Pokud je hráč v gangu. 0 - ID gangu. 3 - Oprávnění člena. 350661 - Přispěl do gangu. 44 - Počet zabití. 11 - Počet úmrtí. 102 - Získaný respekt. 0 - Zda si může vybrat výplatu. 1 - Zda má člen vyp/zapnutý spawn u gangu. 0 - Zda má člen vyp/zapnuté zprávy gangu. 0 - Zda je hráč v interiéru. {FFA500}Střelec - Rank. ÚPRAVA ÚDAJŮ GANG VOZIDEL Ukázka uložených údajů: 0 1 432 0 0 2194.994 1234.298 10.703 266.3910 - ID gangu. 1 - Slot vozidla. 432 - Model vozidla. 0 - 1. ID barvy. 0 - 2. ID barvy. 2194.994 - X pozice pickupu. 1234.298 - Y pozice pickupu. 10.703 - Z pozice pickupu. 266.391 - A pozice pickupu. LZE PŘIDAT I VOJENSKÝ GANG Stačí, když přidáte vozidla a při úprave vozidel přepíšete všechny modely na vojenská vozidla. JAK ZMĚNIT VŮDCE GANGU 1. Změnit vůdce v hl. soubouru - První je potřeba změnit jméno vůdce souboru {id_gangid}.dat 2. Změnit jméno v seznamu členů - V souboru {id_gangu}Members.dat změnit první jméno. 3. Změnit údaji hráči - A nakonec změnit údaje v souboru hráče. DOWNLOAD INCLUDE i-zcmd http://forum.sa-mp.com/showthread.php?t=576114 A to je všechno. jgsystem https://pawno.cz/files/file/67-just-gangsystem/ ZÁVĚR Zatím jsem pracoval stylem "hlavně, že to funguje", takže nechť konečně začne hromadná optimalizace!
  2. JUST ADMIN SYSTEM v0.3Dynamic Admin systém, který obsahuje nejmodernější zpracování zdrojového kódu, průměrné optimalizace, jednoduchou práci a možnosti vlastní úpravy, redukuje zbytečnou námahu, a využívá jak nejrychlejší tak i nejlepší a nejnovější includy UDĚLOVÁNÍ SKUPINY NAMÍSTO ADMIN LEVELU ČETNOST PŘÍKAZŮ PRO VŠECHNY HRÁČE A ADMINY VIP SYSTÉM S PŘIJATELNÝMI MOŽNOSTMI MOŽNOST UDĚLOVAT JMÉNO BARVY NAMÍSTO HEX JEDNODUCHÉ PŘIDÁVÁNÍ RANKU A TITULU NĚKOLIK MOŽNOSTÍ VPISU DO CHATU PO ESTETICKÉ STRÁNCE NEJLEPŠÍ ZPRACOVÁNÍ PŘEHLEDNÝ SEZNAM PŘÍTOMNÝCH VIP HRÁČŮ A ADMINŮ JEDNODUCHÁ A PŘEHLEDNÁ MOŽNOST ÚPRAVY ÚDAJŮ NĚKOLIK INFORMACÍ O SCRIPTU Každý příkaz vrací jednu z 5 fcí, která obsahuje podmínku(aka odkaz) na daný příkaz, kvůli přehlednosti, na místo hexu barvy, stačí jen napsat její ang. jméno, například red nebo blue, část užitečných fcí jsou preprocesory namísto zbytečných přidávání jako ostatní fce, na heslo byla použita stan. fce ze a_sampu, titul, rank a skupinu, hráče, která se odešle do chatu spolu s nickem, kontroluje fce, a není to všechno zbytečně v callbacku, pokud má hráč nějaký trest, například zmražení, tak po odpojední a následném návratu ho po spawnu zkontroluje a znova zmrazí obsahuje nejznamnější příkazy a možnosti jednoduché zpracování zdrojového kódu pro snadnější úpravy či pokračování v tvorbě pro ostatní uživatele, lze si jednoduše přenastavit ceník vip mincí u daných příkazů využívá rychlejší cyklus na to foreach, obsahuje desítky kontrol, například zda je/není hráč ve vozidle, server může mít pouze jednoho majitele, a mnoho dalšího... SEZNAM PŘÍKAZŮ A VYSVĚTLENÍ k verzi 0.1 Hráč Premium Moderátor Pomocník Admin Majitel /aregister - Registrace. Bez něj, se údaje neuloží a nelze používat příkazy z AS. /alogin - Přihlášení. Bez ní, se údaje neuloží a nelze používat příkazy z AS. /admin - Zobrazení všechny příkazů v AS. /admins - Zobrazení všechny přítomných administrátorů na serveru. /asave - Uloží všechny údaje. Jinak se údaje ukládají po odchodu ze serveru. /vips - Zobrazení všechny přípomných vip hráčůn na serveru. /vip - Zobrazení všechny příkazů v AS pro vip hráče. /vcoins - Zobrazí hráči jeho počet VIP mincí. /vhp - Doplní hráči život. /varmour - Doplní hráči vestu. /vrepair - Opraví hráčovi vozidlo. /vme - Mluvka v chatě. /vflip - Obrátí vozidlo. /vpara - Daruje padák. /vjetpack - Daruje jetpack. /vhide - Zneviditelní na mapě. /vunhide - Zviditelný na mapě. /vpsave - Uloží pozici pro port. /vpload - Portne hráče na uloženou pozici. /vnitro - Namontuje nitro do hráčova vozidla. /vhydrau - Namontuje hydrauliku do hráčova vozidla /vweapons - Daruje hráči výbavu. /asay - Mluvka v chatě /avar - Varuje hráče, nemá limit. /aspam - Promaže celý chat prázdným textem. /atime - Lze přenastavit čas na serveru. /aweather - Lze přenastavit počasí na serveru. /agoto - Portne administrátora k danému hráči. /amute - Umlčí daného hráče v chatu. /aunmute - Odmlčí daného hráče v chatu. /ajail - Uvězní daného hráče do známého vězení. /aunjail - Propustí daného hráče. /afreeze - Zmrazí daného hráče na místě /aunfreeze - Odmrazí daného hráče. /aget - Porte admina k danému hráči. /akick - Vyhodí hráče ze serveru. /arank - Nastavit hráči daný rank /agw - Darovat hráčovi danou zbraň. /acar - Vytvořit vozidlo, max 1. /adcar - Zničit vytvořené vozidlo. /agetstats - Zjistí statistky daného hráče. /aremove - Vyhodí hráče z vozidla. /apingkick - Vyhodí hráče za serveru, pokud má vysoký ping. /acolors - Zobrazí jména barev, které lze nastavit. /anickcolor - Změní barvu nicku. /aban - Zabanuje daného hráče. /atitle - Nastavit danému hráči titul. /ahp - Nastavit danému hráči život. /aar - Nastavit danému hráči vestu. /akill - Zabije daného hráče. /asetvip - Nastavit danému hráči vip. /agm - Darovat hráčovi daný počet peněz. /askin - Nastavit danému hráčovi skin. /adisarm - Odzbrojí daného hráče. /agivecoins - Daruje danému hráči VIP mince. /atakecoins - Odebere danému hráči VIP mince. /asetowner - Admin s rcon po zadání tohoto příkazu se stane majitelem a může nastavit adminlevel. /asetlevel - Pouze majitel. Může nastavit danému hráči oprávnění(adminlevel). JAK PŘIDAT SCRIPT NA SERVER 1. Stáhnout si celý soubor a rozbalit 2. Soubor .amx přetáhnout do filterscripts. 3. Ve složce scriptfiles vytvořit složku Datas a v ní složku Saf. 4. Ve konfiguraci serveru přidat do řádku filterscripts daný script. 5. Resetovat server. 6. Připojit se na server, přihlásit se na rcon a zadat příkaz /asetowner. 7. Hotovo. VLASTNÍ ÚPRAVY AS Seznam preprocesorů - Hlavní Preprocesor Hodnota Popis #define MAX_TITLE_LEN 20 Maximální délka titulu v chatě. Nedoporučuji upravovat bez znalosti ssacanf2! #define MAX_RANK_LEN 20 Maximální délka ranku v chatě. Nedoporučuji upravovat bez znalosti sscanf2! #define MAX_FILE_NAME_LEN 40 Maximální délka jména složky, kde se ukládají údaje. #define MAX_PASSWORD_LEN 65 Maximální povolená délka hesla. Nedoporučuji upravovat bez pokročilé znalosti pawn! #define MAX_COLOR_LEN 10 Maximální délka jmén barve, které lze přidat. Upravit jen, pokud přidáte jméno delší než 9 znaků! #define MAX_ALLOWED_PING 300 Maximálně povolený ping pro příkaz /pingkick. #define MAX_ADMIN_LEVEL 7 Maximální admin level. NOVÉ #define MAX_VEHICLE_SPAWN 10 Maximální počet spawnutí acars Seznam levelů Jméno levelu Kód Level Hráč LEVEL_PLAYER 0 Moderátor LEVEL_MOD 1 Pomocník LEVEL_HELPER 2 Hlavní Moderátor LEVEL_MAINMOD 3 Hlavní Pomocník LEVEL_MAINHELPER 4 Administrátor LEVEL_ADMIN 5 Hlavní Administrátor LEVEL_MAINADMIN 6 Majitel LEVEL_OWNER 7 Seznam preprocesorů - Ceník vip příkazů Preprocesor Hodnota #define COINS_HEALTH 50 #define COINS_ARMOUR 100 #define COINS_REPAIR 150 #define COINS_PARACHUTE 100 #define COINS_JETPACK 200 #define COINS_HIDE 250 #define COINS_ME 10 #define COINS_FLIP 50 #define COINS_SAVE 50 #define COINS_LOAD 100 #define COINS_NITRO 150 #define COINS_WEAPONS 200 #define COINS_HYDRAULICS 100 Seznam funkcí - Hlavní Jméno Parametry Popis IsPlayerRegistered playerid Vrací true/false, zda je hráč zaregistrovaný. IsPlayerLogged playerid Vrací true/false, zda je hráč přihlášen. IsPlayerVip playerid Vrací true/false, zda je hráč vip. HavePlayerRank playerid Vrací true/false, zda hráč má rank. HavePlayerTitle playerid Vrací true/false, zda hráč má titul. GetPlayerTitle playerid Vrací titul hráče. GetPlayerCoins playerid Vrací hráčův počet vip mincí. GetPlayerRank playerid Vrací rank hráče. IsPlayerFreeze playerid Vrací true/false, zda je hráč zmražen. IsPlayerMute playerid Vrací true/false, zda je hráč je hráč umlčen. IsPlayerJail playerid Vrací true/false, zda je hráč uvězněn. IsPlayerHide playerid Vrací true/false, zda je hráč neviditelný na mapě. GetPlayerLevel playerid Vrací hráčův adminlevel. GetPlayerGroup playerid Vrací jméno skupiny hráče. IsPlayerOwner playerid Vrací true/false, pokud je hráč majitel. GetPlayerNick playerid Vrací nick hráče. IsColorExist sColorName[] (red, blue...) Vrací true/false, zda daná barva existuje. GetColorID sColorName[] (red, blue...) Vrací id dané barvy. ShowPlayerCoinsStatus playerid, iTake Odebere dané vip mince+odešle zprávu ohledně zůstatku SendMessageToAT Message[] Odešle zprávu všem administrátorům. SaveServerData - Uloží údaje serveru. LoadServerData - Načte údaje serveru. SavePlayerData playerid Uloží údaje hráče. NOVÉ SetPlayerRank playerid, sRank[], sColorName[] Nastavit údaje hráče. NOVÉ SetPlayerTitle playerid, sRank[], sColorName[] Nastavit titul hráči. NOVÉ RemovePlayerTitle playerid Odebrat titul NOVÉ RemovePlayerRank playerid Odebrat rank Seznam funkcí - Zprávy Funkce Parametry Output MsgUnRegistered playerid "Nejsi zaregistrován: Použijte /aregister" MsgUnLogged playerid "Nejsi přihlášen: Použijte /alogin" MsgRegistered playerid "Již jste zaregistrován: Použijte /alogin" MsgLogged playerid "Již jste přihlášen." MsgPremium playerid "Nevlastníte VIP účet." MsgNotEnoughCoins playerid "Nemáte odstatek VIP mincí" MsgAdminLevel playerid "Na tento příkaz nemáte dostatečné oprávnění." MsgPermission playerid "Nevlastníte administrátorská práva." MsgUseCommand playerid, var1[], var2[] "[ ! ] Použití příkazu: {FF0000}var1[] {FFFFFF}var2[]" MsgCmdError playerid, var1[] "[ ! ] {FFFFFF}var1" Postup pro přidání příkazu k danému oprávnění, k verzi v0.3 Rozmyslet si pro jaké oprávnění, například příkaz slap pro Helpera. Přidává se prakticky stejně jako standartní příkazy přes i-zcmd, jen se změní jméno a přidá oprávnění(level): Command[aslap, LEVEL_HELPER](playerid, params[]) { //Obsah příkazu return (true); //<--- nezapomenout ! } Již samotný příkaz nám zajistí, že příkaz budou moct jen přihlášení hráči s levelem Helper. Pokud váš postup byl správný, tak by jste po úspěšně kompilaci měl mít příkaz na serveru pouze pro helpery a výšše. DOWNLOAD v0.1 - Začátek Pawno v0.2 - Lukášův update Pawno v0.3 - Groups update Pawno v0.4 - Code update ? PODĚKOVÁNÍ Y_Less Yashas Double-O-Seven xhunterx Lukasz vEnd Za jeho sscanf2. Za jeho i-zcmd. Za jeho dof2. Inspirace některých název skupin z jeho unit a princip. Za pomoc při úprave a opravě scriptu, a za 'Lukášův update' Za pomoc při úprave a opravě scriptu, a za návod a radu na hash hesla. ZÁVĚR Na závěr bych chtěl dodat, že pokud bude mít tento AS dobré ohlasy, tak budu neprodleně dělat na další verzi, kde bude spousty úprav a několik novinek, včetně různých dodatků, například rozšířený počet skupin.
  3. Tanga

    návod Enum [**]

    Obsah Úvod #define enum Ďalšie použitie 1. Úvod Napadlo mi, že rýchlejšie než vysvetliť niekomu čo je to enum, by bolo dať mu odkaz na nejaký návod. Žiadny som však nenašiel. Boli útržky toho čo je to enum tu a tam, ale nič čo by sa dalo ľahko nájsť. Enum slúži na náhradu direktív preprocesora (#define NIECO). Je prehľadnejší a umožňuje lepšiu kontrolu errorov pri kompilácii. Enum je skratka od enumeration, tj. výčet, vyčíslenie. V tomto návode teda ukážem riešenie konkrétnej úlohy dvomi spôsobmi. Pomocou #define a enum. Majme systém, ktorý kontroluje kde sa nachádzajú isté autá a či sú obsadené. Použijeme teda jednu globálnu premennú. 2. #define #define POSX 0 #define POSY POSX + 1 #define POSZ POSX + 2 #define OCCUPIED POSX + 3 #define VELKOST_POLA (OCCUPIED - POSX + 1) // 3-0+1=4 #define POCET_AUT 20 new Vozidla[POCET_AUT][VELKOST_POLA]; ... stock PouzitiePola() { printf("Velkost posledneho pola = %d", VELKOST_POLA); for (new i; i < sizeof (Vozidla); i++) if (Vozidla[i][OCCUPIED] == true) { printf("%f", Vozidla[i][POSX]); // len nejaky priklad } } 3. Enum Rovnakú funkcionalitu s použitím enumu by sme dosiahli nasledovným kódom. Nie je nutné písať názvy jednotlivých prvkov v enume veľkým písmom. Záleží na vašich preferenciách, mne celkom dáva zmysel, že keďže to nahrádza konštanty, tiež by to malo byť veľkým písmom. #define POCET_AUT 20 enum CarEnum { Float:POSX, // enum umoznuje jednoduchu a prehladnu kontrolu typov Float:POSY, Float:POSZ, bool:OCCUPIED }; new Vozidla[POCET_AUT][CarEnum]; ... stock PouzitiePola() { printf("Velkost posledneho pola = %d", _:CarEnum); for (new i; i < sizeof (Vozidla); i++) if (Vozidla[i][OCCUPIED]) { printf("%f", Vozidla[i][POSX]); // len nejaky priklad } } Možno ste si všimli v PouzitiePola() s enumom: printf("Velkost posledneho pola = %d", _:CarEnum); Tá časť _:CarEnum musí mať predponu _: inak by kompiler hodil warning. Fungovalo by to ajtak. Je to len bug kompilera. V praxi som vypísanie veľkosti enumu ešte nevidel, nebojte sa že by to hnusilo kód. Pre pokročilých: 4. Ďalšie použitie Enum nemusí číslovať od nuly, dá sa spraviť aj toto: #include <a_samp> enum TestEnum { PREMENNA = 5, PREMENNA2, PREMENNA3, // pauza PREMENNA4 = 25, PREMENNA5 }; main() { printf("%d, %d", _:PREMENNA3, _:PREMENNA5); } Server log: SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team ... [01:05:25] 7, 26 Som presvedčený, že s enumami sa dajú robiť rôzne pekelné kúsky z ktorých ja žiadne nepoznám, určite ak nejaké máte, pridajte.
  4. Scydo

    script [INC][SbA] Porty

    SHORT BUT ADVANCED PORTY Jde o takovou sérii includů, které mají nějaký jednoduchý základ nebo jsou velice často publikované, ale budou jednoduše zpracované(nemenší možný počet řádků, dobrá optimalizace, výborná přehlednost aj.) s nějakým zajímavým doplňkem, bez použití jiného includu než a_samp. Stardartní porty jsou velice často zpracované ve formě scriptu, tak, že se nachází v callbacku OnPlayerCommandText a s příkazy /setport /port a /delport. Já se to rozhodl zpracovat ve formě includu, takže s tím může uživatel jednoduše pracovat a aby to nebylo málo, lze povolit(založit/spustit) více portů najednou. Zde je seznam fcí, které obsahuje tento includ: SetGlobalLocation() - Hlavní fce. Uloží pozice daného port(id) a zpřístupní ho všem. RemoveGlobalLocation() - Zruší možnost warpnut se na daný port(id). SetPlayerPortID() - Warpne hráče/hráče včetně vozidla na daný port(id). IsPortEnabled() - Zjistí, zda je daný port(id) zpřístupněn. ArePortsEnabled() - Zjistí, zda jsou všechny port(id) zpřístupněny. GetFreePortID() - Zjistí nejbližší port(id), které je zpřístupněné. SetGlobalLocation Parametry: (iPortID, bool:bVehicles, Float:fXpos, Float:fYpos, Float:fZpos) iPortID - ID daného portu. bVehicles - Povolit(true) či zakázat(false) hráčům se portou i s vozidlem. fXpos - X-ová pozice portu. fYpos - Y-nová pozice portu. fZpos - Z-tová pozice portu. Return: Tato funkce nevrací nic zvláštního. RemoveGlobalLocation Parametry: (iPortID) iPortID - ID daného portu. Return: Tato funkce nevrací nic zvláštního. SetPlayerPortID Parametry: (playerid, iPortID) playerid - ID hráče, kterého má warpnout. iPortID - ID daného portu. Return: Dle fcí(SetPlayerPos či SetVehiclePos). IsPortEnabled Parametry: (iPortID) iPortID - ID daného portu.. Return: Proměnná s hodnotou true či false. ArePortsEnabled Parametry: Neobsahuje žádné parametry. Return: true - v případě, že je jen jediný z portů(id) zpřístupněn. false - v případě, že žádný z portů(id) není zpřístupněn. GetFreePortID Parametry: Neobsahuje žádné parametry. Return: PortID - v případě, že nalezne neblížší zpřístupněné port(id). -1 - vrátí, jestli-že nenajde. Jelikož jsou zpracovaný jen jako ve formě hodnot a ne jako již "před připraveného scriptu", lze s nimi vytvořit několik způsobů port systémů. Například si můžete zvolit jen jediný port(id) a s nim pracovat jako u normálních častých scriptů: A nebo tedy si udělat systém, kde bude možno se portout na více portů: DOWNLOAD Pawno.cz Pastebin
  5. Dnes jsem udělal jednoduchý script pro vytváření galerií s automatickým scanem složky a možností přidávat pouze některé soubory. https://github.com/Isigar/PHP-Gallery Použití: <?php include("./gallery.php"); $gallery = new gallery("./img/"); $gallery->addItem("test","test.png",array("alt"=>"ALT","title"=>"TITLE")); $gallery->render(); Při inicializaci třídy zadáváme základní složku obrázků. Při přidávání obrázků můžeme nastavit parametry ALT, TITLE první parametr v našem případě "test" by měl býti unikátní. Doplňující funkce: /*Doplňující funkce*/ $gallery->addExtension("gif"); $gallery->removeExtension("png"); $gallery->automaticScan(); //NEBO $gallery->automaticScan(array("alt"=>"ALT","title"=>"TITLE")); /*načtení všech obrázků v složce s jednotným parametrem ALT a TITLE*/ Více se teď nebudu o tomto vypisovat později možná přidám i více. Popř. nějaký návod pokud budete chtít. Zapomněl jsem na to, že výstup vypadá asi nějak takto: <div class="gallery"> <div class="gallery-item"><img src=....></div> </div>
  6. Viděl jsem tu případy kdy někteří vytváří pro každou zprávu textdraw... Ale na co? Stačí vám jeden textdraw na kolik zpráv chcete. Ukážu vám teď jak na to v klasickém pawnu bez použití YSI a podobně to si potom každý může udělat sám. 1. Vytvoříme si textdraw. ( já si udělal klasický text s použitím fontu 2 ) textdraw = TextDrawCreate(188.000000, 384.000000, "~n~"); TextDrawBackgroundColor(textdraw, 255); TextDrawFont(textdraw, 2); TextDrawLetterSize(textdraw, 0.270000, 1.000000); TextDrawColor(textdraw, -1); TextDrawSetOutline(textdraw, 1); TextDrawSetProportional(textdraw, 1); 2. Otevřeme si .pwn 3. Někam nahoru vložíme: new Text:Textdraw[MAX_PLAYERS]; 4. Do OnGameModeInit vložíme náš textdraw tímto stylem: for(new i = 0; i < MAX_PLAYERS; i++){ Textdraw[i] = TextDrawCreate(188.000000, 384.000000, "~n~"); TextDrawBackgroundColor(Textdraw[i], 255); TextDrawFont(Textdraw[i], 2); TextDrawLetterSize(Textdraw[i], 0.270000, 1.000000); TextDrawColor(Textdraw[i], -1); TextDrawSetOutline(Textdraw[i], 1); TextDrawSetProportional(Textdraw[i], 1); } 5. Vytvoříme si stock pro zprávu. stock InfoMessage(playerid, time, text[]){ // time nastavíte sekundy například 2 a samozřejmě "text" TextDrawHideForPlayer(playerid, Textdraw[playerid]); // schová v případě zprávu která už je vytvořená TextDrawSetString(Textdraw[playerid], text); // nastaví text zprávy TextDrawShowForPlayer(playerid, Textdraw[playerid]); // zobrazí zprávu SetTimerEx("InfoMessageHide", time*1000, false, "i", playerid); // skryje informační zprávu return true; } 6. Vytvoříme si public pro schování zprávy. forward InfoMessageHide(playerid); public InfoMessageHide(playerid){ return TextDrawHideForPlayer(playerid,Textdraw[playerid]); } A máme hotovo... Zprávy potom vytváříte takto: InfoMessage(playerid, 3, "zprava"); // protože se jedná o textdraw nepište do zprávy háčky, čárky a podobně... 3 je počet sekund To je vše...
  7. Ahoj ahoj... Trochu sem se nudil tak jsem udělal menší easy, simple, basic systém pro vytváření srnek/deers. Je to jednoduché takže takže tak samozřejmě si můžete dodělat různý věci např že srnu pujde zabít jen určitou zbraní, nebo určitý zaměstnání atd to už záleží na vás. Funguje to tak že srnu strefíte a objekt se smaže nic více nic méně. Třeba se to někomu hodí Samotný includ: ref_deers.pwn + menší popis #define MAX_DEERS 100 // Počet srnek new DeerObject[MAX_DEERS]; new DeerCount = -1; forward CreateDeers(); // do OnGameModeInt forward DeersShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ); // do OnPlayerWeaponShot forward UpdateDeers(); public CreateDeers(){ Deers(); // vytvoří srnky SetTimer("UpdateDeers", 15*60000, true); // spustí timer který updatuje každých 15 minut srnky return true; } Deers(){ //CreateDeer(x, y, z); CreateDeer(0, 0, 0); // místo 0, 0, 0 si dejte svou pozici } stock CreateDeer(Float:x, Float:y, Float:z){ DeerCount++; if(DeerCount >= MAX_DEERS) return print("Byl prekroceny maximalni pocet srn."); DeerObject[DeerCount] = CreateObject(19315,x,y,z-0.6,0,0,0,300); // vytvoří objekt srnky (19315) return DeerCount; } public DeersShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ){ for(new i; i <= DeerCount;i++){ // zjistí počet srnek if(hitid == DeerObject[i]){ // zjistí objekt (srnku) DestroyObject(DeerObject[i]); // smaže objekt (srnku) SendClientMessage(playerid, -1, "Zabil si srnu."); } } return true; } public UpdateDeers(){ for(new i; i <= DeerCount;i++){ // zjistí počet srnek DestroyObject(DeerObject[i]); // smaže srnky } Deers(); // vytvoří zase srnky return true; } Takhle by to mělo vypadat v módě: aneb pro lamy kam to vložit #include <a_samp> #include "ref_deers.pwn" // samotný includ main(){ print("bla bla bla bla bla"); } public OnGameModeInit(){ SetGameModeText("NÁZEV VAŠEHO MÓDU"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); CreateDeers(); return 1; } public OnGameModeExit(){ return 1; } public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ){ DeersShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ); return 1; } Pozor public OnPlayerWeaponShot si musíte vytvořit! V new.pwn nebývá se mi zdá nebo mam old pwn Komplet to můžete stáhnout tady: http://lb.clanweb.eu/files/deersbic.rar Srnky se přidávají CreateDeer(x, y, z); do Deers() v INCLUDU. Kdo nechápe tak X, Y, Z jsou pozice. Kdo chce může si udělat třeba: new ZabilSrn[MAX_PLAYERS]; pak dá pod zprávu: Zabil si srnu. ZabilSrn[playerid]++; a udělá si nějaký příkaz přes formát Taky to jde přes PVar... To je na vás. Pokud máte inventář můžete za zabití dát hráči třeba určitý počet masa ze srny. Zbraň si můžete udělat zase takhle: public DeersShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ){ for(new i; i <= DeerCount;i++){ // zjistí počet srnek if(hitid == DeerObject[i]){ // zjistí objekt (srnku) if(weaponid == id zbraně){ // zjistí jestli má v ruce zbraň pro zabití srny DestroyObject(DeerObject[i]); // smaže objekt (srnku) SendClientMessage(playerid, -1, "Zabil si srnu."); } else SendClientMessage(playerid, -1, "Srnu můžeš zabít pouze se zbraní bla bla bla."); // pokud nemá zbraň kterou musí mít napíše mu to zprávu } } return true; } ATD....... ATD........ To je vše, díky.
  8. Ahojte vytvoril som jednoduchú hru pre android (pre ukážku som to dal do html5) ide o klikačku kde sa prekonavate... Chcem počut len vas pocit a čo pridať ano viem je to jednoducha hra viem aj zlozitejsie ale neviem čo tam mam pridať a tak... p.s ak by sa niekto našiel kludne by som aj niekoho prijal ako pomocníka (spolutvoriča) díky za nazor I I I V http://skuskahry69.webatu.com/HEY/
×
×
  • Create New...