Jump to content

Danny

Uživatel
  • Příspěvků

    1513
  • Registrován

  • Aktivní

  • Vítězných dnů

    7

Danny last won the day on 17. Červenec 2016

Danny had the most liked content!

Reputace

37 Dwaine

About Danny

  • Narozeniny 05/06/1998

Návštěvníci

2023 profile views
  1. Neber to uplne zle ale bud sa my nechapeme, alebo tomu vobec nerozumies. Funkcia GetPlayerPoolSize vrati najvyssie pripojene ID, ktore je na serveri. Nie? Ja chcem presne to, co hovori moj kod, tj. chcem sa uistit, ze vybrate ID je pripojene a zaroven zadat podmienku, aby nebolo NPC, tzv. aby vyber ciela nepadol na NPC, ktore hrac nebude moct zabit. Tabovanie samozrejme poznam, ale svoj kod chcem napisat tak, aby mal co najmensi pocet riadkov a v tom, akym sposobom si ho pisem sa uz po takej dobe relativne orientujem. Podmienku kontroly toho, ze ci je na serveri aspon jeden hrac som pridal, avsak nepomohlo. Kod sa zacyklil aj ked nas tam bolo 5.
  2. Čaute, snažím sa vytvoriť skript povolania nájomného vraha. Po spustení práce sa hráčovi má ukázať jeden z pripojených hráčov ako ciel, ktorého má zabiť. Skúšal som na to ísť najprv úplne základnou cestou checkovania podmienok, no potom mi došlo, že to asi úplne fungovať nebude, pretože to checkovanie sa musí opakovať. Zosmolil som teda niečo takéto: new randomid = random(GetPlayerPoolSize()); // zadefinoval som si ciel a priradil som mu náhodnú hodnotu z čísel od 0 po najvyššie ID while(IsPlayerConnected(randomid) && !IsPlayerNPC(randomid) && randomid != playerid) randomid = random(GetPlayerPoolSize()); //Následne som použil cyklus, v ktorom som kontroloval či má dané vybrané ID splnené podmienky (nie je NPC, nejedná sa o hráča, ktorý prácu spustil) Problém spočíva v tom, že po zahájení tohto padne server.
  3. Po upravení skriptu podľa príkladu vyššie (veľká vďaka) sa mi to zobrazuje korektne aspoň vo Windowse po stiahnutí, resp. aj keď to otvorím vo FTP prehliadači. V tom hostingovom editore to však vyzerá ešte príšernejšie, ako predtým. Popravde sťahovanie tých logov do PC namiesto priameho otvárania je pre mňa veľký problém, nenapadá vás nejaké riešenie, ako by sa to dalo s hostingom odkomunikovať, alebo príp. spraviť niečo z mojej strany, aby sa mi to tak správne ako vo Windowse, zobrazovalo aj na Linuxe?
  4. Čaute, dnes som sa pokúšal vytvoriť si takú základnú logovaciu pomôcku namiesto klasického server logu, ktorá by ukladala text, ktorý hráč napíše do chatu, do súboru. Keďže hráči používajú aj diakritiku, volil som takýto spôsob: if(handle) { for(new i = 0; i < sizeof(text); i++) fputchar(handle, text[i], false); fclose(handle); } 1. Skontroloval som si, či je súbor korektne vytvorený a či doň môžem zapisovať. 2. Pomocou cyklu som prešiel všetky znaky uložené v stringu "text" ktorý drží samotný text, ktorý hráč napísal do chatu po stlačení klávesy T 3. Následne namiesto klasického fwrite, ktorý dokáže pracovať iba s kódovaním UTF-8, som použil funkciu fputchar, ktorej parameter "utf8" nastavený na false dokáže do súboru vložiť aj znaky v kódovaní ASCII 4. Znak po znaku som všetky zapísal a uzatvoril súbor Funkciu som si otestoval na localhoste a všetko fungovalo presne tak, ako malo. V súbore sa mi ukazovali texty s diakritikou pekne za sebou tak, ako som ich v hre písal. No keď som to chcel vyskúšať s kamarátmi a server som nahodil na hosting, ktorý používa linux, tak namiesto znakov s diakritikou sa mi zobrazovali také tie čierne bloky s otáznikmi, ktoré značili, že znak nebol korektne prečítaný a nevedel byť teda printnutý. Obracal som sa aj na podporu hostingu fakahedy, no vraj sa s týmto nedá nič robiť, keďže jadro je nastavené na kódovanie UTF-8. Existuje prosím vás nejaká možnosť, ako to viem ešte ináč vyriešiť? Chcem aby to bolo čo najjednoduchšie riešené, žiadne pluginy ani podobné veci, jedná sa iba o test. Verím, že veľa z vás s týmto má viac skúseností. Vďaka za rady.
  5. Je uplne jedno ci ma R4 alebo R2, hraci sa na server budu vediet napojit aj tak.
  6. Danny

    pomoc 100 % CPU

    Ak to robi nepravidelne, tak logicky nebude chyba v algoritme ale v nejakom vedlajsom cinitelovi.
  7. Danny

    pomoc Help

    Ukaz mi definiciu premennej Meno.
  8. gl, koncept znie uzasne
  9. Bral som do uvahy len tie 4 riadky kodu, ktore som citoval. Nj toho definu som si nevsimol. pls dont kill me
  10. Danny

    ostatní Prozba

    Pokial sa ten jazyk chces naucit, tak sa najprv nauc spravne pouzivat svoj matersky a potom mozes dalej rozsirovat. Vyborne, ked splnis krok 1, tak zacni na internete hladat ucebnice php jazyka, btw. aj tu na fore najdes dost fajnych tutorialov do zaciatku a pomalicky sa uc, nasledne sa budes sam dalej zdokonalovat. Ak vies znackovacky ako HTML, CSS, tak php je uz trosku iny vesmir ale nic tazke, ak sa chce. A urcite hned nepocitaj s nejakou registrackou, zalezi na tvojej sikovnosti. Z toho co si mi tu napisal usudzujem, ze v hlbke duse cakas, ze sa najde nejaky dobrak ktory ti ukaze ako napisat registracku, tym sa ale ty nic nenaucis. Pekne chod od zakladov vlastnym tempom a postupne si naberaj nove veci... raz sa k tomu dostanes.
  11. Aaano? A niekto kto tomu taktiez nerozumie ma tu bude poucat? dcmd_cash(playerid,params[]) { #pragma unused params SCMTAF(COLOR_RUZOVA,"Hráč %s ma pri sebe %i $",Jmeno(playerid), GetPlayerMoney(playerid)); //scmtaf je SendClientMessageToAllFalse return 1; } Kde ma string? Kde ma format? Co je SendClientMessageToAllFalse? Oh god, this is so cringe-worthy.
  12. Danny

    pomoc VIP

    Je mozne, ze dany vip system vyzaduje nejaky plugin, ktory jeden hosting podproovat moze, druhy nie... hod sem tie vypisy, tie nam povedia vsetko.
  13. Twixo nepis bullshity... Pokial chces, aby po zadani prikazu hracovi ukazalo jeho financnu hodnotu do chatu, tak po zadani prikazu naformatuj do stringu text, kde pouzi GetPlayerMoney pre vypisanie hodnoty. Nasledne si zvolis, ci naformatovany string vypises jednemu hracovi alebo vsetkym pomocou SendClientMessage / SendClientMessageToAll.
  14. Vyznačený riadok je tam úplne zbytočne, ten zmaž. Každopádne v tomto samotnom zostavení chyba nie je, pošli nám teda funkciu GetPlayerACMoney.
×
×
  • Create New...