Jump to content

DuFF

Přispěvatel
  • Příspěvků

    205
  • Registrován

  • Aktivní

  • Vítězných dnů

    42

Everything posted by DuFF

  1. Tvoja statická metóda Visit má parameter typu Visitor. Ak na objekte uloženom v premennej typu Visitor zavoláš metódu, zavolá sa metóda z triedy Visitor (ak táto metóda nie je virtual a skutočný typ objektu túto metódu pomocou override nepreťažuje). Metódy sa mi volali správne, keď som ich volal na objektoch uložených v premenných správneho typu (FirstVisitor, SecondVisitor, ... nie Visitor) a v tomto prípade nebolo potrebné používať virtual / override. Prípadne sa mi to ešte podarilo pridaním negenerických virtuálnych metód do Visitora, ktoré potom v derived triedach overridujem: Výstup je potom:
  2. DuFF

    pomoc weather, time

    Možno to bude možné pomocou ForceClassSelection,
  3. Nazdar, práve pozerám históriu jazyka Pawn na CompuPhase a vidím tam, že vo verzii 4.0.4548 bola zmenená syntax pre inicializáciu polí a namiesto zložených zátvoriek sa začali používať hranaté. Máš nejaký dôvod, prečo chceš používať práve túto najnovšiu verziu jazyka pre SAMP? SAMP komunita momentálne väčšinou používa kompiler od Zeexa, v ktorom je opravených pár známych chýb kompilera, ktorý je priložený k SAMP serveru.
  4. DuFF

    pomoc LC MOD

    Ak chceš vozidlá vo virtual worlde, musíš použiť funkciu SetVehicleVirtualWorld.
  5. DuFF

    nabízím Prodám mapy

    Je možné prísť si pozrieť mapy na nejaký server?
  6. Vďaka, doteraz som sa s y_vehicledata nestretol a ušetrí to kopec práce. Menší detail: Myslím, že takto by som mohol zastaviť hráča z akéhokoľvek (aj nepolicajného) vozidla, pre ktoré Vehicle_IsCar vráti false.
  7. Nevidel som, ako to na tých serveroch presne funguje, ale očakával by som, že na objekt biliardového stola je vložených niekoľko malých objektov biliardových gulí a že sa využíva ColAndreas plugin na zistenie, či guľa narazí do inej gule/hrany stola. Guliam vieš potom asi nastaviť rýchlosť a smer podľa rýchlosti a smeru gule, ktorá do nich narazila. U odrazov od hrán stola platí asi niečo na spôsob uhol dopadu = uhol odrazu.
  8. Tento kód: u mňa vyzeral funkčne. Vymaže sa obrazovka, počká sa na input, vykoná sa vybraná úloha, počká sa na stlačenie ľubovoľnej klávesy a potom sa to celé opakuje.
  9. Stále mi nie je jasné, ako určuješ, či hráčove dáta uložiť do tabuľky first, second, alebo third. Ak máš nejakú funkciu, ktorá to rozhoduje (a nie je to random), možno by si ju mohol použiť znova na výber tabuľky, z ktorej budeš dáta čítať. Tým pádom by si nemusel robiť select zo všetkých tabuliek, ale iba z jednej. Btw kde ti vypísalo, že to tvoja verzia mariaDB nepodporuje? Mohol by si sem skopírovať celú tú hlášku?
  10. Si si istý, že to urobí tvoj systém prehľadnejší a nie naopak? Podľa čoho sa rozhoduješ, či vložiť hráčove dáta do tabuľky first, second, alebo third? Ak to naozaj chceš takto, skús v tom selecte využiť UNION, prípadne UNION ALL na spojenie riadkov z jednotlivých selectov do jedného resultu.
  11. Myslím si, že problém môže byť tam, že si síce prepísal názov príkazu, ale neprepísal si jeho dĺžku. Napr. dcmd(account,7, cmdtext) si mal prepísať na dcmd(info,4, cmdtext). Edit: Otestoval som to a moja predošlá odpoveď je blbá. Skúšal si na serveri aj starý, aj nový príkaz? Nefungoval ani jeden z nich?
  12. Môžeš využiť sscanf plugin podobne, ako keď parsuješ parametre v príkazoch. Akurát namiesto params budeš parsovať inputtext. Výhoda oproti strval je tá, že keď strval vráti 0, tak nevieš, či si používateľ želal zadať 0, alebo zadal nejaký text, ktorý sa nepodarilo sparsovať.
  13. Môžeš to docieliť pomocou prepojenia viacerých routerov (druhý router dáš bližšie k miestu, kde chceš zosilniť signál). Môžeš použiť aj káblové, aj bezdrôtové prepojenie. https://www.wikihow.com/Connect-Two-Routers
  14. DuFF

    pomoc helpme

    Myslím si, že problém je v medzere na riadku CMD: setskin. Ak to napíšeš takto s medzerou, nevyhodnotí sa makro na vytvorenie príkazu. Riešenie je teda použiť CMD:setskin (bez medzery). Potom ešte neviem, čo chcel autor povedať týmto: Každopádne SetPlayerSkin očakáva 2 argumenty (id hráča, ktorému má zmeniť skin a id skinu). Preto SetPlayerSkin(playerid, skin).
  15. DuFF

    pomoc pomoc

    Chápem to správne, že chceš, aby sa zobrazil hráčovi dialog s miestami na portnutie, keď klikne na tlačítko spawn? Ak áno, v OnPlayerRequestSpawn mu zobraz tento dialog a použi return 0 (aby si zablokoval spawn). V OnDialogResponse potom môžeš spawnúť hráča cez SpawnPlayer a cez SetPlayerPos mu nastaviť pozíciu podľa vybraného listitemu. Na error týkajúci sa príkazov si radšej založ samostatný topic a ukáž nám tam svoj kód v OnPlayerCommandText.
  16. Možno by tu bola užitočná nejaká regexová mágia. Fungovalo mi napr. v Notepad++ nahradiť výraz "(.*)":"" výrazom "\1":"\1" (alebo vo VSCode výrazom "$1":"$1"). https://ibb.co/ncWZ82h https://ibb.co/VmRWB21
  17. Prišiel som na to, kde bol problém. String cmd okrem parametrov obsahuje na začiatku aj názov príkazu. Preto ti "s[65]i" nefungovalo a "s[6]s[65]i" už fungovalo. Tento názov príkazu nemusíš ukladať do premennej, ale môžeš použiť feature sscanf2: "quiet" stringy. Dočítať sa o nich môžeš tu. Napríklad takto to krásne funguje:
  18. Pridáš sem aj výpis z logu s novým kódom? Nemyslím si, že ti to funguje tak, ako by si chcel. je pravdivé iba ak sa command nezhoduje s "addvip", takže pochybujem, že ti to teraz niečo po rcon príkaze addvip vkladá do databázy.
  19. V logu vidno hlášku "USE SYNTAX: addvip [name] [days]". Keďže sa vykonala else vetva, nehľadal by som crashujúci riadok v druhej vetve. Myslím si, že za crash môžu riadky: new playerVipName; new days; if(!sscanf(cmd, "s[65]i", playerVipName, days)) Sscanf plugin sa pravdepodobne pokúšal natlačiť celý string "MichaelMik1" do premennej playerVipName, ktorá keď je definovaná týmto spôsobom, má iba 4 bajty. Tento string tam nevošiel a plugin zapisoval do pamäte za touto premennou, čo mohlo spôsobiť invalid memory access. Preto by ma zaujímalo, či problém pretrváva, keď sa riadok new playerVipName; zmenil na new playerVipName[65];.
  20. Je rovnaký výstup aj s opraveným riadkom new playerVipName[65]? Mimo témy: Vlastná funkcia GetTime nie je potrebná. Stačí úplne rovnakým spôsobom použiť existujúcu funkciu gettime. Napríklad teda new timestampNow = gettime();
  21. DuFF

    pomoc SA-MP

    Na tomto fóre je pekná séria návodov pre začiatočníkov: https://pawno.cz/index.php?/topic/53319-1-proměnná/ https://pawno.cz/index.php?/topic/53321-2-pole/ https://pawno.cz/index.php?/topic/53378-3-řetězec/ https://pawno.cz/index.php?/topic/53444-4-operátory-–-základy-a-aritmetické-operátory/ https://pawno.cz/index.php?/topic/53455-5-operátory-–-další-typy-op-a-priorita-op/ https://pawno.cz/index.php?/topic/53495-6-podmínky-a-větvení/ https://pawno.cz/index.php?/topic/53540-7-switch/ https://pawno.cz/index.php?/topic/53974-8-cykly/ https://pawno.cz/index.php?/topic/54347-9-funkce/
  22. Možno si si nevšimol, že nejde o originálnu wiki, ale o jej kópiu na doméne blast.hk. Ja som napríklad o tejto kópii nevedel a som za tento príspevok vďačný, keďže originálna samp wiki už nie je dostupná ani cez wayback machine na archive.org.
  23. Vyhovuje ti f(n) = n * 0.55 / 1000 + 0.245? Teda napríklad pre y = 500 by bola výška postavy 500 * 0.55 / 1000 + 0.245 = 0.52. Dopracoval som sa k tomu pomocou sústavy 2 rovníc o 2 neznámych, ktoré vznikli dosadením tvojich bodov ([100;0.3] a [1100;0.85]) do všeobecného tvaru lineárnej funkcie (y = a * x + b): 0.3 = a * 100 + b 0.85 = a * 1100 + b
  24. Môžeš sa pozrieť na funkciu GetWeaponName. Ak ti nevyhovujú tieto (anglické) názvy zbraní alebo spôsob použitia tejto funkcie, môžeš si vyrobiť vlastnú alternatívu. Namiesto miliona else ifov, ktoré navrhuje bigMike, by som radšej skúsil statické pole. Napríklad nejak takto:
  25. Možno treba brať ohľad na to, že nie všetci tu začínali hrávať v rovnakej dobe, a teda u každého môže vyvolať nostalgiu niečo iné. Napríklad ja (a určite nie som jediný) som začínal až na tvojej RZE okolo 2011 a mám na to pekné spomienky. Určite by to u mňa vyvolalo viac nostalgie ako Maikeroo Town alebo nejaké iné módy zo zoznamu, ktoré som hral možno 2-krát v živote. Na druhej strane chápem, že hráči, ktorí začínali oveľa skôr ako ja, môžu mať úplne iné preferencie.
×
×
  • Create New...