Jump to content

ATomas

Uživatel
  • Příspěvků

    2926
  • Registrován

  • Aktivní

  • Vítězných dnů

    77

Everything posted by ATomas

  1. Domenu gtamultiplayer.cz jsem si kdysi opravdu registorval. Duvod registraci teto domeny byl ten. Ze si nice registrovan domenu http://samp-servery.cz/ za ucelen napodobnovani domeny https://samp-server.cz/ (server SFDFD). A protoze jsme s majitelem SFDFD v kontaktu (Znate to nepritel meho nepritele je muj pritel), tak jsme se bavili a on mi rekl o existenci teto napodobujici domenu. Tak jsme z hecu regl domenu gtamultiplayer.cz a nasmeroval na SFDFD. A protoze mi pak majitel SFDFD rekl ze se nechcedal s niCem hadat tak jsem domenu presmeroval na SP a pak uz nechal expirovat. Po expiraci domenu jsem jen upzornil urcitou osobu (umyslne nebudu jmenovat, abych ji nezpusobil problemy) ze je domena volna a tim pro me kauza domeny gtamultiplayr.cz konci. Pokud domena superparba.cz existuje jen z duvodu ze si myslite ze gtamultiplayer.cz je stale moje, pak sory jste mimo K tomu "zniceni". Dobry ze si oddalis stranku nebo co jsi s tim udelal aby byla vicet "cela konverzace", ale ona pokracuje vis.. Ze by umyslne vystrizeno? Divne je, že to je věc mezi mnou a ROSA a najednou se nam tu vyjadřuje niCe. Že by spojitost? Původní důvod proč jsem to řešil je ten, že jsem o tom že bych se mohl nevědomě podílet na zániku nějakého serveru. Tak jsem zjišťoval jak to bylo a kde je pravda. Tu mi víceméně vysvětlil HRB a řekl mi co ten Honza vlastně dělal. A tímto komentářem co mi napsal do emailu mi je už celá věc naprosto jasná. Už si zapojování se niCeho do věci, která by se ho ani neměla týkat. Po tomto mém příspěvku bude následovat hromada komentářů od niceho a jeho fanouška fastmana (ano jsi fanoušek, pokud o SP říkáš jen špínu a dobré věci neříkáš a o WTLS říkáš jen dobré věci a špatné neříkáš i když je víš a ukazoval jsi mi že je víš - pak tvrdit že jsi nestranný = lžeš). Hromada komentářů o ničem které mě budou jen špinit. Lidi chtěli znát můj názor, napsal jsem ho zde. Tím to pro mě tu končí.
  2. Kdyz ctes tutorial chtelo by to celej, preskocil jsi kroky: #define DIALOG_REGISTER 1 #define DIALOG_LOGIN 2 #define DIALOG_SUCCESS_1 3 #define DIALOG_SUCCESS_2 4 a #define COL_WHITE "{FFFFFF}" #define COL_RED "{F81414}" #define COL_GREEN "{00FF22}" #define COL_LIGHTBLUE "{00CED1}" a mozna i nejaky dalsi ale to zatim bylo na kompilator uz moc
  3. Vypada to hezky, jen abych rekl pravdu cekal jsem ze ten kun bude behat od zacatku ke konci a uvidime i ty soupere. Ale jinak pekny
  4. ATomas

    pomoc ACTORY

    Problem u actoru je ze se jakoby loadnou driv nez interier a tedy ti zacnou padat dolu na zem (protoze vetsina interieru je ve vysce okolo 1000m). Tedy ja osobne to resim tak, ze kdyz jako hrac vstoupis do interieru mam timer na 2 vteriny kdy actory "respawnu" (SetActorPos) A musis jim dat jeste ClearActorAnimations. Jinak se jim prehraje animace dopadu a pri vstavani set rochu posune.
  5. No bez kodu se to blbe odhaduje, Zrovna jsem si zapomel kristalovou kouli :)
  6. No lepsi reseni nez toho me momentalne nenapada Float:operator%(Float:x, Float:y) { while(x > y) x -= y; return x; } printf("%f",5.2%3.0);
  7. ATomas

    pomoc Systém smrti

    OnPlayerTakeDamage se vola az po ziskanem pozkozeni hrace. Tedy pokud ma hp 5 a ubere mu to 9 tak proste zemre a neudelas s tim nic. Jedine kde by jsi to mohltrochu korigovat je OnPlayerWeaponShot, kde pomoci return 0 zablokujes damage. Tento callback se ovsem vola jen pri "kulkovych zbrani", tedy ti to nepokryje pripady granatu, bazuky, zbrani na blizko a molotovu ci plamenometu.
  8. ATomas

    pomoc Pomoc s pickupy

    Rada je jednoducha. Presun mapu tak aby splnovala posminky a na ni vytvor pickupy.
  9. To ze se to jmenuje quicksort jeste neznemena ze musi byt vzdy rychlejsi nez algoritmy jine Tridici algoritmy maji c++ knihovny. Ovsem myslim ze zadanim prace je mysleno ze ten algoritmus mas napsat sam a nepouzivam ten z knihovny Neco podobneho jsme museli psat kdysi v prvaku. Takhle stranka ti urcite pomuze. Je tam druhu stridicich algoritmu a i hotove kody (i v C++ lze to tam prepinat) https://www.algoritmy.net/article/10/Quicksort
  10. ATomas

    pomoc Registrace?

    Pro vyhledavani ve slozce lze pouzit HTTP dotaz. Pomoci PHP to lze pak vyresit a odeslat serveru vysledek dotazu.
  11. Tak to me hodne zajima jak to udelal Protoze moje pokusy o vytvoreni threadu u sa-mp vzdy selhaly Koukam do zdrojaku toho pluginu, a ja tam ten thread proste nevidim, kde tam je ?
  12. Co se tyce vytvoreni databaze mysql tak preferuju mysql workbench. Je to dost user friendly, a kdyz dela clovek slozitejsi databazi, kde ma maji tabulky napr cizi klice. Tak se to v tom dobre orientuje. A hlavne ti to vygeneruje sql prikazy na vytvoreni te databaze s tabulkama a jen to v php my adminovi nahrajes. Ale nez clovek zacne s databazi, tak by jsi mel nejdrive nacist, kdy je dobre ji pouzivat atp... Databaze ma super rychle vyhledavaji a join tabulek sorteni atp.... Ale na zapis je to furt pomale. Takze pouzivat s rozumem. (Kdyz vidim ty pripady, ktery si do ty DB cpou uplne vsechno). Ono se to pouziva hodne na webech, kde te rychlost tak moc netrapi. Ale kdyz to pak pluginem pustis na sa-mp co jede na jednom vlakne Ja spis preferuju HTTP requesty a nakomunikaci s databazi, a tu databzi pustim na jinym vlakne, nebo nejlepe na jinym stroji
  13. Tak pokud ten sa-mp furt jede na jednom vlakne. Tak me vykon celkem zajima Hlavne se strimgem pracujes kazdou chvili. Ale jako jo mas pravdu na serveru s 20ti lidma moc vykon asi resit nebudes
  14. Ja teda s pluginy moc nekamaradim. Ale zajima me to asynchronni programovani. To asi nefunguje na principu vice vlaken (procesoru) ze? Zkosel jsem si vytvorit moznost vice vlaken pomoci C++, ovsem vzdy mi to druhe vlakno proste cekalo az se dokonci akce na vlakne prvnim. Kdyz jsem odstranil to cekani, tak svr crashnul. Jinak nejake rychlostni testy? Celkem by me zajimalo jestli je to rychlejsi nez postaru. Protoze jestli ne, tak bych rozhodne neobjetoval pomalost scriptu vymenou za pohodlnost programatora
  15. No aby se to vysvetlilo, nektery komenty jsou znacne nepresne. Zobrazit (vytvorit, dejme tomu) lze na 0.3.7 verzi 1000 objektu a na 0.3.Dl 2000 objektu. A pocita se zde kazdy objekty navic (At je to CreateObject nebo CreatePlayerObject a pak je jedno co s tim delas jestli ho nekam attachnes treba na to vozidlo) vse se pocita dohromady. Vyjimkou jsou objekty attachnute na hracich ty do tohoto limitu nespadaji. Jak tento limit zvysit lze pomoci streameru. Ovsem kdyz si zjistit jak funguje streamer, tak nefunguje tak, ze by zvysil pocet zobrazitelnych objektu. Streamer funguje na principu ze objekty co jsou od tebe daleko ti nezobrazi a zobrazi jen ty co jsou blizko. A to tak aby jsi nikdy nemel zobrazeno vic jak 1000 (2000) objektu najednou.
  16. Jo toto se mi libi, sice jsem nejak moc peclive necetl komenty, ale udelal jsem svuj zpusob reseni: #include <a_samp> #define RANDOM_OTAZEK 5 new Otazky[][] = {//neni potreba vyplnovat, compiler si doplni sam podle obsahu pole (new string[sizeof(Otazky[])]; <- vytvoris string tak, aby se ti tam vesla nejdelsi otazka) "Otazka 1", "Otazka 2", "Otazka 3", "Otazka 4", "Otazka 5", "Otazka 6", "Otazka 7", "Otazka 8", "Otazka 9", "Otazka 10" }; new Odpovedi[sizeof(Otazky)][] = {//opet neni potreba zadavat rozmery, je to udelane tak ze odpoved muze mit i vic nez jedno pismeno. (Pro sychr "sizeof(Otazky)" aby ti compiler zarval, pokud bude jiny pocet odpovedi nez otazek) "a", "a", "a", "a", "a", "a", "a", "a", "a", "a" }; stock VylosujOtazky(otazky[]) { new index,nahoda[sizeof(Otazky)] = {0,1,2,...}; for(new i;i<RANDOM_OTAZEK;i++) { index = random(sizeof(Otazky)-i);//random na danou otazku (ale vybira jen ze zacatku pole, protoze na konec uklada jiz vylosovane - zajisti se tak unikatnost) otazky[i] = nahoda[index];//ulozime vylosovane cislo //nahoda[sizeof(Otazky)-1-i] = nahoda[index];//na misto na konci pole ulozime vylosovanou hodnotu (neni treba pouzit, protoze vysledek ukladame uz nahore) nahoda[index] = sizeof(Otazky)-1-i;//a na vylosovany prvek presuneme hodnotu z konce pole } return 1; } stock KontrolaOdpovedi(playerid,otazky[],odpovedi[][]) { new string[144]; for(new i;i<RANDOM_OTAZEK;i++) { if(odpovedi[i][0] && strcmp(Odpovedi[otazky[i]],odpovedi[i],true) == 0) { format(string,sizeof(string),"Otázka %s odpovezena správně",Otazky[otazky[i]]); SendClientMessage(playerid,-1,string); print(string); } else { format(string,sizeof(string),"Otázka %s odpovezena špatně",Otazky[otazky[i]]);//správná odpověď: "Odpovedi[otazky[i]]" vaše odpověď: "odpovedi[i]" blabla... SendClientMessage(playerid,-1,string); print(string); } } return 1; } public OnFilterScriptInit() { new otazky[RANDOM_OTAZEK]; VylosujOtazky(otazky); for(new i;i<sizeof(otazky);i++) printf("%d) %d",i,otazky[i]); new playerid = 0;//prasarna nepouzvat !!! ale pro ten priklad... new odpovedi[][] = {//popripade "new odpovedi[MAX_PLAYERS][][];" a do funkce dole dat "odpovedi[playerid]" "a", "n", "a", "n", "a" }; KontrolaOdpovedi(playerid,otazky,odpovedi); return 1; } Myslim ze myslenka je vystizena, implementovat to a dodelat tomu dialogy uz je hracka
  17. ATomas

    pomoc NPC Problem

    Je to logicke protoze by majitele sa-mp serveru mohli takto skreslovat, kolik lidi hraje na jejich serveru a tvorit dojem ze je jejich server uspesnejsi nez je realne. (Ale i presto existuji metody jak to udelat lze, a bohuzel mam podezreni ze to nektere servery delaji...). Coz by znemoznil prechod na novou verzi, tedy za predpokladu ze tu vec nekdo opet neudela pro novou verzi znovu
  18. Pokud za crash může nedostatek "dočasné paměti" (což ti prozradí crashdetect http://forum.sa-mp.com/showthread.php?t=262796). Tak si jí můžes zvětšit pomocí #pragma dynamic 65536 Samozřejme to číslo si můžeš zvolit. Mělo by být v mocninách dvojky.
  19. Pokud je obsah dialogu prazdny (allstlost je null) tak se dialog nezobrazi. Takze doporucuji pouzit neco v tomto duchu: if(strlen(allslots) > 0) ShowPlayerDialog(playerid, D_PERSONALVEHICLES, DIALOG_STYLE_LIST, "Osobní vozidla", allslots, "Potvrdit", "Zpět"); else SendClientMessage(playerid,-1,"Někde se stala chyba"); Jinak na nejaky odhadovani velikosti pole se vykasli. RAM pameti je vsude dost. A hlavne ta promena existuje jen kdyz je v dane urovni te funkce/podminky a pak se smaze. Tam jde o to ze jen zabira procesorovy cas jeji vytvoreni, ale to je tak mizive ze nestoji za to se tim vubec zabyvat. Takze na velikost promenych muzes s klidnout dusi kaslat (tedy na jeji velkou velikost, pokud das veliksot moc malou tak samozrejme ne ) Jinak plugin crashdetect rozhodne doporucuji. Hodne urychli hledani nekterych typu problemu
  20. Vytvoril jsem takovy hodne jednoduchy explode. Umi to jen integery a prepoklada ze na prvni pozici uz je integer. stock explode(delimiter[],string[],array[],len = sizeof(array)) { new dellen = strlen(delimiter); array[0] = strval(string); for(new i=1,pos;i<len && (pos = strfind(string,delimiter,true,pos)) != -1;i++) { array[i] = strval(string[pos]); pos+=dellen; } return 1; } public OnFilterScriptInit() { new str[] = "1 2 3 4 5"; new Pole[5]; explode(" ",str,Pole); for(new i;i<sizeof(Pole);i++) printf("%d=%d",i,Pole[i]); return 1; }
  21. ATomas

    pomoc Crash hry

    Nastaveni chybneho skinu muze zpusobit crash hry. Skontroluj si ze v promene, pomoci ktere nastavujes skin je cislo od 0 do 299 (Nebo je ted 312 max ? uz nwm :D)
  22. Takze pokud v komentech ty odpovedi na sebe reaguji nejakym zpusobem tak to hodnoceni meni jejich poradi? To snad ne, to pak rozhodi posloupnost prispevku a je to dalsi z hrebicku do rakve.
  23. Pocitalo bylo na starem systemu taky. Ale na to ze na to kliknes jen jednou za zivot je to kravsky a kazi to rozmisteni divu. Tot vse. zarovnani ma pro me vetsi priritu. Me jde o obsah prispevku ne o to kolik mu kdo naklikal lajku.
  24. TO je furt o jedno tlacitko navic... ale na tuhle diskuzi uz nemam......
  25. Ja se nebavim o hlasovani na otazky. Ale o hodnoceni prispevku. To slo tedy jen likovat prispevky, protoze na zadost niCeho byly smazany minusove hlasovani.
×
×
  • Create New...