Jump to content

EEEE

Uživatel
  • Příspěvků

    143
  • Registrován

  • Aktivní

  • Vítězných dnů

    1

Příspěvky posted by EEEE

  1. Takto... ja som myslel ze tu RZE7.9.pwn ci co to je mas... pokial ju nemas a chces ajtak vytvorit filterscript s admin menu tak si tam proste musis vytvorit podmienky na ten admin level... Lenze bude to tak ze v samotnom mode jeden admin system je urobeny a ty len urobis dalsi...

  2. No a keď dáš bez negácie, tak ho môžeš použiť každý okrem RCON admina, iba RCON adminovi odošle tu správu že nemá právo použiť príkaz. Ak chceš aby tie príkazy mohlo používať viac ľudí, čiže adminov - možeš dať každému adminovi RCON, alebo spravíš ukladanie dajme tomu cez dini, kde budeš mať mená adminov, pridáš podmienky a tí to budú môcť používať. Lebo teraz ten /menua môžeš použiť každý, okrem RCON admina samozrejme... Tak máš napísanú totiž tú podmienku.

  3. Tak mne to ani neskompilovalo, vkuse mi zamrzol compiler. Pozeral som čo by to mohlo robiť, potom som odstránil toto:

     

           

     spd(id,6,msg,"{FF0000}Pravidlá {FFFFFF}Servera {FF0000}Evolve-HostingSK","V prípade, že nebudete dodržiavať následujúce pravidlá, môžete byť potrestaný banom!\n\n{3300FF}Zákaz nadávať do chatu\nZákaz urážať hráčov, nadávať adminom\nAk máte problémy, vždy kontaktujte Admina na servery\nAk nájdete chybu / bug, nezneužívajte ho, nahláste ho\nZákaz používania cheatov, hackov alebo iných vychitávok ktoré vám zlepšia hru\nAdmini majú vždy pravdu\n\n{FFCC00}- Tieto pravidlá môžeme hocikedy upraviť!","Súhlasím","Zrušiť");

     

    A už to išlo. Nemôžeš mať taký dlhý príkaz. Musíš to naformátovať a tak to tam vložiť

    new str[500];
    format(str,sizeof(str),"V prípade, že nebudete dodržiavať následujúce pravidlá, môžete byť potrestaný banom!\n\n{3300FF}Zákaz nadávať do chatu\n");
    format(str,sizeof(str),"Zákaz urážať hráčov, nadávať adminom\nAk máte problémy, vždy kontaktujte Admina na servery\nAk nájdete chybu / bug, nezneužívajte ho");
    format(str,sizeof(str),"nahláste ho\nZákaz používania cheatov, hackov alebo iných vychitávok ktoré vám zlepšia hru\nAdmini majú vždy pravdu\n\n{FFCC00}- Tieto pravidlá môžeme hocikedy upraviť!");
    
    spd(id,6,msg,"{FF0000}Pravidlá {FFFFFF}Servera {FF0000}Evolve-HostingSK",str,"Súhlasím","Zrušiť"); // Ako vidíš tu nedávaš potom úvodzovky medzi str, pretože by si mal v dialógu potom napísané iba "str" namiesto tvojho stringu čo si si naformátoval.

     

      if(dialogid == 3 && response)
      {
        if(getpm(id) < 1500) return scm(id,-1,"{FF0000} [Error] Nemáš dostatok peňazí na zakúpenie vlastnej zbrani!");
        gpw(id,strval(inputtext));

     

    Chýba ti počet nábojov -  gpw(id,strval(inputtext),NÁBOJE);

    Ban(GetPVarInt(id,"idhraca"),strval(inputtext));

    http://wiki.sa-mp.com/wiki/Ban - Funkcia ban nezapisuje reason , musíš použiť http://wiki.sa-mp.com/wiki/BanEx

     

     Kick(GetPVarInt(id,"idvyhodeneho"),strval(inputtext));

    http://wiki.sa-mp.com/wiki/Kick - Pri kicku môžeš ten dôvod vypísať akurát hráčom do správy, SAMP dôvod kicku nezapisuje.

    if(IsPlayerAdmin(id)) return scm(id,-1,"[Error] Niesi Admin!");

    Nemáš tam tu negáciu. !IsPlayerAdmin(id)

     

    : warning 202: number of arguments does not match definition ==> počet polí v tvojom príkaze nesedí s počtom polí ako to je v SAMP

     

  4. Čo už s tebou no. Celé to tam preskakuješ o jeden dialóg. V OnDialogResponse na id 1 ti ešte len zobrazí dialogid 2, takže nemôžeš už v tom nastaviť ten pvarint pretože v dialogid 1 predsa nemáš žiaden inputtext. Dávam ti sem správny kód, keby si niečo nechápal, tak stále môžeš napísať. BTW if(dialogid == 1 && response) ti šetrí jednu zátvorku, používaj to takto budeš mať menej zátvoriek a menšia šanca, že sa pomýliš.

     

    cmd(test,playerid,params[])
    {
      ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Testovacie menu","Pridaj peniaze","Áno","Nie");
      return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
      if(dialogid == 1 && response)
      {
    	switch(listitem)
    	{
       		case 0:
       		{
         		ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Testovacie menu","Zadaj ID hráča","Ďalej","Zrušiť");
       		}
    	}
      }
      if(dialogid == 2 && response)
      {
    	ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Testovacie menu","Zadaj čiastku","Pridať","Zrušiť");
    	SetPVarInt(playerid,"idhraca",strval(inputtext));
      }
      if(dialogid == 3 && response)
      {
      	GivePlayerMoney(GetPVarInt(playerid,"idhraca"),strval(inputtext));
      	new str[60];
    	format(str,sizeof(str),"Hračovi s ID: %d bolo pridaných %d$",GetPVarInt(playerid,"idhraca"),strval(inputtext));
    	SendClientMessage(playerid,-1,str);
    	DeletePVar(playerid,"idhraca");
      }
      return 1;
    }

     

  5. Ako som spomínal, nevieš používať switch.

     

     if(dialogid == 6)
     {
      if(response == 1)
      {
       switch(listitem)
       {
        case 0:
        {
         spd(id,7,text,"Pridať peniaze","Napíš hodnotu: (MAX: 9 999 999$)","Give","Zrušiť");
         new hodnota = strval(inputtext);
         
         if(dialogid == 7)
         {

     

     if(dialogid == 6) // začiatok dialógu musí mať koniec pred tým než žačneš robiť response na ďalší dialóg
     {
      if(response == 1)
      {
       switch(listitem)
       {
        case 0: // pridať peniaze
        {
         spd(id,7,text,"Pridať peniaze","Napíš hodnotu: (MAX: 9 999 999$)","Give","Zrušiť");
         new hodnota = strval(inputtext);
        }
    	case 1: // Doplniť zdravie
        { 
    		//////////////////////////////////////
    	}
    	case 2: // Doplniť vestu
        { 
    		//////////////////////////////////////
    	}
    	case 3: // Dať hráčovi zbraň
        { 
    		//////////////////////////////////////
    	}
    	case 4: // pridať admin novinku
        { 
    		//////////////////////////////////////
    	}
       }// switch
      }// response
     }// end dialog ID 6
     if(dialogid == 7) // teraz môžeš začať nový dialog
     {
     }

     

    +

     

     if(IsPlayerAdmin(id)) return spd(id,7,msg,"{FF0000}Varovanie","{FFFFFF}Toto menu slúži len pre {FF0000}Adminov! {FFFFFF}Ty nie si {FF0000}Admin!","Chápem","");

     

    Teraz to admin menu bude fungovať každému, len adminovi nie.. musíš použiť negáciu tj. "if(!IsPlayerAdmin(id))"

    a dialog ID č. 7 používaš aj na to varovanie aj na to pridávanie peňazí. Preto je lepšie si ID dialógov definovať hore v móde ako je to tu: http://wiki.sa-mp.com/wiki/ShowPlayerDialog a v "spd" používať definície. Takto sa nepopletieš. 

  6. new bool:AFK[MAX_PLAYERS];
    new OldAFK[MAX_PLAYERS];
    new UlozeneJmeno[MAX_PLAYERS][MAX_PLAYER_NAME];
    new Float:SaveX[MAX_PLAYERS],SaveY[MAX_PLAYERS],Float:SaveZ[MAX_PLAYERS];

     

    nemal si tam ; , ďalej som zatiaľ ani nepozeral...

     

    Edit:

     

    stock Jmeno(playerid)       // Stock ktorým zistíme meno hráča ( aby sme nepoužívali GETPLAYERNAME
    {
    new p[MAX_PLAYER_NAME];
    if(IsPlayerConnected(playerid)) GetPlayerName(playerid,p,MAX_PLAYER_NAME);

    return p;
    }

    ďalšia chyba...

    Ďalej: vytváraš príkaz v príkaze...fakt nerozumiem ako si k tomuto došiel...  skús pozrieť pár návodov a porozmýšľať čo je tu zlé.

    CMD:afk(playerid,params[])
        {
            dcmd(afk,3, cmdtext);
            return 0;

    }

     

  7. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    	switch(dialogid == 1)
        {
            case 1:
            {
                switch(listitem)
                {
                    case 0:
                    {
    
    
        switch(dialogid == 3)
        {
            case 1:
            {
                switch(listitem)
                {
                    case 0:

     

    To čo je ? Už keď používaš switch, tak takto:

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        switch(dialogid)
        {
            case 1: // ak je dialogid 1
      		{
    			if (response == 0) return 1;
    			switch(listitem)
                {
                    case 0:
                    {
    					xxxxxxxxx
    				}
    				case 1:
    				{
    					yyyyyyyyy
    				}
    			} // koniec switch listittem
    		}// koniec dialogid 1
    		
    		case 2: // ak je dialogid 2
    		{
    			xxxxxxxxxx
    			yyyyyyyyyy
    		}// koniec dialogid 2 ... atď.
    	} // koniec switch
    }// koniec ondialogreponse
     + ondialogreponse na dialogid 2 (admin menu) tam ani nemáš
    		
    

    P.S.: neviem prečo mi to tak rozhádzalo tie zátvorky, v editore to mám dobre

  8. Cos to psal?

     

    fc3b5051e348419c874f82ad6f4ba74f.png

     

    Vždy to má cenu, i kdyby to byla jen blbá zkouška... 

     

    Spustil som to po nátlaku z okolia znova a práve teraz je tam 16 ľudí :d 

     

    Kto by chcel prísť pozrieť tak IP: 82.208.17.10:27999

    Client: SA-MP 0.3.7-R2

  9. To potom môžeme kvôli zamestnaniu "popelář" "srovnávat" s XY hranými aj nehranými módmi...

     

    Třeba jsem to jen srovnal k RŽ, nikde jsem netvrdil, že to RŽ vymyslelo, napřed si to pořádně přečti, ju? ;)

     

    Nj rýchlo sa z toho radšej vykrúť, lebo si tu robíš akurát hanbu. BTW s tou registráciou si ma dostal.

  10. Pre pokus o znovu-oživenie spúšťame server PFR na novej IP: 82.208.17.10:27110 , pre verejnosť by mal byť dostupný v priebehu dnešného dňa. Databáza je pravdepodobne nenávratne stratená, čo je v konečnom dôsledku podľa nás aj dobré - aspoň budete mať prečo hrať. To znamená že je zmazaný aj banlist a zmazal som aj zoznam permanentne zabanovaných - parazitov. V sekcii PFR som aktualizoval niektoré témy.

  11. Zle zátvorkuješ... ty si akokeby obidva dialógy aj obidve podmienky na response==1 uzavrel až úplne na konci publicu. Tam, kde máš na konci až 6x } je to zle. 2x } vymaž a pred 

    else if(dialogid == Dialog_Kamionak) ešte 2 k tým 2 čo tam už sú pridaj.

     

    A nezabudni, že každý dialóg a ostatné funkcie v ňom musiš uzatvárať osobitne... preto ti to miešalo a error v pwn nevyhodilo, lebo počet  { a } ti sedel 

  12. Zaujímavé, že mne na local serveri to funguje. Hovorím, niekde robíš chybu ty... neviem, či k tomu používaš ešte nejaké filterscripty alebo čo dačo to kazí no netuším.... Chyba je na tvojej strane, tento môj kód, čo som sem dal na 100% funguje. Viac ti s týmto pomáhať už nemienim.

  13. Tak obyčajný admin ti nefunguje, lebo zadávaš ako podmienku k nemu aj RCON admina nie ?

     

    Namiesto if(AdminLevel[playerid] == 5 && IsPlayerAdmin(playerid)  daj len if(AdminLevel[playerid] == 5)

     

    a keď to myslíš tak, že máš errory... tak tu  if(AdminLevel[playerid] == 5 && IsPlayerAdmin(playerid) ti chýba jedna zátvorka... správne takto: if(AdminLevel[playerid] == 5 && IsPlayerAdmin(playerid))

     

    Nieje ti rozumieť... nabuduce sa vyjadruj normálne a zrozumiteľnejšie.

  14. /*=======================RADY A ODKAZY PRE TEBA:================================
    	1) TABUJ - cez tabulátor, budeš to mať prehľadnejšie a nebude sa ti stávať to,
    	   čo teraz, že si mal úplne rozhádzané zátvorky a zátvorky na ukončenie si
    	   mal tam, kde ani nebolo čo ukončovať a ešte tam bol aj return... WTF?
    
    	2) Keď niekde dáš { tak na konci musí byť } ako ukončenie funkcie... samé
    	   chyby so zátvorkami si tam mal proste... na toto musíš dávať pozor
    	3) stock SendMessage - vymazal som ti ho... zbytočne nadefinovaný stock, ktorý
    	   si mal asi len pre to, aby si nemusel vypisovať SendClientMessage =>
    	   lenže keď si chceš skrátiť názov funkcie tak na to použi DEFINE a nie vytváraj
    	   novú... kukni sa pod include
    ================================================================================
    */
    #include <a_samp>
    #include <dini> //bere funkce z knihovny dini
    #include <dudb> //bere funkce z knihovny dudb
    #include <dutils> //bere funkce z knihovny dutils
    
    
    
    #define SCM SendClientMessage
    #define SendMessage SendClientMessage
    // TERAZ MOZES POUZIVAT AJ SendMessage aj len SCM
    
    
    //#define
    #define modra 0x4778C9
    #define MODRA 0x0000BBAA
    #define MODRA2 0x4682B4AA
    #define MODRA3 0x4169FFAA
    #define SVMODRA 0x33CCFFAA
    #define ZELENA 0x008000AA
    #define CYAN 0x00FFFFAA
    #define TMAVACYAN 0x008B8BAA
    #define BILA 0xFFFFFFAA
    #define ZLUTA 0xFFFF00AA
    #define HNEDA 0xA52A2AAA
    #define HNEDA2 0xBC8F8FAA
    #define COKOLADA 0xD2691EAA
    #define CERVENA 0xFF0000AA
    #define SEDA 0x808080AA
    #define FIALOVA 0x800080AA
    #define RUZOVA 0xFFC0CBAA
    #define CHARTR 0x7FFF00AA
    #define ORANZCERV 0xFF4500AA
    #define ORANZOVA 0xFF8C00AA
    #define NEVIDITE 0x4682B400
    #define B_SEDA 0x808080FF  //seda barva
    #define B_CERV 0xA40000FF //cervena barva
    #define B_BILA 0xFFFFFFFF //bila barva
    #define B_ZELE 0x00A400FF //zelena barva
    
    #define REG_DIALOG 0
    #define LOG_DIALOG 1
    
    enum PLAYER_INFO// - něco jako databaze odkud bere informace proměná Informace
    {
    	bool:Login // pokud už enum máte stačí do něj přidat toto (bool: logická porměnná, true or false)
    }
    
    new Informace[MAX_PLAYERS][PLAYER_INFO]; // info o hráč, využívá seznam z enumu
    
    stock Jmeno(playerid) // zjištění jména
    {
    	new pName[MAX_PLAYER_NAME]; //proměnná na zapsání jména
    
    	if(IsPlayerConnected(playerid)) //pokud je hráč připojen
    	{
    		if(!IsPlayerNPC(playerid)) // a pokud to není NPC
    		{
    			GetPlayerName(playerid, pName, sizeof(pName)); //zjistí jeho jméno
    		}
    	}
    	return pName; //odešle jméno
    }
    
    main()
    {
    	print("\n----------------------------------");
    	print("Real.Play1.1");
    	print("----------------------------------\n");
    }
    
    
    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    	SetGameModeText("Real.Play1.1");
    	AddPlayerClass(0, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(5, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(6, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(7, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(8, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(9, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(10, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(11, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(12, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(13, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(14, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(15, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(16, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(17, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(18, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(19, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(20, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	AddPlayerClass(21, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
    	return 1;
    }
    
    public OnGameModeExit()
    {
    	return 1;
    }
    
    public OnPlayerRequestClass(playerid, classid)
    {
    	if(!Informace[playerid][Login]) // kontrola jestli neni prihlasen
    	{
    		if(udb_Exists(Jmeno(playerid))) // pokud je zaregistrován
    		{
    			new message[256]; // proměnná pro zprávu
    			format(message, sizeof(message), "Vitej zpatky, %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //připraví zprávu¨s parametrem do dialogu
    			ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); // otevře přihlašovací dialog s kolonkou na heslo
    		}
    		else // ale pokud nemá účet
    		{
    			new message[256]; // připraví proměnnou pro zprávu
    			format(message, sizeof(message), "Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); // formát zprávy s parametrem
    			ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT, "Registrace", message, "OK", "Konec"); // pošle hráči registrační dialog s kolonkou pro heslo
    		}
    	}
    
        SetPlayerPos(playerid, 1875.2098,1336.1964,16.9223);
    	SetPlayerCameraPos(playerid, 1873.6270,1342.7435,16.9223);
    	SetPlayerCameraLookAt(playerid,1875.2098,1336.1964,16.9223);
    	return 1;
    }
    public OnPlayerConnect(playerid)
    {
        Informace[playerid][Login] = false; //nejdřív se musí přihlásit
        SendClientMessage(playerid,ZELENA, "Vytaj Na RoelPlay-Servery,RealPlay1.1");
    	return 1;
    }
    
    public OnPlayerDisconnect(playerid, reason)
    {
        if(Informace[playerid][Login] == true) //pokud je přihlášen
    	{
    		dUserSetINT(Jmeno(playerid)).("Penize",GetPlayerMoney(playerid)); //zjistí peníze a uloží je to na váš účet
    		Informace[playerid][Login] = false; //aby nebyl přiští hráč již přihlášen
        }
    	return 1;
    }
    
    public OnPlayerSpawn(playerid)
    {
        SetPlayerPos(playerid,-2034.4553,471.7131,35.1723);
    	return 1;
    }
    
    public OnPlayerDeath(playerid, killerid, reason)
    {
        SetPlayerPos(playerid, -2630.0396,700.8793,27.9495);
    	SendClientMessage(playerid,ZELENA, "Zomrel si!");
    	return 1;
    }
    
    public OnVehicleSpawn(vehicleid)
    {
    	return 1;
    }
    
    public OnVehicleDeath(vehicleid, killerid)
    {
    	return 1;
    }
    
    public OnPlayerText(playerid, text[])
    {
    	return 1;
    }
    
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    	{
    		// Do something here
    		return 1;
    	}
    	return 0;
    }
    
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    	return 1;
    }
    
    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    	return 1;
    }
    
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    	return 1;
    }
    
    public OnPlayerEnterCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnPlayerLeaveCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnRconCommand(cmd[])
    {
    	return 1;
    }
    
    public OnPlayerRequestSpawn(playerid)
    {
    	return 1;
    }
    
    public OnObjectMoved(objectid)
    {
    	return 1;
    }
    
    public OnPlayerObjectMoved(playerid, objectid)
    {
    	return 1;
    }
    
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    	return 1;
    }
    
    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    	return 1;
    }
    
    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    	return 1;
    }
    
    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    	return 1;
    }
    
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    	return 1;
    }
    
    public OnPlayerExitedMenu(playerid)
    {
    	return 1;
    }
    
    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    	return 1;
    }
    
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    	return 1;
    }
    
    public OnRconLoginAttempt(ip[], password[], success)
    {
    	return 1;
    }
    
    public OnPlayerUpdate(playerid)
    {
    	return 1;
    }
    
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    	return 1;
    }
    
    public OnPlayerStreamOut(playerid, forplayerid)
    {
    	return 1;
    }
    
    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    	return 1;
    }
    
    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    	return 1;
    }
    
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        if(dialogid == REG_DIALOG && response) //pokud je to registrační dialog
    	{
    		if(strlen(inputtext) == 0) //pokud nezadá heslo
    		{
    			SendClientMessage(playerid, B_CERV, "[ ! ] Moc kratke heslo!"); //napíše informaci
    			new message[256]; //proměnná pro zprávu
    			format(message, sizeof(message), "Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //příprava zprávy s parametrem
    			ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT, "Registrace", message, "OK", "Konec"); //odešle znova reg. dialog
    		}
    		else //ppokud zadal heslo
    		{
    			if (udb_Create(Jmeno(playerid),inputtext)) //pokud se podaří zaregistrovat
    			{
    				new message[256]; // proměnná pro zprávu
    				format(message, sizeof(message), "Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //formát zprávy s parametrem
    				ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); //odešle log. dialog
    			}
    			else
    			{
    				new message[256]; //proměnná pro zprávu
    				format(message, sizeof(message), "Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //příprava zprávy s parametrem
    				ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT, "Registrace", message, "OK", "Konec"); //odešle znova reg. dialog
    			}
    		}
        }
    
    	if(dialogid == LOG_DIALOG) // pokud je to přihlašovací dialog
    	{
    		if(response==1)
    		{
    			if (udb_CheckLogin(Jmeno(playerid),inputtext)) //pokud se povede přihlásit
    			{
    				//zde dávejte věci které se provedou po přihlášení - nahrání peněz atp.
    				GivePlayerMoney(playerid,dUserINT(Jmeno(playerid)).("Penize")-GetPlayerMoney(playerid)); //nahraje uložené peníze
    				//sem davejte veci ktere chcete nacist!
    				Informace[playerid][Login] = true; // že už je přihlášen
    				new message[256]; //proměnná na uložení zprávy
    				format(message, sizeof(message), "[ * ] Vitej ve hre %s!", Jmeno(playerid)); // zpráva s parametrem
    				SendMessage(playerid, B_ZELE, message); //odeslání zprávy
    				SendMessage(playerid, B_BILA, "[ * ] Mel by jsi si zaridit obcansky prukaz."); //informace při přihlášení
    				SendMessage(playerid, B_BILA, "[ * ] Bez neho si nic neporidis, ani se nezamestnas."); //informace při přihlášení
    				SendMessage(playerid, B_BILA, "[ * ] Napis /commads pro seznam prikazu."); //informace při přihlášení
    				SendMessage(playerid, B_BILA, "[ * ] Napis /help pokud neco nevis."); //informace při přihlášení
    			}
    			else // pokud dal špatné heslo
    			{
    				SendMessage(playerid, B_CERV, "[ ! ] Spatne heslo!"); //napíše informaci
    				new message[256]; //proměnná pro zprávu
    				format(message, sizeof(message), "Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //zpráva s parametrem Jmeno
    				ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); //pošle znova přihlašovací dialog
    			}
    		}
    		else //pokud zmáčkne talčítko Konec
    		{
    			SendMessage(playerid, B_CERV, "[ ! ] Prihlaseni je povinne!"); //napíše informaci
    			new message[256]; //proměnná pro zprávu
    			format(message, sizeof(message), "Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); // zpráva
    			ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); //zobrazí znova log. dialog s zprávou
    		}
    	}
    	return 1;
    }
    
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    	return 1;
    }
    

    Poznámka: Funkčnosť scriptu som nekontroloval, ale čo sa týka kompilácie tak je to teraz vporiadku.

  15. No jednoznačne robíš niekde chybu ty. Spravil som si to ako vlastný GM, nahodil na lokál a všetko ide. Skopíruj si toto pre mňa za mňa aj celé a určite ti to pôjde:

    // This is a comment
    // uncomment the line below if you want to write a filterscript
    //#define FILTERSCRIPT
    
    #include <a_samp>
    
    
    #define dcmd(%1,%2) if(!strcmp(cmdtext[1], #%1, true, (%2)) && (((cmdtext[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || ((cmdtext[(%2) + 1] == ' ') && (dcmd_%1(playerid, cmdtext[(%2) + 2]))))) return 1
    
    
    #define DIALOG_DERBY            670
    #define DIALOG_DERBY_RULES      671
    
    main()
    {
    	print("\n----------------------------------");
    	print(" Blank Gamemode by your name here");
    	print("----------------------------------\n");
    }
    
    public OnGameModeInit()
    {
    	// Don't use these lines if it's a filterscript
    	SetGameModeText("Derby command");
    	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    	return 1;
    }
    
    public OnGameModeExit()
    {
    	return 1;
    }
    
    //---------------- STOCK - NEVYUŽITÝ-------------------------------------------
    stock name(p)
    {
    	new n[25];
    	GetPlayerName(p,n,25);
    	return n;
    }
    //------------------------------------------------------------------------------
    
    public OnPlayerRequestClass(playerid, classid)
    {
    	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    	return 1;
    }
    
    public OnPlayerConnect(playerid)
    {
    	return 1;
    }
    
    public OnPlayerDisconnect(playerid, reason)
    {
    	return 1;
    }
    
    public OnPlayerSpawn(playerid)
    {
    	return 1;
    }
    
    public OnPlayerDeath(playerid, killerid, reason)
    {
    	return 1;
    }
    
    public OnVehicleSpawn(vehicleid)
    {
    	return 1;
    }
    
    public OnVehicleDeath(vehicleid, killerid)
    {
    	return 1;
    }
    
    public OnPlayerText(playerid, text[])
    {
    	return 1;
    }
    
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    
    	dcmd(derby,5);
    
    	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    	{
    		// Do something here
    		return 1;
    	}
    	
    	return 0;
    }
    
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    	return 1;
    }
    
    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    	return 1;
    }
    
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    	return 1;
    }
    
    public OnPlayerEnterCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnPlayerLeaveCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    	return 1;
    }
    
    public OnRconCommand(cmd[])
    {
    	return 1;
    }
    
    public OnPlayerRequestSpawn(playerid)
    {
    	return 1;
    }
    
    public OnObjectMoved(objectid)
    {
    	return 1;
    }
    
    public OnPlayerObjectMoved(playerid, objectid)
    {
    	return 1;
    }
    
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    	return 1;
    }
    
    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    	return 1;
    }
    
    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    	return 1;
    }
    
    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    	return 1;
    }
    
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    	return 1;
    }
    
    public OnPlayerExitedMenu(playerid)
    {
    	return 1;
    }
    
    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    	return 1;
    }
    
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    	return 1;
    }
    
    public OnRconLoginAttempt(ip[], password[], success)
    {
    	return 1;
    }
    
    public OnPlayerUpdate(playerid)
    {
    	return 1;
    }
    
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    	return 1;
    }
    
    public OnPlayerStreamOut(playerid, forplayerid)
    {
    	return 1;
    }
    
    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    	return 1;
    }
    
    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    	return 1;
    }
    
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        if(dialogid == DIALOG_DERBY && response)
        {
            if(listitem == 0)
            {
                ShowPlayerDialog(playerid,DIALOG_DERBY_RULES,DIALOG_STYLE_MSGBOX,"Pravidla","{FF0000} 1. Začina sa v autě id : 411 ! \n 2. Zakázaný pancier !\n 3. Zákaz vystoupovat z auta !\n 4. Warpujte sa bez vozidla !\n POZOR ! Porusenie pravidiel sa tresta.","OK","");
            }
            else if(listitem == 1)
            {
                SetPlayerPos(playerid,1117.9332,-2036.9949,78.7500);
            }
        }
        return 1;
    }
    
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    	return 1;
    }
    
    //============================ PRÍKAZY =========================================
    dcmd_derby(playerid,params[])
    {
    	#pragma unused params
    	ShowPlayerDialog(playerid, DIALOG_DERBY, DIALOG_STYLE_LIST, "{FFFFFF}Vitajte v DERBY", "{FFFFFF}pravidla\n{FFE9E9}warp", "Potvrdiť", "Koniec");
    	return 1;
    }
    
×
×
  • Create New...