Jump to content

Search the Community

Showing results for tags 'script'.

  • 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

  1. ​Čaute dneska som si vytváral vlastný Warp Systém ale mám 26 errorov prosím helpnite tu sú riadky : Prosím pomôžte
  2. gouster

    script Teleport prikaz

    #define SCM SendClientMessage QCMD:tp(){ tp(playerid,params); return 1; } stock tp(playerid, params[]){ new Float:x, Float:y, Float:z, id1, id2; if(sscanf(params, "ifff", id1, x, y, z)) { if(sscanf(params, "fff", x, y, z)) { if(sscanf(params, "ii", id1, id2)) { if(sscanf(params, "i", id1)) SCM(playerid,-1,"Použi: /tp ID X Y Z | /tp X Y Z | /tp ID ID | /tp ID"); else { if(playerid == id1) return SCM(playerid,-1,"Nemôžeš sa teleportovať sám na seba"); if(!IsPlayerConnected(id1)) return SCM(playerid,-1,"Hráč nieje pripojený"); GetPlayerPos(id1, x, y, z); SetPlayerPos(playerid, x, y, z); } } else { if(id2 == playerid && id1 == playerid) return SCM(playerid,-1,"Nemôžeš sa teleportovať sám na seba"); if(id1 == id2) return SCM(playerid,-1,"Nemôžeš teleportovať hráča na seba samého"); if(!IsPlayerConnected(id1)) return SCM(playerid,-1,"Hráč nieje pripojený"); if(!IsPlayerConnected(id2)) return SCM(playerid,-1,"Hráč nieje pripojený"); GetPlayerPos(id2, x, y, z); SetPlayerPos(id1, x, y, z); } } else { SetPlayerPos(playerid, x, y, z); } } else { if(!IsPlayerConnected(id1)) return SCM(playerid,-1,"Hráč nieje pripojený"); SetPlayerPos(id1, x, y, z); } return 1; } http://wiki.sa-mp.com/wroot/index.php?title=Sscanf_code
  3. Neon Systém Ahojte chtěl bych vám prezentovat můj první FS. Jedná se o Neon Systém viz fotky. http://i.imgur.com/Y9DeS4b.png Při zadání přikazu "/neon" se zobrazí tyto barvy: MODRÁ ZELENÁ ŽLUTÁ BÍLÁ RŮŽOVÁ ČERVENÁ Odstranit neon Download: http://pawno.cz/files/file/43-neon-syst%C3%A9m-by-the-boslosos-cz/ Hodnocení potěší
  4. Ipoe

    script ES

    Ahojte Schaním Event System.amx Díky za odpověd.. přeju hezký den BYEE
  5. Fallen

    script Mód

    Dobrý večer. Chcel by som predať svoj mód. Kto by mal záujem, napíšte SZ, popíšem čo a ako funguje. Som ochotný pokračovať aj v tvorbe.
  6. Ahojte mam Mód ale a som si spravl new server .. mal som i portál a neviete ako zmením to že ak dám /vip ... tak ma to hodí na starú stránku ? ďakujem alebo tam niečo vypíše
  7. 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
  8. Registrace, login a změna hesla Před nedávnem jsem se začal věnovat pawnu a jako první jsem hledal register/login systém a s tím změnu hesla. Nějak se mi nedařilo a nemohl jsem najít tento FS a tak jsem si řekl, že tak to nepůjde. Začal jsem dělat vlastní a nakonec se podařilo. Občas jsem mrkl na vedlejší práce, ovšem pouze když jsem opravdu netušil, jak dále a proto se některé kódy mohou zdát ,,okopírované". Chci poděkovat SkiBigovi že mi otevřel oči a dokázal mi, že Dof2 je lepší a jednodušší, než dini. Zde je kód: http://pastebin.com/4GJjjvWw Obrázky: https://ctrlv.cz/5OWc https://ctrlv.cz/7itj https://ctrlv.cz/bq7Z https://ctrlv.cz/BVmQ Můžete využít na jakékoliv účely. v1.1 Update scriptu - 17.8.2016 Obsahuje: Ukládání statistik (poslední pozice, peníze, nahraný čas, IP adresu, skin, úmrtí, zabití) Nový příkaz /informace Hezčí vzhled přihlašování/registrace/změny hesla (nové barvy, text) Z DCMD na IZCMD Obrázky: https://ctrlv.cz/ERIu https://ctrlv.cz/zc9m https://ctrlv.cz/3KQK https://ctrlv.cz/ipwN Pastebin: http://pastebin.com/Fm0b3djL Pokud bude čas a nálada, možná udělám ještě dialog s nastavením účtu (heslo, nick atd.) Vývoj scriptu jsem ukončil a pokud budete chtít další věci přidávat, je to již na Vás. Momentálně pracuji na dalším scriptem který zveřejním brzy.
  9. LenRevoL

    script RLsystem v0.1

    CC nudil som sa tak som si urobil taky RL system ale mne je nanič :d tak ho davam tu Prikazy: Admin level 1: /prikazy - zobrazenie prikazov /oprav [iD] - opravi hračovi auto a namontuje nitro /hinfo [iD] - Vypiše informacie o hračovi /go [iD] - Potne vas za hračom /come [iD] - Potrne hrača k vám /mute [iD] [Dôvod] - umlči hrača /unmute [iD] [Dôvod] - odmlči hrača /vybava [iD] Admin level 2: /objekt [iD objektu] - vytvori objekt + editaciu /rll [Text] - Napiše všetkym hračom text do stredu obrazovky Text Návod na inštaláciu :d: 1. Stiahnete si include dini niekde tu http://dracoblue.net/downloads/dini/ 2. Date ho do zložky include 3. V zložke scriptfiles vytvorite zložku RLsystem 4. Ďalej už viete RLsystem k stiahnuti TU !!! http://pastebin.com/bij4VN6c
  10. zdravim dnes bude jen kratky navod na /setloc /teleport pomoci typu prikazu ZCMD. nikde jsem nenasel navod na setloc teleport, tak to sem davam. jestli nekde je navod, tak moje chyba. takze nejdriv vytvorime toto: CMD:setloc(playerid){ return 1; } po te dovnitr napiseme toto: GetPlayerFacingAngle(playerid, Angle); GetPlayerPos(playerid,pX,pY,pZ); new meno[MAX_PLAYER_NAME+1]; new text[128]; GetPlayerName(playerid, meno, sizeof(meno)); format(text, sizeof(text), "{00FF00}Hráč %s uložil veřejnou pozici {FFFFFF}->>> /teleport", meno); SendClientMessageToAll(COLOR_CYAN, text); zpravu muzete zmenit... cele by to melo vypadat takto: CMD:setloc(playerid){ GetPlayerFacingAngle(playerid, Angle); GetPlayerPos(playerid,pX,pY,pZ); new meno[MAX_PLAYER_NAME+1]; new text[128]; GetPlayerName(playerid, meno, sizeof(meno)); format(text, sizeof(text), "{00FF00}Hráč %s uložil veřejnou pozici {FFFFFF}->>> /teleport", meno); SendClientMessageToAll(COLOR_CYAN, text); return 1; } dale si vytvorime toto... CMD:teleport(playerid){ return 1; } po te tam napiseme tohle.. new car = GetPlayerVehicleID(playerid); if(IsPlayerInAnyVehicle(playerid)){ SetVehiclePos(car,pX,pY,pZ); SetVehicleZAngle(car, Angle); }else{ SetPlayerPos(playerid,pX,pY,pZ); SetPlayerFacingAngle(playerid,Angle); } new meno[MAX_PLAYER_NAME+1]; new text[128]; GetPlayerName(playerid, meno, sizeof(meno)); format(text, sizeof(text), "{00FF00}Hráč %s se teleportnul na veřejnou pozici {FFFFFF}->>> /teleport", meno); SendClientMessageToAll(COLOR_CYAN, text); zpravu si opet muzete zmenit a jeste si napiste nekde nahoru tohle, a mate hotovo: new Float:pX,Float:pY,Float:pZ,Float:Angle; doufam ze tento tutorial pomohl do nejakeho modu, nebo do cehokoliv myslim ze urcite ano... a jestli ne, tak mě je to jedno, pokračuji dale a dale... INCLUDE ZCMD: https://uloz.to/!u66tZaF7/zcmd-inc
  11. OceT

    script Duel Systém v1.1

    Jednoduchý Duel Systém v1.1 by OceT. Příkazy: /Duel /Leave [ Příkazy dělané přes IZCMD ] /Duel - Dialog s možnostmi Založit Duel, Podívat se na ID Zbraní, Sledovat Duel Když hráč založí duel se zbraní např. Sawn-off Shotgun, tak jiný hráč se musí zapojit do duelu s tou samou zbraní. Není tedy možné, aby proti sobě bylo třeba RPG vs. Dildo .. Z duelu hráč nemůže nijak utéct, protože plocha kde se duel odehrává je ohraničena. Příkaz pro odchod z duelu - /Leave Není to nic těžkého, tak v tom nehledejte nic extra.. Hotovo za 1 hodinu.. + Ke stáhnutí dávám .pwn + .amx Duel Systém.rar
  12. Ewwe

    ostatní Banlist parser

    Zdarec, Hodně hostingů nabízí banlist, který si můžete umístit na web. Jenže co si budeme říkat... Ten banlist je hnusnej... A tak jsem včera udělal takovej scriptík díky kterému si můžete ze serveru banlist stahovat a nastylovat si ho jak se vám zlíbí. Script pro PHP 5 : ZDE Script pro PHP 7 : ZDE Nastavení a sprovoznění: require( "[CESTA_K_SOUBORU_S_TŘÍDOU]/Banlist.parser.class.php" ); $ban = new Banlist( "ftp_host" , "ftp_user" , "ftp_heslo" ); $ban->getBanlistFile(); Tím tedy připojíte FTP a stáhnete soubor s banlistem a smažete starou verzi ( pouze v případě že se nový banlist stahne ) Nyní pro vypsání můžete použít několik funkcí Pokud se stím nechcete "srát" a chcete mít banlist v tabulce tak stačí použít funkci stylizeRow a případně stylizeRowEcho Použití stylizeRow <?php $banlist = $ban->stylizeRow("<td>" , "</td>" , "<tr>" , "</tr>" ); foreach( $banlist as $banned ) { echo $banned; } ?> Použití stylizeRowEcho <?php $ban->stylizeRowEcho("<td>" , "</td>" , "<tr>" , "</tr>" ); ?> V případě že si chcete sami nastylovat a nadesignovat banlist je tu funkce parseBanlistFile $bany = $ban->parseBanlistFile(); foreach( $bany as $banned ) { Jednotlivé informace jsou pak uloženy v $banned["IP"] $banned["DATE"] $banned["PLAYER"] $banned["REASON"] To je tedy vše. Pokud PHP umíte tak nejspíše si napíšete vlastní, ale v opačném případě jsem Vám snad pomohl.
  13. rEf

    script Lov (hitman)

    /* Hunt "netestované" (nudil jsem se tak mě napadl systém lovu který označuje loveného hráče na mapě (ikona) a po jeho zabití získá lovec odměnu) - využívá ZCMD (google: zcmd.inc) a sscanf (google: samp wiki sscanf code) */ enum HuntInfo { hunt_id, hunt_timer, hunt_reward, hunt_state }; new Hunt[HuntInfo]; forward Hunting(playerid); public Hunting(playerid){ new Float:x, Float:y, Float:z; if(Hunt[hunt_state] == 1) RemovePlayerMapIcon(playerid, 0); // když je lov aktivní smaže ikonu aby se mohla vytvořit opět GetPlayerPos(playerid, x, y, z); // zjistíme pozici hráče SetPlayerMapIcon(playerid, 0, x, y, z, 2, 0, MAPICON_GLOBAL); // nastavíme na pozici map ikonu (za 1s se smaže a nastaví nová na novou pozici) if(Hunt[hunt_state] != 1){ // když není aktivní lov tak ... Hunt[hunt_id] = playerid; // ... nastavíme na hunt_id id loveného Hunt[hunt_timer] = SetTimerEx("Hunting", 1000, true, "i", Hunt[hunt_id]); // spustíme opakovaný sekundový timer (kvůli aktualizaci ikony) Hunt[hunt_state] = 1; // nastavíme lov jako aktivní } return true; } CMD:hunt(playerid, params[]){ new id = strval(params), reward, s[128]; if(sscanf(params, "ud", id, reward)) return SendClientMessage(playerid, -1, "/hunt [id hráče] [odměna v $]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Toto ID neexistuje."); else if(IsPlayerNPC(id)) return SendClientMessage(playerid, -1, "Toto je NPC."); else if(reward =< 0) return SendClientMessage(playerid, -1, "Chybně zadaná odměna."); format(s, sizeof(s), "Hráč %s spustil lov hráče %s. (Odměna: $%d)", PlayerName(playerid), PlayerName(id), reward); SendClientMessageToAll(-1, s); Hunt[hunt_reward] = reward; // nastaví odměnu Hunting(id); // spustí hlavní public (lov) return true; } CMD:endhunt(playerid, params[]){ if(Hunt[hunt_state] != 1) return SendClientMessage(playerid, -1, "Aktuálně se žádný lov nekoná."); Hunt_End(); return true; } public OnPlayerDeath(playerid, killerid, reason){ if(killerid != INVALID_PLAYER_ID){ // kontrola zda ho zabil hráč a neumřel sám if(Hunt[hunt_state] == 1){ // kontrola zda je lov aktivní if(playerid == Hunt[hunt_id]){ // kontrola zda id zabitého je id zapsané na hunt_id new s[128]; format(s, sizeof(s), "Hráč %s ulovil loveného %s a získal $%d.", PlayerName(killerid), PlayerName(Hunt[hunt_id]), Hunt[hunt_reward]); SendClientMessageToAll(-1, s); GivePlayerMoney(killerid, Hunt[hunt_reward]); // dá peníze lovci Hunt_End(); } } } return true; } stock Hunt_End(){ // zruší map ikonu, timer a resetuje informace SendClientMessageToAll(-1, "Lov byl ukončen."); RemovePlayerMapIcon(Hunt[hunt_id], 0); KillTimer(Hunt[hunt_timer]); Hunt[hunt_id] = -1; Hunt[hunt_reward] = 0; Hunt[hunt_state] = 0; return true; }
  14. 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
  15. SKEAKYEVIL.PWN - EVENT, RADIO SCRIPT Zdravím. Po nedávné... takové zajímavé rozpravě z jedním z uživatelů na tomto fóře, se rozhodl(ten uživatel) nám dát do rukou "jeho" "script", který podle jeho vlastních informací, on sám vytvořil. Ale já, a velká většina lidí určitě bude souhlasit, že toto nemůže být na 100% jeho práce. Nechci se již zdržovat s hledáním podobných kódů, či stejných kódů. Na to tu jsou jiní odborníci (Xogos). Potvrdil to hlavně "jeho" zveřejněným gamemodem, který nebyl nic více než jen zkopírovaný návod na y_ini a nebo neustálím zakládáním help topiců. Bohužel. Patřičný uživatel již na to zveřejnil topic akorát ho zamkl a doufá, že mu to nikdo nemůže zkritizovat (ale ani pochválit), tož je taky jeden z důvodů proč zakládám tento topic. Aby jste i vy mohli říct kritiku/pochvalu tomuto "scriptu".... Máme právo svobodného projevu podle článku 10 viz. úmluva o ochraně lidských práv a základních svobod: Abych se vyhnul vaším příspěvkům například typu: "ty ho tímhle jenom shazuješ", nebo "jsi akorát hejter", tak jsem si dovolil přidám sem ocitovanou zprávu od jiného uživatele, který již dělal něco podobného. Přidal takové upozornění, se kterým sympatizuji, a doufám, že vy budete také: Tak, nebudu to už zbytečně zdržovat, a pustíme se rovnou do toho. Jako první, čeho si můžeme všimnou je práce s deklarováním proměnných a s preprocesorem: Velice zajímavé, že ano? Přidává direktivní podmínku, že v případě, že je definován "FILTERSCRIPT", tak se začne volat callback OnFilterScriptInit, a v případě, že ne, tak se teprve deklarují proměnné(a ještě main samozřejmě). Dle poznámky uncomment the line below if you want to write a filterscript, což by se dalo přeložit jako: že v případě, že děláme FS tak máme odstranit komentář že řádku pod ním... bychom tak učinili, měli bychom hromadu chyb(OBRÁZEK). Jestli to byl záměr "autora" či ne... To nikdo neví. Už máte zvolené nějaké jméno gamemodu a určitě nechcete aby vám ho nějaký script přepsal? To bohužel s použitím tohoto "scriptu" máte smůlu. Hned ze začátku nám "autor" přidat fci, která přepíše jmeno GM: public OnGameModeInit() { SetGameModeText("Realna Zeme Rework v2.1"); V dalším kódě uživatel zřejmě neumí pracovat s polem, a proto má za každou deklarovanou proměnnou číslo, které nejspíše udává pořadí(Radio1, Radio2, Radio3...): Další čeho si můžeme všimnout, že zbytečně volá callbacky, které nevyužívá: Za další máme zřejmě jakou si "ochranu" před secret příkazy pro rze. Proč "autor" přidává podmínku na každý příkaz a nepřidá na to jednoduše proměnnou s polem? Jedinou podmínkou bude moct zkontrolovat, jestli nezadal jeden z těch příkazu, ale to opět, nic takového zřejmě nezná: Právě teď jsem úplně ztracený... hned ze začátku nám "autor" do fce přidal, že gamemod, na který se tento "script" přidá, tak bude "rework"(aka něco na způsobu "předělané"), ale on nám zakazuje všechny základní příkazy v rze. Proč? Opět: To nikdo neví?... Hned pod ním, je další "příkaz". Ale obsah je... zvláštní. Nejdříve po zadání příkazu, deklaruje proměnnou s různou hodnotou a pak jí přepne.. přidá 2 podmínky a tím skončí. Důvod existence? To nikdo neví: if (strcmp("/test", cmdtext, true, 10) == 0) { new rand = random(7); switch(rand) { case 0: { } case 1: { } case 2: { } } return 1; } A nakonec v callbacku máme poslední příkaz, a to /pp. Akorát, je celý zapoznámkovaný. Což inu dobře, ale proč "autor" nepoužil /* */ ? To ani to nezná?... //if (strcmp("/pp", cmdtext, true, 10) == 0) //{ //if(Port == 0) //{ //Port = 1; //} //return 1; //} //if (strcmp("/pop", cmdtext, true, 10) == 0) //{ //if(Port == 0) //{ //SendClientMessage(playerid,0xFFFFFFFF,"PORT JE ZATVOREN"); //} //if(Port == 1) //{ //SendClientMessage(playerid,0xFFFFFFFF,"PORT JE OTVOREN"); //} //return 1; //} No, v callbacku raději skončíme a pokračujme na callback OnPlayerEnterVehicle. První co mě zarazí je neskutečný "spam" fcí TextDrawHideForPlayer: TextDrawHideForPlayer(playerid, Radio1); TextDrawHideForPlayer(playerid, Radio2); TextDrawHideForPlayer(playerid, Radio3); TextDrawHideForPlayer(playerid, Radio4); TextDrawHideForPlayer(playerid, Radio5); TextDrawHideForPlayer(playerid, Radio6); TextDrawHideForPlayer(playerid, Radio7); TextDrawHideForPlayer(playerid, Radio8); TextDrawHideForPlayer(playerid, Radio9); TextDrawShowForPlayer(playerid, Radio1); Chcete vědět, kolik jich přesně je v celém "scriptu"? Nepočítejte, udělám to za vás, a to přesně 251. Hrůza! Fuj!... Tady mohl krásně na to využít "autor" pole a cyklem a zkrátilo by se to alespoň na pouhých pár desítek, ale to bohužel nezná... Snad vám je tady nebudu muset všechny vypisovat. To raději skočíme až na callbacky "autora": Takže, pokud jsem to správně pochopil z fci, kde tyto fce volá, tak každý tento callback nám spustí event o dané výhře 1mega, 5mega, 10mega a tak dále... Ne jenom, že uživatel nemá možnost si tedy vepsat vlastní výhru, ale proč to "autor" řeší tak zbytečně blbě? Stačí deklarovat jedinou promměná a jediný callback... a on jako řešení volá hned 8 callbacků. Peuu... To samé udělal i se startem těch eventů: No rozebírát všechny chyby by bylo na hodiny... A na konec tu máme callback, který se zřejmě volá po příchodu na server. Opět "autor" zřejmě neumí pracovat s cyklem: Hodnotím 1/10 za shanu+za snahu skrýt okopírovaný zdrojový kód... Grafické zpracování inspirováno(červená velká písmena) uživatelem Lukasz. INFO Slova, která jsou v uvozovkách značí pochyby... například "autor" značí, že člověk, který dělal na tomto scriptu, zcela zřejmé nezpracoval celý script sám na 100%, či "script", zase značí pochyby o správném zpracování scriptu. "Autorem" tohoto "scriptu" je R0cky. Script naleznete zde: http://pawno.cz/topic/53154-event-system-a-radio-pwn/
  16. Tu máte můj Event System a Radio ktoré hraje iba v aute. Lockuju hned lebo nekterý si omne mysli že kopiruju nevim čo si stále myslite... (Daniels, Lukasz, SkiBig18 atd..) No tak tu mate link: http://uloz.to/xrJuaTs9/sneakyevil-pwn Když tak poupravte. Event spustite napsanim: /esna - spustit event Vyberete Kopec Smrti nebo Let Smrti pak o kolik se hraje když skonči event napišete /esna date vybrat výherce a tam napíšte ID IDHRACE A když mate RZE mate tam pár príkazu ktere blokuje pujcku a když tak neco zmazte.
  17. Woody

    script Všehoscript

    Zdravím, dlouho jsem zvažoval o zveřejnění tohoto filterscriptu, ale nakonec jsem se rozhodl, že ho zveřejním. Určitě by se dalo ledacos vytknout, udělat jinak, takže konstruktivní kritiku vítám. Co script obsahuje? 1) /carmenu - Spawn auta přes dialog s ochranou proti spamu 2) /neon - Nainstalování neonu do auta 3) /setskin - Nastavení skinu 4) /opravauto - Oprava auta s časovou ochranou proti spamu 5) /zivoty - Doplnění full životů s časovou ochranou proti spamu 6) /radio - Spuštění radia 7) /mute a /unmute - Umlčení a odmlčení hráče 8) /barvy - Výběr barevného nicku 9) /chatcolor - Výber barvy pro barevné psaní do chatu +BONUS - Náhodné soutěže v chatu s výhrou zbraní Najde zde zkrátka vše, co hodně lidí možná hledá nebo hledalo. Pro kompilaci stiskněte F5, není potřeba žádný include. Pastebin: http://pastebin.com/FdvfuZYj Download: http://pawno.cz/files/file/34-v%C5%A1ehoscript/
  18. Apache

    script Minomet

    Zdravím, tak mě napadlo, udělat minomet, ve stylu tepelného zaměřování, attachuntý na Yosemite. Do hlavy mi skočila myšlenka, tak sem se jí teda snažil udělat co nejreálněji.. Script obsahuje celkem 3 příkazy, /yosemite pro spawnutí vozidla s minometem, /desyosemite a /sestrelit id. A ted samotné vystřelení, pro sestřelí zadaného ID nesmí být od vás víc jak 200 metrů. Při výsřelu letí projektil svísle nad vás a přibližně po 500 metrech začne padat na zadané ID řízený projektil. Při testování sem žádný bug nenašel. Sem nováček, tak berte ohled na to, že né vše bude napsané zrovna nejlíp Downoad > http://ulozto.cz/xMFE8pVb/minomet-sa-mp-rar < #include <a_samp> #define SCM SendClientMessage new Yosemite; new Javelin; new Projektil; new Nabiti[MAX_PLAYERS]; new VY[MAX_PLAYERS]; new Sestreleny; public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Minomet by Misan"); print("--------------------------------------\n"); SetTimer("YosemiteInfo", 600000, true); return 1; } forward YosemiteInfo(playerid); public YosemiteInfo(playerid) { if(!IsPlayerAdmin(playerid)) return SCM(playerid, 0x00FF00, "Na serveru se nachází pojízdný minomet, můžeš požádat RCON administrátora, aby ti ho spawnul!"); else if(IsPlayerAdmin(playerid)) return SCM(playerid, 0x00FF00, "Na serveru se nachází pojízdný minomet, pro použití zadej /yosemite nebo /sestrelit id"); return 1; } forward NabitiJavelinu(playerid); public NabitiJavelinu(playerid) { Nabiti[playerid] = 0; return 1; } forward ZamireniCile(playerid); public ZamireniCile(playerid) { new Float: X, Float: Y, Float: Z; new Float: OX, Float: OY, Float: OZ; GetPlayerPos(Sestreleny, X, Y, Z); GetObjectPos(Projektil, OX, OY, OZ); MoveObject(Projektil, X, Y, Z, 35); SetTimerEx("TepelneZamerovani", 10, 1, "i", playerid); if(OZ == Z) { DestroyObject(Projektil); } return 1; } forward TepelneZamerovani(playerid); public TepelneZamerovani(playerid) { new Float: X, Float: Y, Float: Z; new Float: OX, Float: OY, Float: OZ; GetPlayerPos(Sestreleny, X, Y, Z); GetObjectPos(Projektil, OX, OY, OZ); MoveObject(Projektil, X, Y, Z, 70); if(OZ + random(1) == Z) { DestroyObject(Projektil); CreateExplosion(OX, OY , OZ, 6, 10); } return 1; } public OnVehicleDeath(vehicleid, killerid) { DestroyVehicle(Yosemite); DestroyObject(Javelin); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/yosemite", cmdtext, true, 10) == 0) { if(!IsPlayerAdmin(playerid)) return SCM(playerid, 0x00FF00, "[!] Tento příkaz je určen pro RCON administrátory [!]"); else if(IsPlayerAdmin(playerid)) { new Float:X, Float:Y, Float:Z, Float:A, Jmeno[15], Text[65]; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, A); Yosemite = CreateVehicle(554, X, Y, Z, A, 0, 1, 3000); Javelin = CreateObject(360, X, Y, Z, 0.00000, -90.00000, 90.00000); AttachObjectToVehicle(Javelin, Yosemite, -0.02941, -0.68162, 0.40010, 0.00000, -90.00000, 90.00000); GetPlayerName(playerid, Jmeno, sizeof (Jmeno)); format(Text, sizeof(Text),"[!] RCON Administrátor %s spawnul pojízdný minomet [!]",Jmeno); SendClientMessageToAll(0x00FF00, Text); } return 1; } if (strcmp("/desyosemite", cmdtext, true, 10) == 0) { new Jmeno[15], Text[65]; DestroyVehicle(Yosemite); GetPlayerName(playerid, Jmeno, sizeof (Jmeno)); format(Text, sizeof(Text),"[!] RCON Admistrátor %s nechal pojízdný minomet zničit [!]",Jmeno); SendClientMessageToAll(0x00FF00, Text); DestroyObject(Javelin); return 1; } if (strcmp("/sestrelit", cmdtext, true, 10) == 0) { new Float:X, Float:Y, Float: Z, SJmeno[15], Jmeno[15], Text[60]; Sestreleny = strval(cmdtext); GetPlayerPos(playerid, X, Y, Z); GetPlayerName(Sestreleny, SJmeno, sizeof(SJmeno)); if(!strlen(cmdtext)) return SCM(playerid, 0x00FF00, "[!] Použití /sestrelit id [!]"); else if(!IsPlayerConnected(Sestreleny)) return SendClientMessage(playerid, 0x00FF00, "[!] Žádné takové ID není připojené [!]"); else if(playerid == Sestreleny) return SCM(playerid, 0x00FF00, "[!] Šílenče! Chceš se snad nechat zabít? [!]"); if(IsPlayerInRangeOfPoint(Sestreleny, 200, X, Y, Z)) { if(Nabiti[playerid] == 0) { if(VY[playerid] == 1) { GetPlayerName(playerid, Jmeno, sizeof(Jmeno)); format(Text, sizeof(Text),"[!] Hráč %s vystřelil z minometu na hráče %s [!]", Jmeno, SJmeno); SendClientMessageToAll(0x00FF00, Text); Projektil = CreateObject(345, X -0.07671, Y -0.84980, Z + 1.10453, 90.00000, 0.00000, 0.00000); MoveObject(Projektil, X, Y, Z + 3000, 32); Nabiti[playerid] = 1; SetTimerEx("NabitiJavelinu", 10000, false, "i", playerid); SetTimerEx("ZamireniCile", 4000, false, "i", playerid); } else SCM(playerid, 0x00FF00, "[!] Nejsi ve speciálním yosemitu [!]"); } else GameTextForPlayer(playerid, "Nabijim", 1000, 1); } else if(!IsPlayerInRangeOfPoint(Sestreleny, 200, X, Y, Z)) return SCM(playerid, 0x00FF00, "[!] Hráč na kterého se chystáš vystřelit musí být od tebe míň jak 200 metrů [!]"); return 1; } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(vehicleid == Yosemite) { VY[playerid] = 1; SCM(playerid, 0x00FF00, "Nasednul si do vojenského Yosemitu, pro vystřelení z minometu zadej /sestrelit id"); } return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { if(vehicleid == Yosemite) { VY[playerid] = 0; } return 1; } Minomet SA-MP.rar
  19. LukYs

    script Umeni v dialogu

    Umeni Jsem novacek, takze necekejte nic velkeho... Bojova Umeni: Normalni Box Kung-fu Knee Head Grab Kick Elbow Downloand: http://ulozto.cz/xffUw6AC/umeni-pwn
  20. Zdravím. Prostě a jelikož u příspěvku BTomase bylo DMCD, rozhodl jsem se to dát do CMD. Obsahuje to úplně to samé, takže funkce je stejná. http://pawno.cz/files/download/32-radiosystem/ Není to moje práce, takže mě nemusíte hodnotit
  21. Tomas99

    script Respawn aut

    Zdravím vás lidi. Tak jsem se maličko nudil a někdo po mě chtěl udělat script na respawn prázdních aut. Pak už jsi o něj neřekl tak ho dám tady vám. Vozidla se respawnují bud po určité době, kterou lze změnit na řádku 6 a7 Nebo je můžete respawnout pomocí příkazu /rc
  22. Updates: 1.5- Optimalizácia kódu. 1.4- Rozdelenie systému na 3 kategórie ( IZCMD/ZCMD/Pawn.CMD, YSI, DCMD ). Changelog: Jedná sa o nový a rýchli Neon- Light systém, ktorý vám prináša, základni výber a inštaláciu neónov, na vaše vozidlá. Vznik tohto systému, bol z následujúceho dôvodu. Každý, kto používal stiahnuté neóny, a je jedno či sa jednalo o skript, z SA:MP.com fóra, alebo SK/CZ. Všetky tieto systémy, mali vážnu vadu, kedy sa neóny, tkv. bugovali vo vozidlách. Toto ma prinútilo, k vytvoreniu tohto skriptu, aby ľudia ktorý nepoznajú pawn a chcú nejaký takýto skript, bez zbytočných bugov, a učenia sa jazyka pawn. Stačí iba stiahnuť a vložiť na server, prípadne môžte s kódom manipulovať, ako určite za vhodné, za podmienok dodržania autorskej licencie, ktorá je viazaná, Slovenským autorským zákonníkom, ktorý sa viaže na zvyšné krajiny dohody. Kde samozrejme patrí aj Česká republika a zvyšné krajiny dohody. Preto dúfam, že že vás nenapadne zmena autorovho mena. Download Neon-Light System
  23. Radio System Jaké rádia rádio obsahuje? - Fun Radio - The Vibe Of Vegas - HipHopStage - Frekvence 1 - Evropa 2 - Dance Radio Příkazy: /radio - zobrazí rádio v dialogu, na výběr je 6 rádií + vypnutí rádia. Typ Příkazu: DCMD Downloand: PWN: http://ulozto.cz/x5sQ5KVb/radiosystem-pwn Heslo Souboru: pawno.cz
  24. Lukasz

    script [0/10] BUSINESS SYSTEM

    Dobrý den, na požádání autora toho scriptu, který naleznete zde na fóru (http://pawno.cz/files/file/29-dynamické-nemovitosti/), jsem se rozhodl sepsat menší kritiku kódu. Uvědomte si prosím, že kritika sama o sobě není nic záporného a je velice významná. Bez ní bychom se nikam neposunuli. Omlouvám se předem všem, koho se tento topic nějak nepříjemně dotkne. Ihned po otevření pwn scriptu nám autor zanechal velice znepokojující zprávu DIE IN HELL...N00008 Ignoroval jsem jeho výhrůžky a odvážně pokračoval ve čtení jeho kódu. Asi hned jako první prohřešek jsem narazil na tento krásný kód. stock PlayerName(playerid) { new name[255]; GetPlayerName(playerid, name, 255); return name; }Autor má asi jména delší, než povoluje SAMP (zajímalo by mě, proč zrovna 255) Dále tu máme funkci stock FormatTime(sekund, bool:exact = false) předpokládám, že jí nepsal sám autor.. nicméně if(sekund < 60) format(str, sizeof(str), "%i sekund", sekund%60);Protože zbytek po dělení (sekund / 60) nejsou už v proměnné sekund.. (ironie). V OnFilterScriptInit narážím na další podivnost for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)OnPlayerConnect(i);Autor zde využil "vychytávku" GetPlayerPoolSize, nicméně volá OnPlayerConnect.. V čem je problém? public OnPlayerConnect(playerid) // ***** tu má OnPlayerConnect z jiného FS asi { VEZENI[playerid] = TextDrawCreate(272.000000, 380.000000, "_"); TextDrawBackgroundColor(VEZENI[playerid], 255); TextDrawFont(VEZENI[playerid], 1); TextDrawLetterSize(VEZENI[playerid], 0.500000, 1.000000); TextDrawColor(VEZENI[playerid], -1); TextDrawSetOutline(VEZENI[playerid], 0); TextDrawSetProportional(VEZENI[playerid], 1); TextDrawSetShadow(VEZENI[playerid], 1); TextDrawSetSelectable(VEZENI[playerid], 0); return 1; }Problém je asi v tom, že tento textdraw pouze vytváří (a ničí) a nikde nezobrazuje, takže zbytečné pole, zbytečný TD, zbytečný cyklus a zbytečný callback. Tímto se dostáváme do OnFilterScriptExit, kde tento zbytečný TD ničí. Další problém nastává hned v dalším callbacku public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) if(newkeys & KEY_WALK) { for(new BussID = 0;BussID < sizeof(BusinessInfo);BussID++) { if(IsPlayerInRangeOfPoint(playerid, 4.0, BusinessInfo[BussID][bEntranceX], BusinessInfo[BussID][bEntranceY], BusinessInfo[BussID][bEntranceZ])) { new str[256],topstr[64]; if(smazano[BussID]==1) return SCM(playerid,WAR,"Tato nemovitost bude po restartu smazána"); { if(BusinessInfo[BussID][bOwned] == 0) { format(str,sizeof(str),"Koupit Nemovitost\t\t%i\n Vykrást",BusinessInfo[BussID][bPrice]); format(topstr,sizeof(topstr),"Nemovitost %s",BusinessInfo[BussID][bName]); ShowPlayerDialog(playerid,DialogBus1,DIALOG_STYLE_LIST,topstr,str,"Vybrat","Zavřít"); } if(BusinessInfo[BussID][bOwned] == 1) // else nezná? { format(str,sizeof(str),"Prodat Nemovitost\nVybrat výdělky\t\t\t{00ff00}%i{ffffff} $\nPronajmout ochranku\t\tzbyva{00ff00} %s{ffffff}\nVykrást\nInvestovat\nZměnit název Podniku\nProdat nemovitost hráči\nOdkoupit nemovitost",BusinessInfo[BussID][bMoney],FormatTime(BusinessInfo[BussID][bOchranka]-gettime(),true)); format(topstr,sizeof(topstr),"Nemovitost %s",BusinessInfo[BussID][bName]); ShowPlayerDialog(playerid,DialogBus2,DIALOG_STYLE_LIST,topstr,str,"Vybrat","Zavřít"); } } } } } return 1;Co tedy autor provádí špatně. Nejprve zjišťuje, u jaké nemovitosti hráč stojí. Mohl použít svojí funkci, kterou používá na stejné případy v jiných částech kódu, stock IsPlayerNearBizEnt(playerid), která vrací id nemovitosti, u které stojí. Dalším problémem je, že IsPlayerInRangeOfPoint není zrovna moc časově nenáročná funkce a autor zde po nalezení id nemovitosti cyklus neukončuje (neznalost break, return ?). Také zde má zbytečnou podmínku, kdy může krásně použít else a nic nekontrolovat dvakrát. Přesouváme se do OnDialogResponse, kde jsem narazil na toto if(dialogid==DialogBus1 && response)Někomu to může přijít jako vhodné, ale pokud bude response false, neprovede se blok podmínky a provádí se další podmínky. Dostane se to do takové fáze, že se nakonec vrátí 0. Vrácením 0 v OnDialogResponse zapříčiníme to, že se zavolá další OnDialogResponse v jiném scriptu. Zase zcela zbytečné. Zde by bylo vhodné něco ve stylu if(dialogid == DialogBus1) { if(!reponse) return 1; zbytek kódu }A hned v prvním (i v dalších) dialogu máme tento kód new string[MAX_PLAYER_NAME]; // LOOL format(string, sizeof(string),PlayerName(playerid)); strmid(BusinessInfo[BussID][bOwner], string, 0, strlen(string), MAX_PLAYER_NAME);stačilo by, aby PlayerName vracelo pole o velikosti MAX_PLAYER_NAME a mohli bychom udělat něco takového BusinessInfo[BussID][bOwner] = PlayerName(playerid);zcela zbytečné pole, zbytečný format (to jako wtf) a zbytečný strmid. U dalšího dialogu má autor. if(dialogid==DialogBus3) { if(!response) return 0; if(response)Zase se vrací 0 a volá se další OnDialogResponse Další obdobný problém jako s PlayerName. new string[24]; if (strlen(inputtext) < 5 || strlen(inputtext) > 24) return SCM(playerid, WAR, "Název musí obsahovat 5-24 znaků"); format(string, sizeof(string), inputtext); strmid(BusinessInfo[BussID][bName], string, 0, strlen(string), 24);V příkazu "gotobus" se nachází tento kód new BusinessList[2048];Přičemž do toho pole, ukládá max 300 znaků (?) Dalším prohřeškem je tento příkaz CMD:getfreebuss(playerid, params[],help) { new pocet[30]; for(new i = 0; i < sizeof(BusinessInfo); i++) { if(BusinessInfo[i][bOwned]==0) { if (IsValidDynamicPickup(BusinessInfo[i][bOutsideIcon])) { format(pocet,sizeof(pocet),"Volných nemovitostí %i",i); // TIMHLE FAKT NEZÍSKÁ POČET } } } SendClientMessage(playerid,EROR,pocet); return 1; } viz komentář v kódu Hned v dalším příkazu for(new i = 0; i < MAX_PLAYERS; i++) // PlayerPoolSize { if (strcmp(BusinessInfo[BussID][bOwner], PlayerName(i), false) == 0) { if(IsPlayerConnected(i)) { new msg[128]; format(msg,sizeof(msg),"Tvoje nemovitost %s byla smazána!",BusinessInfo[BussID][bName]); SendClientMessage(i,WAR,msg); } } // zase break }Zde již nevyužívá GetPlayerPoolSize, protože mu asi přišel moc novátorský a znovu "nevyskakuje" z cyklu, když může. A taková perlička, nejprve kontroluje jméno jestli se shoduje a až pak jestli je hráč připojený. Následně pak nastavuje timer na public, který v kódu neuvádí, tudíš usuzuji, že to někde okopíroval. Hodnotím 0/10 za snahu. Jsou tam ještě zbytečné proměnné, ale to by tento topic byl o dost delší. Autorem scriptu je náš Vladasavel.
  25. Lexter

    script Rádio Systém By Lexter

    Zdravím, tu je moje první fs.. rádio systém pro začátek.. Rádia: ​ Frekvence 1 Evropa 2 House Time Krokodýl Downloand: ( pwn ) http://uloz.to/xeCC8wJA/radiopawno-pwn EDIT: omlouvám se, nedal jsem tam příkaz na vypnutí rádia tu nový link: http://uloz.to/xt1umvAC/radiopawno-pwn
×
×
  • Create New...