Jump to content
Prosíme všetkých užívateľov, ktorý sa chcú opätovne pripojiť na discord aby znovu spárovali svoje účty kliknutím na "Discord" v navigácií a pripojili sa na server Read more... ×

Search the Community

Showing results for tags 'script'.



More search options

  • Search By Tags

    Oddělujte čárkami
  • Search By Author

Content Type


Fórum

  • Fórum
    • Pravidla fóra
    • Co by se tu mělo změnit
    • Nahlášení chyb/Návrhy změn
    • Všechno možné
  • Pawn
    • Pomoc
    • Návody
    • Mapy a editor map
    • Scripty
    • Prezentace módů
    • Hledám pawnera/mappera
    • SA-MP
  • Programování a grafika
    • Vývoj webových stránek a aplikací
    • Vývoj desktopových a jiných aplikací
    • Grafika a webdesign
    • Dlouhodobé projekty
    • Hledám programátora/skriptera
  • Hry a herní tématika
    • MTA
    • Counter Strike 1.6 , Source, Global Offensive
    • Ostatní hry
    • Obrázky a videa z her
    • Herní hostingy
    • Prezentace herních klanů
    • Prezentace herních serverů
  • Ostatní
    • Hardware a software
    • Hledám/nabízím
    • Koš

Categories

  • Pawn – filterscripty a gamemody
  • Pawn – skripty od nováčků povinně sem
  • Aplikace a hry

