Jump to content

Quiter

Uživatel
  • Příspěvků

    827
  • Registrován

  • Aktivní

  • Vítězných dnů

    32

Příspěvky posted by Quiter

  1. format(string, 200, "Obchod %s ma v trezoru %d$,bolo strhnuto %d$ za udrzbu a vyplaty zamestnancov. Peniaze vam boli poslane na ucet.", NehnutelnostInfo[id][Nazev], Vysloto[playerid] - VydelkovySystem, VydelkovySystem);

    Tu máš Vysloto[PLAYERID]

     

    VydelkovySystem = Vysloto[id] - VydelkovySystem;

    A tu zase ID... čiže v infoboxe ti zobrazí nejakú nezmyselnú hodnotu

     

    Tiež ako už bolo vyššie spomínané. skontroluj si či sú tvoje premenné (hlavne Vysloto a VydelkovySystem) typu integer (tj. obyčajný NEW). Ak použiješ format %d a pošleš tam float tak sa opäť zobrazí úplne nezmyselná hodnota :)

  2. Trošku viac opíš problém aby sme nestrácali čas hlúposťami...

    Pri dokončení prvej časti nezobrazuješ nový CP... Alebo musí hráč prísť k nejakému pickupu a spustiť 2. časť skúšky?

    Podľa textov v kóde si myslím že chceš aby po dokončení prvej časti autoškoly automaticky prešiel na druhú časť. V tom je problém, pretože si použil ELSE IF, konkrétne tuto:

    else if(VRServer[playerid][MissionID] == 2)

    Tento riadok spôsobí, že keď sa dokončí prvá misia, tak už sa nebude pokračovať v tejto vetve programu.

    Názorná ukážka:

    new w = 1;
    if (w == 1) // podmienka splnena, idem dnu
    	w = 2; // nastavim w na 2
    else if (w == 2) // podmienka sice je splnena ale program ju preskoci pretoze v skutocnosti sa najprv vyhodnoti ELSE a az potom IF
    	w = 3; // toto sa uz nevykona
    // w je teraz 2
    
    // toto je identicky kod ale viac prehladny
    w = 1;
    if (w == 1) {
    	w = 2;
    } else {
    	if (w == 2) {
    		w = 3;
    	}
    }
    
    // a takto by vyyeral kod kde sa splnia obe podmienky
    w = 1;
    if (w == 1) // podmienka splnena takze nastavime w na 2
    	w = 2;
    if (w == 2) // ziadne else takze sa vyhodnocuje podmienka a ta je splnena
    	w = 3;

    Takže moja rada na záver: ak chceš automaticky spustiť druhú misiu, zmaž ELSE

    Ešte tip: používaš SetPlayerPos po dokončení prvej časti - hráčovi asi bude chýbať auto ;)

    if(GetPlayerVehicleID(playerid) > 0) // IsPlayerInAnyVehicle
    SetPVarInt(playerid,"Skuska",GetPVarInt(playerid,"Skuska")+1); // ked kukam na toto, načo máš CASE 0? či "Skuska" je niekedy nastavena na -1?

    EDIT: Načo kontroluješ či nie je hráč NPC? Ty nejakým NPC nastavuješ checkpointy? (NIE) Taktiež nepripojený hráč asi nespustí OnPlayerEnterRaceCheckpoint... Zbytočné podmienky 

    • Líbí se mi to! (+1) 1
  3. před 9 hodinami, tck said:

    Ja nechápem načo to ešte robíte... Je to mŕtve.. aj keby si mal lepší mod ako WTLS alebo RZE tak nič tým nevyhráš.... nik to už nehrá... človek tam príde kukne sa a pôjde preč a už nepríde... Škoda času môj názor.

    Hmm a keby bol tento mód na RAGE MP (GTA V)?

  4. Určite si do server.cfg pridaj

    rcon 0

    No a potom si nejakým spôsobom ošetri rcon login 

    public OnRconLoginAttemp(...) {
    	Kick(playerid);
    }

    Či je to dostatočné to si nie som istý, ale zablokuje to vzdialené RCON prihlásenie a každý pokus o prihlásenie automaticky kickne zo serveru... Ako admin RCON ani nepotrebuješ...

    ZDROJ

    • Líbí se mi to! (+1) 1
  5. Čaute, pred dlhšou dobou som pracoval na jednom projekte ktorý som nedokončil. Dnes mi napadlo, že by som v ňom mohol pokračovať a dokončiť ho. Jednalo sa o GM na štýl reality.

    V móde je veľa systémov (dokončených aj rozpracovaných), niektoré tu budem prezentovať, možno niekoho zaujmú. Ešte vopred upozorňujem že mód NIE JE dokončený!

    Registrácia/prihlásenie - klasické dialogy s prihlásením, pri registrácií si hráč vyberá pohlavie (a neskôr bude pridaný jazyk) a heslo, taktiež prihlásenie je formou IP adresy a v prípade nezhody sa vyžaduje heslo

    Jazyk - do GM je implementovaný systém jazykov, podporované funkcie sú systémové správy a dialogy, bude rozširované podľa potreby

    Palivo - Každé vozidlo (kde to má zmysel) má typ paliva, veľkosť nádrže a spotrebu paliva. Palivo je možné doplniť na čerpacích staniciach po celom SA. Spotreba sa upravuje podľa aktuálnej rýchlosti vozidla.

    Tachometer - ukazuje názov vozidla, palivo, stav, rýchlosť, zapnutie motora, typ paliva, spotrebu, prejdenú vzdialenosť (momentálne sa nedá resetovať)

    Jednoduchý systém pre pridanie pickupu/herca/mapicony - v zásade stačí pridať pozíciu do poľa

    Načítanie vozidiel - všetky vozidla sa pri spustení serveru načítajú zo súboru, vozidlá môžu byť náhodného modelu alebo pevne dané, taktiež je možné vozidlo pridať priamo v hre pomocou príkazu - toto vozidlo bude už permanentné

    Cenzúra - momentálne funkčná len pre chat

    Autoškola - niekoľko typov vodičákov (motocykle, autá, nákladiaky, ...), v prípade že hráč použije vozidlo bez vodičáku, získa stav opilosti až do opustenia vozidla

    Čas a počasie - počasie je riadené systémom a formou náhody, takže nie je presný časový interval medzi zmenou počasia, čas v hre beží rýchlejšie než reálny čas

     

    Čo plánujem do budúcnosti?

    Vylepšovanie vozidiel - max HP, max rýchlosť, iné

    Práce - možnosť si privyrobiť, možnosť povýšení, výhody z prác

    Misie - možnosť pracovať v týme, niekoľko rôznych missií ktoré sa budu náhodne striedať a samozrejme budú nejako časovo obmedzené, nemožnosť viacerých týmov vykonávať rovnakú misiu (kto skôr príde, ten skôr melie)

    Lúpeže - finančne hodnotné, nutná príprava, taktiež veľké riziko kvôli wanted levelu (ktorý bude stúpať viac ako 6)

    Súd - hráč bude mať možnosť súdiť sa o svoj wanted level - môže prehrať alebo len získať skrátenie trestu

    Schopnosti - umelé schopnosti ktoré budú zvyšovať určitý aspekt hry, príklad: sila zvyšuje poškodenie úderom a ručnými zbraňami

    Nehnuteľnosti - nákup, predaj, aukcia a samozrejme vybavenie domu podľa prestáv hráča (niekde nakúpi nábytok a umiestni do domu)

    Inventár - bude obsahovať predmety ktoré má hráč pri sebe

    Aukcia - možnosť predať/kúpiť predmety

    Vylepšovanie -  možnosť kúpiť lepšie zbrane, napr. upgrade na pištol čo zvýši dmg alebo niečo podobné

    a mnoho iného

     

    Na konci dúfam že vás GM zaujal a bol by som rád, keby sa našiel niekto ochotný mi pomôcť s vývojom - stačí napísať súkromnú správu.

    sa-mp-000.jpg

    sa-mp-001.jpg

    sa-mp-002.jpg

    sa-mp-003.jpg

    sa-mp-006.jpg

    • Paráda! (+1) 2
  6. před 2 hodinami, tck said:

    2x GPU? stačí rozbočovač VGA ... majú ho v každom obchode s PC 

    Vieš čítať? Pretože presne o tom rozbočovači som mu písal... + nikdy som nepovedal 2x GPU... Prečítaj si to ešte raz

    • Zmatený 1
  7. Napadlo niekomu z vás, že ten jeho počítač má iba 1 VGA na základnej doske? (ako za starých čias kedy sme nepotrebovali grafické karty)

    V prípade že sa jedná o tento prípad, máš niekoľko možností, najlepšie (rozumej najlacnejšie) máš toto. Pripojíš to do PC a monitor aj projektor pripojíš do toho zariadenia. Nevýhodou je že ti bude zobrazovať to isté na oboch zariadeniach. Ďalšia možnosť je dokúpiť grafickú kartu ktorá bude mať aspoň 2 VGA porty :) 

  8. před 1 hodinou, Janik22 said:

    Naco mu todle posiláš když neumí pawniť chudák 

    Lebo ty si lepší.... Čo keby si mu radšej pomôhol namiesto urážania?

     

    Nikdy som so SII nepracoval, ale ak je to toto tak potom pravdepodobne nejako takto: 

    INI_Open(PlayerName(playerid));
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    INI_WriteFloat("posX", x);
    INI_WriteFloat("posY", y);
    INI_WriteFloat("posZ", z);
    INI_Save();
    INI_Close();

    Samozrejme playername si nahraď svojím nazvom súboru... a ostatné veci ako peniaze a skore si doplň podobým spôsobom

  9. pravdepodobne v nejakom include používaš danú funkciu a až potom ju "definuješ" vo svojom mode 😄

    tiež je možné že ju používaš vo svojom GM ale definuješ ju až potom... musíš to nejako prehodiť (tj. definícia funkcie musí byť pred použitím)

  10. Čo presne si predstavuješ pod pojmom "nastaví databázu"?

    Na internete je mnoho návodou ako si spojazdniť MYSQL server na svojom PC ;) (pre začiatočníka odporúčam XAMPP, jednoduchá inštalácia, jednoduchý prístup)

  11. před 3 hodinami, NuMeRe said:

    Už z hlediska toho že hráč může mít jiné proměnné nebo jiné podmínky a defakto by se to hádalo s herním modem a server by byl totálně na odpis.

    Nemusí byť tak úplne pravda... Pawn poskytuje možnosť volať metódy z FS / GM.

    Link na funkciu

    Jednoducho vo svojom reg. systéme zavoláš nejakú špefickú funkciu (OnPlayerSaveData / OnPlayerLoadData) a uživateľ (rozujem, pawner GameModu) si túto funkciu vytvorí vo svojom GM.

    Druhá - lepšia - varianta je, že si vytvoríš funkcie SaveInt, SaveFloat, .... A uživateľ bude používať tieto funkcie buď cez remote function alebo cez definy ktoré si dá hore ;) Pri tomto spôsobe ale musíš zoptimalizovať ukladanie (rozumej, nie je efektívne pri každej metode otvoriť súbor, nájsť pozíciu, zapísať na danú pozíciu a zatvoriť súbor - efektívnejšie je ukladať to do stringu a pri odpojení hráča celý string zapísať do súboru)

  12. před 10 minutami, Amenadiel said:

    místo onplayerupdate použij

    http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange

    bude to odost lepší... než to kontrolovat 100x za sekundu.. :d

    Podľa kódu ktorý uverejnil by mu OnPlayerKeyStateChange bolo na prd... Pretože on chce, aby keď vozidlo dosiahne rýchlosť 15, tak sa zrýchli (500x). V OnPlayerKeyStateChange by musel po dosiahnutí tejto klávesy opäť stlačiť W... A povedzme si úprimne, väčšinou stlačíš W a držíš ho stále pokiaľ nepotrebuješ spomaliť :d

  13. No, máš tam takú drobnosť, že keď napíše rozvážka a príde k 1. CP (checkpointu), tak môže opäť napísať rozvážka a opäť sa mu objaví CP na tom istom mieste ;)

    Resp. neviem teraz presne ako sa zachová CP keď mu znova nastaviť pozíciu, ale pravdepodobne tak ako som povedal. 

    Ďalšia vec je, že keď budeš mať viac povolaní s CP, budú sa ti CP medzi sebou byť... Dobré by bolo k CP dodať podmienku či je zamestnaný v pizzerke

     

    No a k tomu randomu:

    áno dá sa, prikladám ti kód s vysvetlením

    //Hore do modu
    
    new PizzaRandPos[][3] = {
    	{X1, Y1, Z1}, // pozície X, Y, Z, nahradíš svojimi číselnými hodnotami
    	{X2, Y2, Z2}
    	//... takto ďalej
    };
    
    //v kóde použiješ takto
    new rand = random(sizeof(PizzaRandPos)); // funkcia sizeof ti vráti počet riadkov v premennej PizzaRandPos
    // funkcia random vyberie náhodné číslo od 0 po zadanú hodnotu (zníženú o 1) - v našom prípade od 0 do 1
    
    SetPlayerCheckpoint(playerid, PizzaRandPos[rand][0], PizzaRandPos[rand][1], PizzaRandPos[rand][2], veľkosť);
    //PizzaRandPos[rand][0] je prvá hodnota na riadku s číslom rand, tj. X1 alebo X2
    //PizzaRandPos[rand][1] je druhá hodnota na riadku s číslom rand, tj. Y1 alebo Y2

     

  14. před 9 hodinami, jinkazama said:

    Já tam chcu mít City ne State :d:d

    Heej? Lebo zatiaľ tam máš Cit :d

    HostName: Life Of SanAndreas Cit | Official |
    Address:  82.208.17.10:27123
    Players:  0 / 100
    Ping:     16
    Mode:     LoSaC [V1.0] *VIP*
    Language: -

     

    Istého času ma mód veľmi bavil, uvidíme či aj teraz :d každopádne až budem mať čas, určite prídem omrknúť

    • Haha! 1
×
×
  • Create New...