Jump to content

Denonymous

Uživatel
  • Příspěvků

    49
  • Registrován

  • Aktivní

  • Vítězných dnů

    2

Příspěvky posted by Denonymous

  1. #include <a_samp>
    #include <dini> //bere funkce z knihovny dini
    #include <dudb> //bere funkce z knihovny dudb
    #include <dutils> //bere funkce z knihovny dutils
    #include <YSI/Y_ini>
     
    new Open[64];
     
    #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("Test vole");
    print("----------------------------------\n");
    }
     
     
    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("Test vole");
    AddPlayerClass(0, 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
    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
    new Nick[24 + 1]; // Myslím..
    new File, Open[64];
    new INI:File = INI_Open(Open);
    GetPlayerName(playerid, Nick, sizeof(Nick));
    format(Open, sizeof(Open), "%s.ini", Nick);
     
    new Float:PX, Float:PY, Float:PZ;
    GetPlayerPos(playerid, PX, PY, PZ);
    INI_WriteFloat(File, "PosX", PX);
    INI_WriteFloat(File, "PosY", PY);
    INI_WriteFloat(File, "PosZ", PZ);
    }
    return 1;
    }
     
    public OnPlayerSpawn(playerid)
    {
    new Float:X, Float:Y, Float:Z;
    new Nick[24 + 1]; // Myslím..
    new INI:File = INI_Open(Open);
    GetPlayerName(playerid, Nick, sizeof(Nick));
    format(Open, sizeof(Open), "%s.ini", Nick);
     
    INI_Float(File, "PosX", X);
    INI_Float(File, "PosY", Y);
    INI_Float(File, "PosZ", Z);
    SetPlayerPos(playerid, X, Y, Z);
    return 1;
    }
     
    public OnPlayerDeath(playerid, killerid, reason)
    {
        SetPlayerPos(playerid, -2630.0396,700.8793,27.9495);
    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)
    {
        new Float:VPosX, Float:VPosY, Float:VPosZ;
        GetVehiclePos(vehicleid, VPosX, VPosY, VPosZ);
        DestroyVehicle(playerid, vehicleid); // Tamto vytvorené zničíš
        CreateVehicle(vehicleid,VPosX, VPosY, VPosZ );
    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
    }
    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;
    }

     

     

    A errory:

     

    C:\Users\Mates\Desktop\TWWD.pwn(134) : warning 217: loose indentation
    C:\Users\Mates\Desktop\TWWD.pwn(135) : warning 219: local variable "Open" shadows a variable at a preceding level
    C:\Users\Mates\Desktop\TWWD.pwn(136) : error 021: symbol already defined: "File"
    C:\Users\Mates\Desktop\TWWD.pwn(135) : warning 203: symbol is never used: "File"
    C:\Users\Mates\Desktop\TWWD.pwn(157) : error 035: argument type mismatch (argument 1)
    C:\Users\Mates\Desktop\TWWD.pwn(157) : error 017: undefined symbol "value"
    C:\Users\Mates\Desktop\TWWD.pwn(158) : error 035: argument type mismatch (argument 1)
    C:\Users\Mates\Desktop\TWWD.pwn(158) : error 017: undefined symbol "value"
    C:\Users\Mates\Desktop\TWWD.pwn(159) : error 035: argument type mismatch (argument 1)
    C:\Users\Mates\Desktop\TWWD.pwn(159) : error 017: undefined symbol "value"
    C:\Users\Mates\Desktop\TWWD.pwn(161) : warning 217: loose indentation
    C:\Users\Mates\Desktop\TWWD.pwn(153) : warning 204: symbol is assigned a value that is never used: "File"
    C:\Users\Mates\Desktop\TWWD.pwn(204) : warning 202: number of arguments does not match definition
    C:\Users\Mates\Desktop\TWWD.pwn(205) : warning 202: number of arguments does not match definition
    C:\Users\Mates\Desktop\TWWD.pwn(205) : warning 202: number of arguments does not match definition
    C:\Users\Mates\Desktop\TWWD.pwn(205) : warning 202: number of arguments does not match definition
    C:\Users\Mates\Desktop\TWWD.pwn(205) : warning 202: number of arguments does not match definition

     

     

    Takže to minulé bylo lepší, nemyslíš? :o

     

     

    // EDIT

     

     Cely kod, ja vim jsem dobrej (y)

  2. C:\Users\Mates\Desktop\TWWD.pwn(135) : warning 217: loose indentation
    C:\Users\Mates\Desktop\TWWD.pwn(141) : error 001: expected token: "-string end-", but found "-identifier-"
    C:\Users\Mates\Desktop\TWWD.pwn(141) : warning 215: expression has no effect
    C:\Users\Mates\Desktop\TWWD.pwn(141) : error 001: expected token: ";", but found ")"
    C:\Users\Mates\Desktop\TWWD.pwn(141) : error 029: invalid expression, assumed zero
    C:\Users\Mates\Desktop\TWWD.pwn(141) : fatal error 107: too many error messages on one line

     

     

    A řádek 141 je:

     

    INI_WriteFloat(File, "PosX" X);

     

     

    Noo ? :o

  3. Dobre, jen jak nadefinovat ten Open ?

     

    C:\Users\Mates\Desktop\TWWD.pwn(135) : warning 217: loose indentation
    C:\Users\Mates\Desktop\TWWD.pwn(135) : error 017: undefined symbol "Open"
    C:\Users\Mates\Desktop\TWWD.pwn(137) : error 017: undefined symbol "Open"
    C:\Users\Mates\Desktop\TWWD.pwn(137) : error 017: undefined symbol "Open"
    C:\Users\Mates\Desktop\TWWD.pwn(137) : error 029: invalid expression, assumed zero
    C:\Users\Mates\Desktop\TWWD.pwn(137) : fatal error 107: too many error messages on one line

     

     

     

    // EDIT

     

    Kamo, myslis ze umim formatovat ? :d

  4. public OnPlayerDisconnect(playerid, reason)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    (radek 136) INI_WriteFloat(File, "PosX" X);
    INI_WriteFloat(File, "PosY" Y);
    INI_WriteFloat(File, "PosZ" Z);
    new Nick[24 + 1]; // Myslím..
    new INI:File = INI_Open(Open);
    GetPlayerName(playerid, Nick, sizeof(Nick));
    format(Open, sizeof(Open), "%s.ini", Nick);
    }
    return 1;
    }
     
    public OnPlayerSpawn(playerid)
    {
    INI_Float(File, "PosX", X);
    INI_Float(File, "PosY", Y);
    INI_Float(File, "PosZ", Z);
    SetPlayerPos(playerid, X, Y, Z);
    new Nick[24 + 1]; // Myslím..
    new INI:File = INI_Open(Open);
    GetPlayerName(playerid, Nick, sizeof(Nick));
    format(Open, sizeof(Open), "%s.ini", Nick);
    return 1;
    }

     

     

    Errory:

     

    C:\Users\Mates\Desktop\TWWD.pwn(134) : warning 219: local variable "X" shadows a variable at a preceding level
    C:\Users\Mates\Desktop\TWWD.pwn(134) : warning 219: local variable "Y" shadows a variable at a preceding level
    C:\Users\Mates\Desktop\TWWD.pwn(134) : warning 219: local variable "Z" shadows a variable at a preceding level
    C:\Users\Mates\Desktop\TWWD.pwn(135) : warning 217: loose indentation
    C:\Users\Mates\Desktop\TWWD.pwn(136) : error 017: undefined symbol "File"
    C:\Users\Mates\Desktop\TWWD.pwn(136) : warning 215: expression has no effect
    C:\Users\Mates\Desktop\TWWD.pwn(136) : error 001: expected token: ";", but found ")"
    C:\Users\Mates\Desktop\TWWD.pwn(136) : error 029: invalid expression, assumed zero
    C:\Users\Mates\Desktop\TWWD.pwn(136) : fatal error 107: too many error messages on one line

     

  5. Ahoj, potřeboval bych prosím pomoct.

     

    Jak mám udělat to, když namapuju auto, a hráč si ho vezme, a zaparkuje kdekoliv, aby tam zůstalo ? Napořád, aby se tam uložilo.

     

    A pak bych potřeboval pomoct to stejné s hráčem, hraje, někde si najde místo, odpojí se, ale chtěl bych, aby když se znovu připojí aby zůstal na tom stejném místě před odpojením. Díky :) :).

  6. Díky moc, ale takovýmu odbornýmu textu nevim co si z toho mam vzít, sorry. :d

     

    Nějak si ještě zkusim poradit a pokusím se o to co jsi napsal. :d

     

    //EDIT

     

    Docela to odpovídá jako kdyby to bylo na mě ten SkiBiguv podpis. :d

  7. Čau, potřeboval bych prosím od někoho poradit..

     

    Přepínají se mě dialogy. 

     

    Použil jsem inc od Morta.

     

    Klik

     

    No prostě jdu do banky, do pickupu, zobrazí se mě dialog, v tom dialogu otevřu další dialog, a jak jsem na tom pickupu tak se mě otevře ten dialog kterej byl na začátku, prostě nestihnu nic vložit, vybrat, vždycky se ukáže ten první. Přepínají se nějak ? Nebo co to je ?

     

    Díky. Čau.

     

    Errory nehází :)

     

     

  8. Čau, objevil se mě error:

     

    \thug2.pwn(6023) : error 021: symbol already defined: "strtok"

     

     

    Kód na co to háže error..

     

    strtok(const string[], &index)
    {
    new length = strlen(pl);
    while ((index < length) && (string[index] <= ' ')) { index++; }
    new offset = index; new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    { result[index - offset] = string[index]; index++; }
    result[index - offset] = EOS; return result;
    }

     

     

    Dělá to prostě chybu, hledal jsem na netu, a tam bylo že to mám smazat že to k ničemu ten strtok není, no nic s gl_common.inc to není,

    to jsem hledal. No smazal jsem to, a všecko bylo při kompilaci OK, ale když jsem vstupoval do hry, před přihlášením to celé spadlo..

    Nevíte co s tím ? Prosim prosim, kdo ví tak napište, díky moc. :d

     

  9. Návod na radio

    Ahoj, úplně nechápu jak někdo "složitě" dělá rádio systém. Já upřednostňuju spíš lehčí se stejnými funkcemi. :)

     

    Omluvte mě to, je to můj první návod, chci si to zkusit, díky :). Umím toho více, ale 1 návod. :d

     

    Obtížnost:  :2: (Jak pro koho, pro úplné začátečníky takhle, pro trochu víc znalce nejlehčí)

     

    Začneme že si uděláme příkaz, že se bude dialog zobrazovat.

     

    Do publicu OnPlayerCommandText si dáme:

     

     

    if (strcmp("/radio", cmdtext, true, 10) == 0)

    {
    ShowPlayerDialog(playerid, 999,  DIALOG_STYLE_LIST,  "Radio", "Radio 1\nRadio 2\nRadio 3", "Pustit", "Zavřít");
    return 1;
    }

     

     

    Vysvětlení: 

     

    playerid <-- Znamená to, že dialog se zobrazí tomu hráči, který příkaz napsal.

     

    999 <-- ID DIALOGU, pokud by bylo více dialogů se stejným ID, bugovali by se ve hře. :)

     

    DIALOG_STYLE_LIST <-- Znamená jakým stylem bude dialog vypadat.

     

    \n <-- Další řádek v dialogu.

     

     

    Teď si uděláme to, CO dialog bude vlastně dělat, co se stane když hráč klikne z výběru.

     

    public OnDialogResponse

     

    if(dialogid == 999) //<--- DIALOG ID 999 JAKO JSME SI DÁVALI PŘED CHVÍLÍ.
    {                                 // <--- OTEVŘEME SI CELÉ TOTO
       if(response)             //<--- KDYŽ HRÁČ KLIKNE..
       {
        switch(listitem)  //<--- CO SE STANE (VÝBĚR Z DIALOGU)
                {
                    case 1: PlayAudioStreamForPlayer(playerid, "URL (MUSÍ KONČIT PŘÍPONOU .MP3)");
                    case 2: PlayAudioStreamForPlayer(playerid, "URL (MUSÍ KONČIT PŘÍPONOU .MP3)");
                    case 3: PlayAudioStreamForPlayer(playerid, "URL (MUSÍ KONČIT PŘÍPONOU .MP3)");
                    }                                                  // <--- ZAVŘEME SI TO
    }
    return 1;
    }
    return 0; // <--- ÚPLNÉ ZAVŘENÍ FUNKCE
    }

     

    Příklad URL:

     

                   
                    case 0: PlayAudioStreamForPlayer(playerid, "http://icecast3.play.cz/evropa2-128.mp3");
                    case 1: PlayAudioStreamForPlayer(playerid, "http://icecast1.play.cz/kisshady256.mp3");
                    case 2: PlayAudioStreamForPlayer(playerid, "http://icecast5.play.cz/impuls128.mp3");

     

     

    1. Evropa 2 CZ

    2. KissHády

    3. Impuls

     

    A u těch CASŮ se začíná vždycky od 0 :) 

     

    Takhle máme RÁDIO úplně lehce, akorát teda tam nejsou posluchači, to si myslím, že je zbytečné   

    Tímto končím .. Ahoj. :d

    Beru i kritiku, jelikož teda je to můj první návod, a tak budu rád, když budu vědět co zlepšit   :) :) :)

×
×
  • Create New...