Blogs

  • rEwolutionary
  • Polisův Blogík
  • DoubleX's Blog
  • [Info] Dark Island
  • Albus Brambůrek's Blog
  • Trampoty pána buggeda
  • vEndovo všechno možné
  • Cybrionkov Game Development v Unity
  • [Printova hlava]
  • Woodyho blog

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 517 results

  1. Castiel

    script Just GangSystem - Beta v0.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. Čauko, potreboval by som pomoc s pár vecami. 1. Ako spravím aby týpek dostal výplatu za každú misiu čo spraví ? (+ako spravím misiu s viacerými checkpointami) 2.Ako spravím aby sa mu tá výplata zvyšovala ako to nastavím ? 3.Ako spravím niečo ako bodovací systém, že ked hráč spraví misiu dostane napr. 5 bodov, portebuje 25 bodov pre vyššiu výplatu, potom 80 bodov, potom 120 potom 200 atd. Ďakujem za všetkú pomoc ! Oceňujem všetky typy pomoci ! Začínam s pawnom takže moc o tomto neviem. Dikes
  3. IllidanS4

    plugin PawnPlus 0.8

    PawnPlus 0.8 Stažení | Dokumentace Představuji vám svůj nový plugin, který z Pawnu udělá moderní programovací jazyk, v němž bude radost programovat pro SA-MP. Přidáním nových konstruktů a "typů" rozšiřuje sílu jazyka, ale zachovává a dokonce i navyšuje jednoduchost programování. Shrnutí hlavních funkcí Řetězce Všichni to známe – řetězec je pole znaků s pevnou maximální délkou, kterou vždy musíme znát, pokud chceme s řetězci cokoliv provést. Odteď už ne! PawnPlus přináší dynamickou alokaci řetězců, které lze spojovat, rozdělovat, porovnávat či jinak upravovat. Možná si říkáte, k čemu je to dobré, když funkce SA-MP (např. SendClientMessage) vyžadují předání řetězce jako pole, ale počkejte – jde to! Tento plugin umožní přetvořit jakoukoliv funkci SA-MP (i jiných pluginů) na variantu, která místo polí bere nové řetězce a funguje naprosto stejně. Asynchronní programování Nebojte, žádná vlákna či race-condition, ale lehké asynchronní programování pomocí úloh, jehož vzorem je jazyk C#. Pomocí nového příkazu jazyka lze pozastavit průběh stávající funkce a odložit jeho vykonávání na jakoukoliv jinou dobu a mezitím spustit třeba něco jiného. Již žádné složité používání SetTimerEx, s tímto pluginem lze prostě ve funkci čekat, než nastane žádaná situace, a pak pokračovat. "Reflexe" Pawn sice není natolik pokročilý, aby umožňoval jakoukoliv reflexi, ale v tomto pluginu naleznete i pár funkcí, které umožní např. zavolat nativní funkci pomocí jejího jména jako řetězce, či navázání libovolné funkce na konkrétní událost serveru. Příklady Vytvoření, spojení a předání řetězců #include "PawnPlus.inc" //Původní SendClientMessageToAll(color, const message[]) upravíme tak, že všechny "const x[]" nahradíme "AmxString:x". native SendClientMessageToAllStr(color, AmxString:message) = SendClientMessageToAll; //Pomocná funkce vytvářející řetězec (jehož maximální velikost známe). stock String:GetPlayerNameStr(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); return str_new(name); } public OnPlayerConnect(playerid) { //Řetězce jsou reprezentované proměnnými se značkou "String". Lze je spojovat pomocí operátoru +. Funkce str_val umí převést libovolnou hodnotu na řetězec. new String:name = GetPlayerNameStr(playerid); new String:msg = str_new("Hráč ")+name+str_new(" (")+str_val(playerid)+str_new(") se připojil na server."); //Provede se zavolání funkce SendClientMessageToAll, jen místo druhého parametru se vezme dynamický řetězec namísto pole znaků. SendClientMessageToAllStr(-1, msg); } Rozdělení a porovnání řetězce //Obdobným způsobem upravena funkce SendClientMessage. native SendClientMessageStr(playerid, color, AmxString:message) = SendClientMessage; public OnPlayerCommandText(playerid, cmdtext[]) { new String:cmd = str_new(cmdtext); new String:name = cmd; new String:args = STRING_NULL; //Cyklus nalezne v řetězci mezeru a rozdělí jej na jméno a argumenty. new len = str_len(cmd); for(new i = 0; i < len; i++) { if(str_getc(cmd, i) == ' ') { name = str_sub(cmd, 0, i); args = str_sub(cmd, i+1); break; } } //Porovnání jména příkazu. if(name == str_new("/test")) { SendClientMessageStr(playerid, -1, args); //Vypsání argumentů. return true; } return false; } str_find a str_split bude v pozdější verzi. Pozastavení vykonávání funkce stock Odpocet() { SendClientMessageToAll(-1, "3"); wait_ms(1000); //Neblokující čekání (žádný cyklus). SendClientMessageToAll(-1, "2"); wait_ms(1000); SendClientMessageToAll(-1, "1"); wait_ms(1000); SendClientMessageToAll(-1, "0"); } //Poznámka: Čekání zablokuje vykonávání kódu až do nejbližší (externě vyvolané) funkce public. Pokud chcete, aby vnější kód pokračoval rovnou, použije CallLocalFunction. Čekání na libovolnou událost //Předělání funkce MoveObject tak, aby vracela úlohu, na niž lze "čekat" (tedy dokončení hýbání s objektem). stock task:MoveObjectTask(objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0) { //Úloha představuje abstraktní proces, který lze dokončit a jehož výsledkem může být nějaká hodnota. //task_new vytvoří novou prázdnou (nedokončenou) úlohu. new task:t = task_new(); //Zaregistruje novou "obsluhu" pro callback OnObjectMoved. Veřejná funkce SingleFireObjectTask se zavolá pokaždé, //kdy by se měla zavolat funkce OnObjectMoved a navíc se jí předá několik argumentů navíc. //specifikátor "e" značí předání ID nově vytvořeného objektu (to funkce pawn_register_callback i vrací). pawn_register_callback(#OnObjectMoved, #SingleFireObjectTask, "edd", t, objectid); MoveObject(objectid, X, Y, Z, Speed, RotX, RotY, RotZ); return t; } stock ObjectTest() { new obj = CreateObject(19300, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); print("Object created!"); //Proběhne čekání na úlohu; zbytek kódu se vykoná, až skončí. await MoveObjectTask(obj, 0.0, 0.0, 10.0, 5.0); print("Object moved!"); } //Nová obsluha události OnObjectMoved má navíc tři parametry (na začátku), jejichž hodnotu lze určit //v pawn_register_callback. Zbytek parametrů je z OnObjectMoved. forward SingleFireObjectTask(callback:id, task:task, obj, objectid); public SingleFireObjectTask(callback:id, task:task, obj, objectid) { if(obj == objectid) { //Pokud se pohnul objekt, na nějž je zaregistrovaná tato obsluha (uloženo v parametru obj), obsluha se odregistruje pawn_unregister_callback(id); //a úloha, která k ní náleží, je nastavena na hotovou (s nějakým výsledkem). task_set_result(task, objectid); } } Technické informace Jak to celé funguje? Technologie, na které celý tento plugin staví, se nazývá hookování. Hookování principiálně umožňuje přepsat kód nějaké funkce vlastním kódem, který se spustí místo něj. Díky patří Zeexovi za jeho knihovnu subhook. Tak například každá nativní funkce, která bere řetězce, používá funkci amx_GetAddr z API AMX. Tato funkce očekává adresu nějaké proměnné uvnitř stroje AMX a vrací ukazatel, který na ni ukazuje (to lze zapsat jako DAT+addr, kde DAT je ukazatel na počátek datové sekce stroje AMX, jenž lze získat z takto pojmenovaného registru). Tato funkce se musí zavolat vždy, když v Pawnu předáváme nějakou adresu (výstupní proměnné či pole) a na hookování je tedy ideální. Pokud AMX zjistí, že addr neukazuje dovnitř datové sekce, vrátí chybu, a pak přichází na scénu nový kód pluginu, který místo vrácení chyby interpretuje adresu jako (nějaký) identifikátor dynamicky alokovaného řetězce a ukazatel na jeho znaková data úspěšně vrátí. Tak se navenek každé funkci jeví předaný argument jako správný, ale když dojde na získání ukazatele, namísto dovnitř AMX ukazuje vrácené číslo na data pluginu. Zbývá maličkost, tedy zařídit, že addr bude pro dynamické řetězce ukazovat vždy do paměti, která je mimo AMX (sice to téměř jisté, ale nikoliv zaručené). Zde se uplatňuje vlastní tag AmxString, za nímž stojí funkce str_addr. Ta z ukazatele na řetězec spočítá relativní ofset vůči datové sekci stroje AMX, takže pro ukazatele mimo datovou sekci bude vytvořené číslo vždy chybné pro normální funkci amx_GetAddr. Funkce amx_Exec se zase volá vždy, když chce server spustit kód v AMX. AMX samotné podporuje předčasné ukončení vykonávání funkce pomocí vyvolání chyby a jedna taková chyba je i AMX_ERR_SLEEP (lze ji vykonat příkazem sleep v Pawnu), která značí, že se kód může obnovit. Jelikož hookuji každé volání amx_Exec, mohu to okamžitě zjistit a průběh vykonávání obnovit, aniž by o tom byl informován server. Zbývá vyřešit jediný problém – uložený obnovovací stav AMX je jen jeden a při jiném volání se zruší. Proto si plugin ukládá veškerou dynamickou paměť AMX (halda a zásobník) a registry k sobě, jakmile je výkon funkce pozastaven, aby nedošlo ke ztrátě. Při obnově je potom paměť AMX dočasně vrácena do původního stavu a spouštění původní funkce se obnoví. Funkce pawn_register_callback funguje pomocí hookování amx_Exec a amx_FindPublic, jež se zavolá vždy, když je třeba zjistit index veřejné funkce v AMX. Pokud je na název callbacku registrována nějaká obsluha, místo skutečného indexu se vrátí záporný index, který je následně identifikován v amx_Exec, která napřed vykoná příslušné obsluhy zjištěné z tohoto indexu. Řetězce a garbage collection Jak známo, každá dynamická alokace musí mít svoji dealokaci, jinak by začala unikat paměť, ale tady jsem si vesele používal str_new a žádnou dealokaci jsem neřešil, ačkoliv použitá paměť byla nová. Jak je to možné? Řetězce mají svůj vlastní garbage collector, který se stará o jejich mazání. Ve skutečnosti existují dva druhy řetězců – lokální (dočasné) a globální. Lokální řetězce jsou jejich nejčastější typ (String) a jejich existence je omezena po dobu výkonu nejvyššího callbacku. Je-li např. do skriptu vstoupeno callbackem OnPlayerConnected, všechny nové lokální řetězce existují po celý běh této veřejné funkce a jakmile ta skončí, smažou se. Pozor! – jakmile funkce skončí, použití jejích lokálních řetězců způsobí pád serveru. Řetězce se mažou jen po skončení nejvyšší veřejné funkce, takže pokud se ve skriptu skáče pomocí CallLocalFunction/CallRemoteFunction, vnitřní řetězce existují i po skončení vnitřních funkcí public. To ovšem neplatí pro SetTimer, jelikož vnitřní funkce se zavolá až po skončení vnější. Životnost lokálních řetězců není prodloužena ani pomocí asynchronních funkcí, neboť samotný callback je ukončen prvním čekáním. Proto existují globální řetězce, které nejsou automaticky mazány. Jejich použití je ale nebezpečné, neboť se musíte postarat o jejich smazání; musíte myslet na každé místo, kde by byl globální řetězec. Příklad: native print_s(AmxString:string) = print; new GlobalString:str; public OnFilterScriptInit() { str = str_new("Goodbye world!"); } public OnFilterScriptExit() { print_s(str); str_free(str); str = STRING_NULL; } Globální řetězce jsou označeny tagem GlobalString a převod na ně je automatický, pokud do takto značené proměnné přiřazujete. Lze toho docílit i voláním funkce str_to_global. Všechny funkce fungují stejně pro globální i lokální řetězce. Místo str_free můžete použít i funkci str_to_local, jež naopak vrátí řetězec do lokálního prostoru. To doporučuji použít v kombinaci s asynchronními funkcemi: public OnFilterScriptInit() { new String:str = str_new("Hello world!"); str_to_global(str); wait_ms(1000); str_to_local(str); print_s(str); } Mutabilita řetězců Řetězce jsou mutabilní, tedy měnitelné (až na jednu výjimku – STRING_NULL). To znamená, že některé funkce (například str_del) pouze upravují existující řetězec, takže pokud s ním pracují jiné funkce, dostanou jiná data. To lze vyřešit vytvořením nového řetězce (např. přes str_clone) nebo použitím funkcí, které samy o sobě tvoří nový řetězec (např. str_sub). STRING_NULL má speciální chování. Lze jej použít na místě normálního řetězce a všechna volání proběhnou úspěšně, ale jeho délka je vždy nulová. Funkce jako str_resize nebo str_set na něj tedy nemají žádný vliv. str_clone a jiné vytvářející funkce ale vždy udělá řetězec nový (a normální). Návratová hodnota asynchronní funkce Funkce obsahující čekání skončí vlastně předčasně a v takovém případě je nutno vrátit kontrolu serveru. Jelikož ale server očekává od funkce nějakou hodnotu hned, na případný příkaz return nemusí vůbec dojít. Od toho je tu funkce yield, jež navrátí hodnotu volajícímu kódu okamžitě: public OnFilterScriptInit() { new ret = CallLocalFunction(#Func, ""); printf("%d", ret); } forward Func(); public Func() { yield 12; wait_ms(1000); return 13; } Program vypíše 12 hned po spuštění. Návratovou hodnotu zbytku funkce (či z dalších volání yield) zatím nelze nijak odchytit, ale očekávám přidání něčeho na způsob coroutines v Lua (task_create z veřejné funkce a await, který lze zavolat vícekrát na takovou úlohu). Něco divného na mém kódu? await a yield jsou funkce, ale používám je jako příkazy. Pawn umožňuje vypustit závorky z takového volání, což vypadá rozhodně lépe. Také používám výraz typu #Func, což známe z maker, a je to totéž jako prosté "Func". Pokud řetězec je zároveň jméno funkce, líbí se mi toto použití pro odlišení.
  4. _niCo_

    script Warp System

    Zdarec všechny, Toto je můj první FilterScript Jedná se o warp system který sem dopawnil a dávám sen na Pawno.cz ================================================= Filter script obsahuje : warpy do Las Venturas / Los Santos / San Fierro Příkazy /warpy po napsání /warpy se vám ukáže dialog z warpama /lv /sf /ls ======================================================= [ !!! ] DÁM VÁM SEM I KOD WARP SYSTEMU ALE PROSIM VÁS ZANECHTE MNE JAKO AUTORA FS DĚKUJI MOC [ !!! ] Doufám že se vám můj první FilterScript bude líbit a zdar #include <a_samp> #include <zcmd> #define COLOR_BLUE 0xFF0000FF #define COLOR_RED 0xFFFF0000 public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Warp system by _niCo_"); print("--------------------------------------\n"); return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid,COLOR_BLUE," {FF0000}[ WARPS SYSTEM ] {0000FF}Server používá {FF0000}Warps System {0000FF}by {FF0000}_niCo_ {0000FF}/ {FF0000}v1.0"); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/warpy", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Warp System by _niCo_","/ls\n/sf\n/lv\n{00FF00}ZA KAŽDÝ WARP SE TI STRHNE 100 $","{FF0000}Závřít",""); return 1; } if (strcmp("/ls", cmdtext, true, 10) == 0) { GivePlayerMoney(playerid,-100); SetPlayerPos(playerid,1715.1248, -1879.8043, 13.5665); ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Las Venturas","{0000FF}Nyní se nacházíš v {FF0000}Los Santos","{FF0000}Závřít",""); return 1; } if (strcmp("/sf", cmdtext, true, 10) == 0) { GivePlayerMoney(playerid,-100); SetPlayerPos(playerid,-1979.5410, 882.8173, 45.2031); ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Las Venturas","{0000FF}Nyní se nacházíš v {FF0000}San Fierro","{FF0000}Závřít",""); return 1; } if (strcmp("/lv", cmdtext, true, 10) == 0) { GivePlayerMoney(playerid,-100); SetPlayerPos(playerid,2137.2100, 1468.2996, 10.8203); ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Las Venturas","{0000FF}Nyní se nacházíš v {FF0000}Las Venturas","{FF0000}Závřít",""); return 1; } return 0; } Warpy.amx
  5. exiplayer

    script Savecar

    Ahoj potrebol by script /savecar na gta samp server alebo proste volaký scrpit ktorý dokaže uložit auto vitunene
  6. exiplayer

    script Rcon Ochrana

    Potreboval by rcon ochranu Bol by niekdo kdo by mi pomohol prosím skype martinko9632
  7. IllidanS4

    define using

    Patrně se vám již stalo, že jste otevřeli soubor, aniž byste ho poté zase zavřeli, či jste zapomněli smazat výsledek dotazu SQLite apod. Možná z vyšších programovacích jazyků znáte příkaz using či try-with-resources a litujete, že něco takového není i v Pawnu. To ale může být! #define using(new%9\32;%0:%1=%2) for(new %0@guard:guard@%1=(%0@guard:%2),%0:%1=(%0:guard@%1);_:%1!=cellmin;_:%1=cellmin) Stačí tento řádek, abyste hned mohli vesele začít používat using na libovolné výrazy, jakmile dodefinujete destruktor. Je pravděpodobné, že jste o destruktorech ještě neslyšeli, poněvadž v dokumentaci o nich není ani zmínka, ale principiálně se jedná o něco podobného, jako je automatické mazání proměnných v C++. Pokud má určitý tag definován destruktor, zavolá se tento v momentě, kdy je ukončen blok obsahující proměnnou s tímto tagem. Jednoduchý destruktor příkazu using pro tag File: vypadá takto: stock operator~(File@guard:arr[], count) { for(new i = 0; i < count; i++) { if(_:arr[i] != 0) fclose(File:arr[i]); } } Destruktor dostane jako parametr pole všech hodnot, které opustily blok, a jeho velikost. Tento destruktor se tedy zavolá vždy, pokud proměnná s tagem File@guard: (to je jen název) opustí blok. Makro using zařídí, že taková proměnná bude existovat vždy, když se takový blok otevře, a destruktor se zavolá při každém vyskočení z bloku. Např. příkaz using(new File:f = fopen("file", io_read)) se přetransformuje na toto: for(new File@guard:guard@f = File@guard:fopen("file", io_read), File:f = File:guard@f; _:f != cellmin; _:f = cellmin) Toto zneužívá sémantiku cyklu for k tomu, aby spustilo nějaký kód na začátku a na konci bloku. Napřed se vytvoří dvě proměnné - guard@f a f. První obsahuje vrácenou hodnotu, druhá její kopii. Hodnota cellmin je použita jako ukončovací; na konci bloku je nastavena a v dalším průchodu ukončí cyklus. Mohl bych použít klasický for s jednoprvkovým intervalem, ale tohle mi přijde elegantnější. Teď k té důležité části: jakmile řízení opustí cyklus, proměnná guard@f zmizí a tedy se spustí její destruktor, který zavře soubor. Zbývá otázka - k čemu destruktor? Pokud mohu vyvolat kód na konci bloku, proč smazání nedám tam? Proto: using(new File:f = fopen("f", io_read)) { return; } Bez destruktorů by se soubor nikdy nezavřel, protože řízení opustí funkci ještě před ukončením cyklu. Naopak destruktor je vyvolán i v případě, kdy se cyklus opouští násilně, tedy příkazem break, return nebo exit (ale ne goto a sleep). Díky tomuto se chová using tak, jak by měl.
  8. ___RyDDeRs___

    script AntiReklama System

    Zdravím vás, Toto je můj první FilterScript co dávám sem na forum. Jedná se o AntiReklamu která reaguje rychle a dotyčného zabanuje. FilterScript má 117 Řádku _____________________________________________________________ Jestli AntiRekala má hráče zabanovat nebo jen kicknout nebo i napomenou můžete změnit na řádku [ 65 , 83 , 101 ]
  9. Závodní systém (Lukasz & vEnd) Zdravím, je to už nějakou dobu, co s Lukaszem pracujeme na společném (filé)scriptu. Už název napovídá, že jde o závodní systém. Dynamický závodní systém, který umožňuje vytvářet závodní tratě s vlastní konfigurací a různými možnostmi navíc. Závody lze pojmenovat a uložit do souboru, pak je každý (dle oprávnění) může načíst a hráči se v nich mohou navzájem utkat. Jak k tomu došlo Ten nápad mne nenapadl jen tak. Někteří z vás třeba ještě znají závodní script od pawnera Yagu. V minulosti jsem se s ním často setkával a už tehdy jsem si říkal, že bych rád vytvořil něco na tento styl, akorát lepší. Tehdy jsem ještě do scriptování moc nedělal, ale od té doby se leccos změnilo, že jo. Abych na to nebyl sám (protože takhle mi často dochází motivace po pár hodinách) a protože jsme o společném projektu uvažovali už dříve, požádal jsem Lukasze, zda by se toho také nechtěl účastnit. A on že klidně. Abyste to správně pochopili, nejedná se o předělávku výše zmíněného scriptu! Veškerý kód je čistě náš. A to myslím doslova – žádné sscanf, YSI, cizí cmd nebo file systémy. Co bude systém obsahovat Princip jeho fungování jsem nakousl už výš, teď na co všechno se můžete těšit: – vytváření a načítání závodních tratí (pro jistotu ještě jednou pro obzvlášť pomalé); – různé stupně oprávnění pro správu závodu; – konfigurace každé tratě (systém odměn, nastavení nitra a kolize, povolená vozidla atd.); – doplňující možnosti (stavění objektů do trati, různé módy závodu atd.); – TOP 10 nejrychlejších časů pro každou trať; – dynamické přidávání checkpointů a možná pozdější úprava tratě; – závodění mezi hráči (no shit, vEnd...) s určením jejich pozice v závodu a různé odměny pro vítěze. To si myslím jako motivace stačí. Jak budeme postupovat ve vývoji, přidám nějaké další informace a možná i obrázky. Co už máme – aktivace/deaktivace režimu stavby; – konfigurace závodů; – uložení a načtení závodu; – připojení do závodu; – průběh závodu, určení pořadí závodníků pro standardní mód (pracujeme na dalších); Kdy to vyjde aneb naše pracovní nasazení Přesné ani orientační datum Vám teď neřeknu, protože se s Lukaszem zásadně držíme hesla dělej, jen když se ti chce. Na podzim by to ale být mohlo, když nám to naše prokrastinace dovolí. Momentální stav Barvičkami a procenty se to vyjadřuje nejlépe. 60 %. To je vše, díky za přečtení. - Lukasz & vEnd
  10. Darko698

    script Pravidlá FS

    Vytvoril som môj prvý FS pre ./pravidla dúfam že sa bude páčiť.
  11. bigw3b.

    script Emergency Lightning Module

    Na tvorbe sa podielali milous22 (objekty), NoxeS (dizajn), DYXiCZ (napad) a bigw3b (script). Najdete na http://sfb-rp.cz (1.3.2) uz coskoro. .
  12. Hladám plugin mastra na moj minecraft server Minimalný vek 13 moj skype live:rbrindzak2932 Vsetko dalsie na skype !
  13. Ahojky, chcel by som vám ukázať jeden stock čo som nakódil, fillArray(), ktorý dokáže vynulovať pole, resp. nastaviť každý prvok v poli na nejakú hodnotu. Je to užitočné v tom, že je to rýchlejšie než použitie loopu, pomer rýchlosti sa odvíja od počtu prvkov, kde pre 100 prvkové pole je fillArray() 18x rýchlejší, pre 1000 a viac prvkové ~65krát rýchlejší. Použitie main() { new pole[] = {1,2,3,4}; fillArray(pole, 55); // nastavi kazdu hodnotu v poli na 55 for (new i; i < sizeof (pole); i++) // vypise cele pole, teda 4 riadky s textom "55" printf("%d", pole[i]); } Pre viac-rozmerné polia treba použiť cyklus fillArray()ov. main() { pole[][] = {{1,2}, {3,4}}; for (new i; i < sizeof (pole); i++) fillArray(pole[i]); // default hodnota je 0, toto teda vynuluje cele pole for (new i; i < sizeof (pole); i++) for (new j; j < sizeof (pole[]); j++) printf("%d", pole[i][j]); } Speedtest Ťažko sa získavajú grafy pre rôzne veľkosti polí (lebo pawn nemá polia s dynamickou veľkosťou), ale pár manuálnymi pokusmi som zistil, že s kódom nižšie je fillArray() rýchlejší okolo 18x pre polia o veľkosti 100 prvkov, pre polia okolo 1000 prvkov okolo 70 krát rýchlejší a pre viac (až po 10 000 000 prvkové polia) to už osciluje medzi 60-65-70krát. Získal som: [19:45:51] Klasicka metoda: 74012 tickov [19:45:52] fillArray() metoda: 1075 tickov Pre kód: main() { #define MAX 1234567 new pole[2000]; new tick = GetTickCount(); for (new i; i < MAX; i++) for (new j; j < sizeof(pole); j++) pole[j] = 1; printf("Klasicka metoda: %d tickov", GetTickCount() - tick); tick = GetTickCount(); for (new i; i < MAX; i++) fillArray(pole, 2); printf("fillArray() metoda: %d tickov", GetTickCount() - tick); } Kód (môžete copy-paste do modu) stock fillArray(array[], value = 0, size = sizeof(array)) { new cip; size *= 4; cip = get_code_relative_address(); #emit load.s.alt cip #emit lctrl 6 #emit add #emit add.c 56 #emit stor.s.pri cip #emit load.s.alt size #emit sref.s.alt cip #emit load.s.alt array #emit load.s.pri value #emit fill 0 } stock get_code_relative_address() { new dat, cod; #emit lctrl 1 #emit neg #emit add.c 12 #emit stor.s.pri cod #emit lref.s.pri cod #emit stor.s.pri cod #emit lctrl 1 #emit neg #emit add.c 16 #emit stor.s.pri dat #emit lref.s.pri dat #emit stor.s.pri dat return cod - dat; } Resp., aktuálna verzia (aj s pár vysvetľujúcimi komentmi) tu. Ó, Majstre! Uč ma! Krátke vysvetlenie pre tých, čo vedia čo znamená slovo "assembler", ale nevedia čítať emit.
  14. MajorGames4

    script MultiFS *By MajorGames4*

    ==[Informcia]== Ahojte, vytvoril som svoj FS, a môžete si ho dať voľne na svoj Server. ==[Načo FS slúži]== Tento FS som vytvoril skôr z nudy. Nájdete tam napr. zbrane, oprava auta, a rôzne ďalšie príkazy / funkcie. Ďalej som tam pridal taký menší "AntiHack", ide o to, že keď nejaký hráč zabije nejakého hráča minigunou, automaticky dostane ban. ==[Príkazy]== - /menup - Menu pre hráčov - /menua - Menu len pre Adminov ==[Aký FS bude na budúce?]== Aktuálne pracujem na VIP systéme, kde budú prefixy, rôzne výhody atď... Potom mám na pláne urobiť hlavne pre vás Pravidlá na server, že sa pripojíte na server a zobrazia sa vám pravidlá a vy ich musíte odsúhlasiť. Ďalej v zozname mám v pláne urobiť Admin enu, kde bude: Zabanovať hráča A to je asi všetko.. xD Tak isto ak chcete, môžem vám urobiť váš FS úplne zadarmo. Ale musí to byť FS, GM nerobím. Príklad: Urobím vám FS na hocijaký príkaz, stačí sa len dohodnúť. Môžete ma poprosiť buď tu alebo v SZ, a už sa dohodneme. Možno si hovoríte, že prečo to robím zadarmo? No lebo ma to baví :D. Odkaz na PWN súbor => https://pastebin.com/YXGFW4YE Môžete si to upraviť podľa seba.
  15. 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.
  16. Zdravím, dnes sem se nudil a nikde sem nenašel dražba systém, Tak sem si řekl že zkusím udělat a..... POVEDLO SE! Dražba systém v2 Tady máte kód, chtěl sem přidat pouze .amx, ale potom sem si řekl že stejně sem to hodně lidem dal v .pwn. KÓD:
  17. Itchy

    script 3D Editor

    Prinášam vám 3D editor vo farbách ako Červena, Modrá, Zelená, Biela, Šedá a tak ďalej. Je tam 11 farieb ale dajú sa dorobiť viacej aby boli Ukladá sa do SF pod menom 3Dtext.txt DOWNLOAD 3DText.zip + k tomu je aj COLOR Editor možná ho poznáte niektorý V tom editori si môžeš aké farby len chcieť
  18. Thomasek

    script Gta 5 Styl umrtí

    KOD: #include <a_samp> Tady sem zkoušel něco v pwn (udělal jsem to podle pawn stránek) Jenom textdrawy Doufám že se vám Líbí! Thom Gta5WastedThom.zip
  19. dbG - Double G

    script StuntPark Nevada - FS Download

    Zdravím, vytvořil jsem StuntPark na Nevadě. Budu rád za ohodnocení - Fotky jsou v .rar souboru, download níže. DOWNLOAD : https://ulozto.cz/!55xl4KoGuDT6/stuntpark-nevada-rar OBSAHUJE : 1.) FS StuntParkNevada + AdminVila - Oba 2 FS jsou v jednom - StuntParkNevada 2.) FS Port - AdminVila ( /avila ) 3.) Textový soubor - Kdo stáhne, přečíst ! S҉T҉U҉N҉T҉ ҉P҉A҉R҉K҉ ҉N҉E҉V҉A҉D҉A҉ ҉-҉ ҉B҉Y҉ ҉D҉B҉G҉ | All rights reserved to Jan Partl & dbGraphics
  20. ATomas

    script Timestamp to date

    Zdravím, přináším Vám nový způsob převádění timestamp (časového razítka = počet sekund od 1.1.970) na lidčtější způsob. Sice je tento způsob paměťově (RAM) náročnější. Zato CPU nejrychlejší. Ovšem RAM paměti je pro sa-mp server všude dost. Zato CPU ne. Existuje mnoho způsobů např. vložit timestamp do databáze a nechat si vrátit string výsledek. Ovšem můj způsob vykazuje rychlejší výsledky. Další a asi nejhloupější zpusobje samotné počítání data. Protože tu není povoleno vlozit tak dlouhý kód, dávám sem odkaz: https://pastebin.com/6BN6kc1L Použíti: new time = gettime();//random(cellmax); printf("dnes je %s",GetDate(time)); Pokud chcete k tomu přidat i čas tak to lze lehce pomocí: new time = gettime();//random(cellmax); time = time%(24*60*60); printf("hodin=%d minut=%d vterin=%d",time/(60*60)/*pozor na časové pásmo !!!*/,(time/60)%60,time%60); Enjoy
  21. Guest

    script Rádia + Posluchači.

    http://www.youtube.com/watch?v=GaPxJDId6WA Zdravím, vytvořil jsem systém Radií do svého modu, ale chtěl bych se s váma o něj podělit. Testování na verzy: 0.3e R5. Doba tvoření: 35 Minut. Aktuální verze: v0.2. Co obsahuje verze 0.1? - /Radio pro otevření Dialogu s Rádii. - 12 Českých Rádii. - Počet posluchačů u každého Rádia. - Automatické spuštění Rádia při nastoupení do auta. Co obsahuje verze 0.2? - Nově: Nastavení Rádia u spolujezdce. - Opraven Bug při odpočítávání posluchačů když jste nastoupil jako spolujezdec. Co v další verzy můžete očekávat? - Spouštění vlastního Rádia nebo MP3. Bugy? - O žádných nevím. Když tak mě kontaktujte, kdyby jste nějaký našli. Download? v0.1: http://pastebin.com/DCpup4aD - PWN. http://www.solidfiles.com/d/5dbbf58f7b/ - AMX. v0.2: http://pastebin.com/5zMtjqva - PWN. http://www.solidfiles.com/d/4a27623084/ - AMX. Dekuji za pozornost, doufám že se Script bude líbit. Prosím pište hodnocení.
  22. Ingame Camera Movement Editor O čom to je? Jedná sa o FilterScript, ktorý vám pomôže pri vytváraní pohybu fotoaparátu pomocou InterpolateCameraLookAt a InterpolateCameraPos v hre. Používa sa FlyMod s ktorými môžete ľahko lietať po mape. Vlastnosti => Lietať pomocou FlyMode => Nastavte pozície kamery jednoducho kliknutím na tlačidlo myši => Môžete zmeniť štart pozície, koniec pozície a rýchlosť pozície aj po ukončení pohybu => Jednoducho používaný systém aj z návodom Video Poznámka: Tento filtercript bude fungovať len s SA-MP 0.3e RC5 a vyššie Download: Original topic: Inštalácia: 1. Skopírujte script a dajte ho do programu pawno 2. Stlačte F5 vytvorí sa vám príkaz v amx 3. Vytvorený príkaz dajte do zložky FilterScript 4. Vytvorený príkaz zapíšte do server.cfg 5. Spustite server a ste hotoví!
  23. vladasavel

    script Dynamic GPS

    Tak jsem se rozhodl zveřejnit tento FS:) Na normálních hostingách to nejde(odzkouseno na více serverech) z duvodu ze RouteConnector potřebuje nějak zvláštní knihovnu. Vám kteří valíte na VPS to pujde Ted k samotnému FS Jedná se o Dynamickou GPS která vyhledává nejbližší trasu pomoí pluginu RouteConnetor od GamerZ. Ukládání do databáze pomocí SQL. Práci se SQL mi velice usnadnil SQLite Improved inlud od Slice. Z duvodu že na serveru mi to nefunguje tak je to nejspíš asi poslední verze. Cesta, kterou plugin vypočítá se Vám zobrazí na minimapě ve stylu GangZone(pouze tečky) Příkazy: /addloc [nazev] - Přidá GPS lokaci do databáze /delloc [nazev] - Smaže Lokai kterou zadáte /gps - Zobrazí dialog se všemi lokacemi. Vyberem aktivujete GPS do dané lokace Další funkcí je OnPlayerClickMap - GPS se zapne tam kde jste kliknul na mapu, jen v případě pokud plugin trasu vyhledá. Pro ty co neumějí hledat!!!: SQLite improved http://forum.sa-mp.com/showthread.php?t=303682 GPS RouteConnector plugin - http://forum.sa-mp.com/showthread.php?t=292031 Odkaz na stažení : http://pawno.cz/files/file/14-dynamic-gps-system/ Bugy: O žádných nevím. Maximálně v textech Diskutujte, hodnoťte a ptejte se
  24. NeoRevCrew

    script [inc] ReturnDate

    ReturnDate ​Převod časové známky na datum ​Zdravím, rád bych vám představil moji verzi převodu timestampu na datum - ReturnDate. ​Předem bych chtěl skutečně poděkovat za pozornost a trpělivost při čtení tohoto dlouhého příspěvku, snažil jsem se zkrátit jej co nejvíce to jen šlo tak, aby to bylo pochopitelné a mělo to hlavu a patu. ​V případě problémů či potřeby rady se nebojte mě kontaktovat zde či prostřednictvím SZ. Soubor ke stažení zde. ​Proč jsem udělal vlastní verzi? ​Vyvíjím vlastní mód, kde krom pluginů nepoužívám cizí funkce, vždy se snažím udělat vše po svém tak, aby to bylo rychlejší a pokud možno tak i zatěžovalo míň RAM či CPU než verze z internetu. Je sice pravda, že já testuju funkce v cyklu opakující se 1.000.000x (abych zajistil rozdíly) a v praxi se vyvolá tak jedou, možná 2x 3x, ale nemění to nic na tom, že kód musí být nepřehledný a zbytečně komplikovaný, když to jde jednoduše. V tomto případě jsem se po zkušenostech a používání funkcí TimestampToDate a 'date', které mi často ukazovaly trochu jiný datum než měly, že udělám vlastní převod na datum. ​Jaký je rozdíl mezi původními a touto verzí? ​Tato verze nepoužívá zbytečně dvourozměrné proměnné (do kterých se ukládá 12 měsíců, ke každému 2 možné počty dní v měsíci a časová známka) jako je tomu u původních verzí. ​Dalším a hlavním rozdílem je to, že se časová známka nebere od 1.1.1970 00:00:00, ale od předem nastaveného začátku roku. ​Například první registrovaný hráč X bude dne 12.1.2017 (čas není důležitý) a vím, že server nebude už ukládat žádná starší data, ale vždy už jen novější (později registrovaní, timeban,..). ​Proto v includu nastavíme FYear jako 2017; FStamp jako časovou známku pro půlnoc 1.1.2017 (možné získat ZDE, je potřeba k výslednému timestampu přičíst 7200 -> 2 hodiny, SEČ). Při vyvolání funkce se jakoby už přeskočí k té zadané části, kterou je v tomto případě začátek roku 2017 a pokračuje už výpočet ze zbylé časové známky. Prvně se začne cyklit odčítání roku (pokud je minimálně 1 rok k dispozici), dále pokračuje na zjištění měsíců (v tomto kroku není udělaný cyklus, ale jelikož víme, že už zbývá 12 měsíců tak je po jednom prověříme, pokud se zjistí, že už není další k dispozici, přeskočí se na klasické cykly, které dopočítají dny, hodiny, minuty a zbytek jsou sekundy. ​Výhody a nevýhody? ​Výhodami této verze je rychlejší provedení a menší využití paměti RAM. ​Nevýhodou je, že funkce nezjistí starší data než od definovaného v includu (čímž se vlastně zajistí to rychlejší provedení). ​​Test rychlosti ​Porovnal jsem rychlost všech 3 funkcí v cyklu 1.000.000 - ReturnDate, TimestampToDate a date. ReturnDate: 1749 | 709 | 1809 ms (průměr: 1423 ms) TimestampToDate: 3568 | 2167 | 3454 ms (průměr: 3063 ms) date: 37637 | 9752 | 37344 ms (průměr: 28245 ms) ​Shrnutí funkce ​Abych tedy shrnul použití této funkce. ​Přidejte soubor returndate.inc do složky pawno\include. ​V souboru dle vlastních potřeb upravte FYear a FStamp. ​FStamp si můžete obstarat ZDE, zadáte jako datum 1.1. (rok podle FYear) - čas 00:00:00. ​Z timestampu, který vám vygeneruje musíte odečíst 7200 (to jsou 2 hodiny, kvůli SEČ). ​Výslednou hodnotu nastavíte k definici FStamp. ​Příklad, jak získat FStamp a FYear je zde.
×