-
Příspěvků
872 -
Registrován
-
Aktivní
-
Vítězných dnů
83
-
Jednak, a jednak používáš extrémně zastaralou verzi YSI(to vypadá ještě na 3.0 ), kdy jsi načítal celou knihovnu, a jedno že jsi chtěl pouze y_ini... Koukni se raději na nejnovější YSI5, kde máš nejen, lepší alternativní načítání(kategorie, takže víš lépe, co kde je), tak navíc máš jistotu, že načítáš pouze to, co chceš. A ne přesně tady, kde po tobě chce prakticky načíst jeden ze souborů ze samotného core YSI, který by správně ani neměl být přístupný k použití pro "běžné" uživatele ... https://github.com/pawn-lang/YSI-Includes
-
Nápad je to celkem ambiciózní a rozhodně zajímavý(obzvlášť v dnešní době zkoušet konkurovat AI), ale otázka... Budou se moct do vstupního řízení zapojit i lidé mimo Pawno, aka kdokoliv? Protože, jestliže bude výběrové řízení monitorováno pod drobnohledem zvolenými Moderátory a s případně jejich přísnou kritérií, tak odsud se mnoho legitimně prověřených Programátorů nenajde.
-
#define MAX_EVENT_TYPES (5) new bool: isEvent; new eventType[MAX_EVENT_TYPES]; forward OnGoingEvent(); public OnGoingEvent() { if (isEvent == true) { switch (eventType) { case 0: { // --- Stuff --- } } } else { // --- Anti-Stuff --- } return 1; } Enjoy.
-
Nebo jí nechat generovat obrázky z knihy, aniž bys jí vůbec musel kupovat .... I když většinou jen ve třech slovech vygeneruje celkem kvalitní solidní obrázky, někdy to chce vypsat pomalu celou sinfonií dalších detailů pro maximální účinek Dokonce jde i nastavit různé velikosti, pevné bod při rozměrech, sílu určité generace... Nicméně se svým mírně "olejnatě rozmazaným" stylem generace umí skvěle generovat různá fiktivní magická místa a lesy. Snad to jednou někdo využije na vytvoření hyperrealistické hry ...
-
-
Scydo changed their profile photo
-
Vám všem, musím přiznat, že klobouk dolu, že si cokoliv naplánujete, a skutečně to dodržíte. U mě je to přesný impulsivní opak. Vždy, když začnu s plánováním, například, že si něco ušetřím, tak to vydrží stěží pár dní, než mě zaujme nově zlevněná hra. A je mi jedno, že dopředu vím, že jí budu hrát tak 3 dny a pak už jí nikdy nezapnu, prostě impulsivní rozhodnutí a celé plánování k ničemu. Stejně to mám i kariéře, ve spoření nebo klidně i příprava na nějaké zvyšování účtů a poplatků. Vydrží to jenom chvilku, a pak jdu od toho. Hádám, že to bude nejspíš mým dojmem, že cokoliv náhodného, nového bude zajímavé, zábavné, vzrušující... Když mezitím, když vím, že při šetření pár tisíc po celý měsíc, k tomu s doprovodem málem vyhladovění k smrti, si prostě koupím novou lepší židli... není v tom zábava, žádná spontánnost, je to nuda. Ale opět, obdivuji všechny, co si za tím stojí, a skutečně i splní. Hodně štěstí
-
Problém ale je, že OnFilterScriptInit() se ti vyvolá pouze jakmile se spustí FS(jestliže je to během restartu serveru, tak to ani nebude nikdo během toho na serveru )... To znamená, že nikomu dalšímu se ten textdraw nezobrazí. Takže, buď použí nějakou fci, která se často opakuje nebo se často stává, například OnPlayerUpdate... a nebo zkus použít můj nápad a vyvolat si jednosekundovou funkci, která se bude opakovat do skončení serveru: new OSecTimer; public OnFilterScriptInit() { OSecTimer = SetTimer("OnOneSecTimer", 1000, false); return 1; } public OnFilterScriptExit() { KillTimer(OSecTimer); // <--- !!!! return 1; } forward OnOneSecTimer(); public OnOneSecTimer() { OSecTimer = SetTimer("OnOneSecTimer", 1000, false); return 1; } Pak je to už snadné. Protože probíhá každou vteřinu tak můžeš i všechno zjistit každou vteřinou: forward OnOneSecTimer(); public OnOneSecTimer() { for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) { if (IsPlayerInRangeOfPoint(i, 5.0, x_pozice, y_pozice, z_pozice) { // Jestliže je někde v okolí: // (Rádius 5 je docela dost, i když se to nezdá) TextDrawShowForPlayer(i, LokaceTD); } } OSecTimer = SetTimer("OnOneSecTimer", 1000, false); return 1; }
-
pomoc Parametry příkazu pomocí sscanf
Scydo replied to Boolove's question in Herní (SA:MP, CS apod.)
Sscanf vidí int jako "dobrovolné" takže o tom žádná, že tam je někde chyba. Tím to určitě není. Pak mě ještě napadá možnost, že protože float už není, tak je možné, že tvoje číslo si sscanf dosadil do I. Zadával jsi celé číslo 100 a nebo i desetinnou tečkou 100.0 ? Pak můžeš ještě f zaměnit za i, takže budeš zadávat čísla a pak hp jen konvertuješ na float pro funkci. -
pomoc Parametry příkazu pomocí sscanf
Scydo replied to Boolove's question in Herní (SA:MP, CS apod.)
Nebo, můžeš použít velké specifikátory a tak jim hodit nějakou defaultní hodnotu, jestliže jí nenajde. Pak si za defaltní hodnotu dosadit nějaké nemožné ID (buď maximální a nebo -1) a to brát jako ID toho hráče: command(hp, playerid, params[]) { new id, Float:hp; if (sscanf(params, "I(-1)f", id, hp)) return SendClientMessage(playerid, -1, "Použití: /hp <ID> <MNOŽSTVÍ> nebo /hp <MNOŽSTVÍ>"); if (id == -1) SetPlayerHealth(playerid, hp); else SetPlayerHealth(id, hp); return 1; } -
Nom... Lze pouze dodat Hodně štěstí.
-
Já bych to udělal jinak, protože máš dvě podmínky pokud ale nemáš jinak. // Někdo napsal do chatu: public OnPlayerText(playerid, text[]) { /* playerid = ID toho hráče, co napsal do chatu, text[] = Text toho hráče co napsal do chatu */ // Jestliže má vip: if (HaveVIP(playerid) == 1) { // <--- Zde máš svoje "pokud" // Tak mu formátujeme zprávu, že jde o VIP hráče: format(STR, sizeof(STR), "[ VIP Hráč ] {%06x}%s | %d |: {FFFFFF}%s", GetPlayerColor(playerid) >>> 8, PlayerName(playerid), playerid,string); } //V případě ale, že ho nemá: else { // <--- Zde máš svoje "jinak" // Tak se formátuje obyčejná zpráva: format(STR, sizeof(STR), "[ Hráč ] {%06x}%s | %d |: {FFFFFF}%s", GetPlayerColor(playerid) >>> 8,PlayerName(playerid), playerid, string); } // Tak či tak, se jedna ze formátovaných zpráv všem na serveru napíše: SendClientMessageToAll(0xA9C4E400, STR); return 0; }