Jump to content

Hip

Globální moderátor
  • Příspěvků

    3029
  • Registrován

  • Aktivní

  • Vítězných dnů

    64

Everything posted by Hip

  1. Ahoj, je to trocha matematiky. Pro začátek budeš potřebovat směr, kterým se koukáš: https://sampwiki.blast.hk/wiki/GetPlayerFacingAngle a svojí pozici: https://sampwiki.blast.hk/wiki/GetPlayerPos Co známe: Aktuální pozici, vzdálenost warpu a směr kterým se kouká. Aktuálně pozice je pro výpočet irelevantní, vynecháme vzdálenost a směr kterým se kouká je užitečný při použití goniometrických funkcí: https://cs.wikipedia.org/wiki/Goniometrická_funkce Dle obrázku si představ, že ty jsi v levém rohu a znáš směr a vzdálenost, což je strana c. (Je to pravoúhlý trojúhelník) Znáš vzdálenost přepony a úhel. (GetPlayerFacingAngle). Díky tomu můžeš vypočítat stranu "b", takže se použije funkce cosinus kdy: cos(α) = b/c b = cos(α) * c v tomto případě je b vzdálenost nové pozice od tvé stávající. Hodnotu "a" vypočítáš už klasickou pythagorovu větou: c^2 = a^2 + b^2 a = sqrt(c^2 - b^2) výpočtama získáš tvé posunutí vůči aktuální pozici. Pak je stačí sčítáním dopočítat a nastavit hráči novou pozici. Hráčovu pozici nastavíš přes https://sampwiki.blast.hk/wiki/SetPlayerPosFindZ jelikož neznáš Z level kam se warpoval. Nezapomeň správně přičítat nebo odečítat souřadnice podle toho kam se kouká (GetPlayerFasingAngle). Souřadnice sčítáš pouze pokud se hráč kouká někam mezi severem a východem. Pokud se bude koukat jiným směrem, musíš vymyslet, jak budeš výpočet počítat. Do goniometrické funkce můžeš dát maximální hodnotu 90 (stupňů). Jedna varianta je ta, že si vždy úhel snížíš o hodnotu kolik ti přebejvá: Úhel 120, odečteš 90 a máš 30 - můžeš použít do funkce. Úhel 195, odečteš 180 a máš 15. 310 odečteš 270 a máš 40. Pak můžeš použít výpočet výše ale jak jsem zmínil, musíš si dávat pozor jak vypočítaný souřadnice k sobě přičteš/odečteš. Jinak se budeš warpovat o správnou vzdálenost, ale špatným směrem
  2. Tak jsem na to včera mrknul na velký telce a musím říct že hustý! Nečekal bych, že něco takovýho jde udělat jen pomocí sampu :D Je to film, kterej by se měl natáhnout aspoň na hodinu a půl. Moc jsem nepochopil o co tam vlastně jde. Zejména začátek mi byl velkou záhadou. Zbytek byl jasnej. Jak jsem nepochopil začátek, tak jsem nepochopil jak se tam aliens dostali nebo zda se tam vrátili, nebo to bylo retrospektivní, přistáli dvakrát... A krásná herečka :D A cením efekty z half lifu!
  3. Jakožto filmař jsem dva dny zpět psal do wetafx, že bych potřeboval nějaký vfx. Kdžy to tak vidím že bych si to mohl udělat v gta, asi už je nepotřebuju :D Ale jinak fakt moc povedený!
  4. no jasně, protože tam dáváš odkaz na youtube, musíš tam dát odkaz na zvukovej soubor.
  5. Absolutně nechápu problém. https na http změníš odebráním "s". Ovšem musí to web podporovat. Pokud někdo podporuje https, většinou nepodporuje http.
  6. Viz návod: případně přednastavené zvuky https://sampwiki.blast.hk/wiki/PlayerPlaySound
  7. Hip

    pomoc Přečtené příspěvky

    Zajímavej dotaz. Přemýšlel jsem jak co nejefektivněji toho dosáhnout. První dotaz je, máš SQL nebo noSQL databázi? Podle toho bych se odpíchnul dál. Vzhledem k tomu, že jsi nespecifikoval, tak počítám s SQL. (NoSQL by zde byla zrovna lepší). Ujasněme si, že chceme označit příspěvky, které jsou nové od poslední návštěvy. Počítám s tím, že každý user má uid, každý topic má uid a každá příspěvek má čas vložení příspěvku. Aby se zabralo co nejméně místa a přístup byl co nejrychlejší, řešil bych to extra tabulkou tzv. M:N tabulkou, jež by vypadalo takto: | uid | topic_id | user_id | timestamp | uid = primární klíč topic_id = index na vlákno. (Odkaz na primarní klíč topicu, například tento topic má id 56539 - viz url) user_id = index na usera. (Odkaz na primární klíč usera) timestamp = poslední zaznamenaná návštěva usera A teď funkčnost: Uživatel vstoupí do vlákna příspěvků a načte si příspěvky. Pokud je funkce kterou chceš zapnutá. tak se dotáže na db: SELECT uid, timestamp FROM last_activity WHERE topic_id = id_vlakna AND user_id = id_usera LIMIT 1 Pokud něco vrátí, znamená, že už tam byl. Pokud ne, uživatel ještě topic nenavštívil. Timestamp je poslední návštěva, podle toho můžeš označit příspěvky co uživatel ještě neviděl. Jakmile vleze na topic, voláš db a updatuješ tabulku: UPDATE last_activity SET timestamp = now() WHERE uid = uid_predchoziho_vysledku Pokud tam ještě nebyl, záznam vytvoříš... Proč timestamp a ne ID příspěvku jako poslední přečtený: Příspěvek není něco, co tam vždy, můžeš být. Poslední příspěvek někdo může smazat a svým způsobem id příspěvku nemusí být vzestupný. Příspěvek id 1 může být novější než příspěvek id 2 - může být třeba přesunutý. Nevýhody SQL: navržená tabulka last_activity bude do nekonečna vzrůstající a velmi rychle. Čím více userů se podívá, tím více záznamů. 5 000 000 záznamů mi mysql už moc nedávalo. Řešení: noSQL: U nosql by se tyto informace dali napsat přímo k záznamu topicu jako JSON, kde by byly informace o všech uživatelích, co topic navštivili. Řešení 2: Udělat s sql nosql. Přidat sloupec do tabulky seznamu topiců, kam se bude psát jako JSON informace o všech uživatelích jako řešení o řádek výše. Nevýhody noSQL a řešení 2: Pokaždé když se někdo dotáže na informace kdy se naposledy podíval do topicu, tak se stáhnou všechny informace pro všechny usery. Nikoli jen pro jednoho konkrétního.
  8. Hip

    pomoc Neon Katana

    Na to se používá SetPlayerAttachedObject, ale sám jsem to nikdy nepoužil. Každopádně @ATomas by mohl vědět případně dát typ na nějaký zjednodušení než metoda pokus omyl. A @kazlik asi 10 let zpět udělal něco jako nasazovací penis, sice blbej příklad, ale fungovalo to :D https://sampwiki.blast.hk/wiki/SetPlayerAttachedObject
  9. return 1 bys měl mít po zpracování příkazu jen tak btw. Nikoli na konci callbacku. Tady je to jinak hezky vysvětleno v příkladu: https://sampwiki.blast.hk/wiki/OnPlayerCommandText
  10. A právě proto, protože to je základ programování, za mě ještě víc než se naučit deklarovat proměnou, tak jsem na to udělal návod. Stačí si ho přečíst.
  11. mrkni třeba tady: https://github.com/Aurorastation/Aurora.3 je to pro verzování kódů. Nahoře v menu jsou issues a tam lidi dávají bugy, které se pak trackují atd... Dělal jsem na to nedávno návod:
  12. Nemáš jednodušší si to všechno trackovat na githubu?
  13. Hip

    Remote Development

    To zní zajímavě. Dokýžeš mi říct, kde přesně ta appka pak běží? Řekněme, že potřebuju rozjet lokální vývojové prostředí, napojit se na databázi atd. Běžně je potřeba třeba VPNka, avšak pokud poběžím takto, běží instance lokální aplikace u mě nebo na VPS? Jinak řečeno, k např. databázi se připojuje VPS nebo stále můj lokální pc.
  14. Hip

    ostatní Anexe ruského Kalingradu

    Tak přidej smysluplnější příspěvky. Nic se tu neděje, já si jsem toho vědom a tak aspoň něco sem přidávám, co zrovna "jede" na českým internetu, aby to tu nebylo úplně mrtvý. Nehledě na to, že tento topic už tady nějakou dobu je
  15. Hip

    ostatní Anexe ruského Kalingradu

    Mám tady nějaké nové info o postupech politických a jiných. Viz níže. Máte-li nějaké aktuální info, přidejte!
  16. Ahoj, jak jste si asi mohli všimnou, Česká republika usiluje o anexi Kalingradu, respektive Královce. Různé informace jsou k dispozici zde: https://visitkralovec.cz/ Pokud máte eIdentitu, můžete petici o zahájení referenda najít na Portále občana. Kde najít petici můžete vidět na přiloženém obrázku a ve vyhledávacím poli zadat "Královce". Můj podpis byl právě 1000. Přidej se i ty! Nenech se zotročovat v Chorvatsku! Měj vlastní moře! #VisitKralovec
  17. Dobrej nápad, ale bohužel tam není trigger "když mi někdo volá", ale jinak je to hodně dobrý co jsem teď koukal! To díky za tip!
  18. Ha! Sice to nechci přesměrovávat a hovory brát, protože to je drahý, ale mohl bych na druhé sim nastavit automatickou odpověď na příchozí hovor z pozemského čísla. Snad se přesměrování platí jen za uskutečněné hovory. Jinak nápady ostatních také vítány.
  19. Hehe, já se snažím automaticky obejít podmínky. Používám hodně streamy a skoro žádný proměnný. Vše direct do fce. Jednou jsem řešil nějakej problém na stackoverflow bylo řešení, kde se řekněme string: String mujString = "s"; hodil do array a pak se sním pracovalo, protože to údajně šetřilo malý procento paměti. Bohužel si nepamatuju co to bylo, ale fungovalo to. Takže "If it works, don't touch it"
  20. Ahoj, snažím se na iPhone 12 nastavit automatickou odpověď sms na jedné sim. Co potřebuji: Mám v telefonu dvě sim karty (virtuální) a jsem v zahraničí, kde mám tamní sim kartu, řekněme třeba na Marsu. Jelikož jsem na Marsu a roaming je drahej jak k***t i na příchozí hovory a ještě k tomu tam je časový posun 12 hodin, chci blokovat pozemskou sim kartu minimálně v noci, ideálně po celou dobu a odeslat zpět automaticky sms zprávu. iPhone má možnost udělat mód nerušit a blokovat hovory v nějaký čas. Jsou zde ale dva zádrhely. Jednak tato funkce funguje pro obě sim karty najednou a navíc tam nejde nastavit automatická odpověď. Řekněme, že mi někdo ze Země volá na Mars a abych nemusel klikat na automatickou odpověď, automaticky mi to hovor odmítne. Ovšem pouze pro sim kartu ze Země. Pokud mi někdo bude ze Země volat na Mars sim kartu, chci aby mi to hovor oznámilo, klasicky. Blokování hovorů je tedy pouze v rámci jedné sim karty. Druhá věc je, že pokud mi to takto odmítne hovor, chtěl bych ideálně z Mars sim karty odeslat odpověď, že mi mají zavolat na tohle Mars číslo. Jak to udělat? Zatím se mi povedlo udělat to, že mi to blokuje všechny hovory a vždy pošle zprávu. Max si mohu selektovat kontakty pro které to neplatí. Nějaký nápady?
  21. Ahoj všem! Z mého rozhodnutí zde dělám UP. Díky @DuFF je zde updatovaná licence a update core ipboardu a může se sem dát (nebo už je?) commerce plugin. Plánují se nějaké další změny co jsem zaslechl a chtěl bych připomenout, že toto fórum prodělává. Cílem je ho udržet minumálně na nule - nějakým způsobem. Řešení není přispívat aby se drželo na nule - protože pak proděláváme všichni. Cílem je zde rozběhnout obchodní model, který udrží fórum nad vodou. Vzhledem k tomu, že se fórum "potápí", tak bych chtěl upřesnit, že každý kdo přispěje, tak ho drží nad vodou a fórum se snaží naučit plavat. Jen mu to chvíli trvá. Toto byl první krok a budou následovat další malé krůčky. Pokud se rozhodnete přispět i jen malou částkou, pomůžete fórum zachránit. Duff i já (a možná i ostatní přispěvatelé) jsme přispěli, protože nás defacto toto fórum naučilo práci, která nás nyní živí a snažíme se to fóru oplatit. Pokud to někdo vidí na sobě stejně a máte tu možnost, zvažte malej příspěvek. Do budoucna to může pomoct vám a i jiným! Já i všichni ostatní kdo na fóru pracují a starají se o něj, to dělají z lásky a nejsou za to placení. Děkuji za pozornost a vzhůru k lepším zítřkům fóra. První krok SPLNĚN! Díky!
  22. Hip

    pomoc IPHONE 11

    No nevím jak dnes, standardně to už nedělám, ale vsadil bych na to, že musíš mít iTunes, kterej musíš synchronizovat s PC, následně přidáš hudbu a syncneš hudbu do mobilu. Není to copy paste do telefonu jako na flash disku. Ale pokud je to general hudba, tak za mě mnohem jednodušší zaplatit Apple music
  23. [NEAKTUÁLNÍ] Ahoj, k oslavám 20 let od vydání hry Mafia, tak studio Hangar 13 uvolnilo hru na steamu se 100% slevou. Standardně je hra za necelých 10 euro. Každopádně co vím, tak Steam verze nemá ikonickou hudbu, protože na ni skončila licence. Pokud chcete starou dobrou Mafii, musíte stahovat crack verzi (nebo nějaký workshop že by byl?). Dále doporučuji mód Mafia Remastered. Jedná se o původní hru s remastrovanou grafikou a je to fakt bomba. Nějaký video jsem našel, viz níže. Dá se stáhnout na uložto nainstalovaná verze s již přidaným remaster modem. Doporučuji!
×
×
  • Create New...