Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

kStruct - greita ir patogu


Pyazo

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3906 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

kStruct

Kadangi 'pawn' yra tokia 'kieta' kalba, joje nėra struktūrų. Šis include jų ir nesukuria, tiesiog leidžia naudoti struktūrų sintaksę, žinoma ji truputį skiriasi nuo tokių kaip c++ struktūrų, bet esmė beveik ta pati.

Kaip naudoti

  • Globalios struktūros
    Naudojimas yra labai paprastas. Viskas prasideda nuo struktūros sukūrimo:
    
    struct Test() //Sukuriame struktūrą pavadinimu Test
    { // pradedame struktūrą
    a, // pridedame INT reikšmės kintamajį prie struktūros
    Float:b, // pridedame FLOAT reikšmės kintamajį prie struktūros
    c[50], // pridedame STRING reikšmės kintamąjį prie struktūros
    bool: d // pridedame BOOLEAN reikšmės kintamajį prie struktūros
    }; // užbaigiame struktūrą


    Struktūra jau sukurta. Dabar ją galime naudoti. Kaip pavyzdį galime ją panaudoti OnGameModeInit() callback'e:

    
    public OnGameModeInit()
    {
    structInit->Test(); // pradedame struktūros vykdymą, šis kodas privalo būti viršuje
    obj.Test.[ a ] += 1; // prie Test struktūros objekto 'a' pridedame 1
    obj.Test.[ b ] += 200.50; // prie Test struktūros objekto 'b' pridedame 200.50
    format( obj.Test.[ c ], 20, "aaaa" ); // suformatuojame Test struktūros objektą 'c' į reikšmę 'aaaa'
    obj.Test.[ d ] = true; // Test struktūros objekto 'd' reikšmę nustatome į 'true'
    return (true);
    }


  • Variable struktūros
    Šios struktūros skiriasi tuo, kad naudojamos su papildomais parametrais( playerid, vehicleid ir kuo tik sugalvosite ). Taigi pradėkim nuo kūrimo
    struct masina() //Sukuriame struktūrą pavadinimu Test
    { // pradedame struktūrą
    a, // pridedame INT reikšmės kintamajį prie struktūros
    Float:b, // pridedame FLOAT reikšmės kintamajį prie struktūros
    c[50], // pridedame STRING reikšmės kintamąjį prie struktūros
    bool: d // pridedame BOOLEAN reikšmės kintamajį prie struktūros
    }; // užbaigiame struktūrą
    


    Struktūra jau sukurta. Dabar ją galime naudoti. Kaip pavyzdį galime ją panaudoti OnVehicleSpawn(vehicleid) callback'e:

    
    
    public OnVehicleSpawn(vehicleid)
    {
    varStructInit->masina(); // pradedame struktūros vykdymą, šis kodas privalo būti viršuje
    varObj.masina.[ vehicleid ][ a ] += 1; // prie masina struktūros objekto 'a' pridedame 1
    varObj.masina.[ vehicleid ][ b ] += 200.50; // prie masina struktūros objekto 'b' pridedame 200.50
    format( varObj.masina.[ vehicleid ][ c ], 20, "aaaa" ); // suformatuojame masina struktūros objektą 'c' į reikšmę 'aaaa'
    varObj.masina.[ vehicleid ][ d ] = true; // masina struktūros objekto 'd' reikšmę nustatome į 'true'
    return (true);
    }


Pagrindiniai aspektai

Kai jau naudojate klases, nepamirškite prirašyti: 'varStructInit->Klases_Pavadinimas();' arba 'structInit->Klases_Pavadinimas();', be šio kodo klasės neveiks.

Integravimas

Tiesiog savo skripto viršuje prirašykite kodą( nepamirškite rašyto PO #include <a_samp>:

#include <kClass>

Parsisiuntimas

Redaguota , nario KarolisK
Nuoroda į komentarą
Dalintis per kitą puslapį

kokia cia klase jeigu cia enumas pervadintas? :D + ne taip klases veikia

class manoKlase {

funkcija sudedam(skaic1, skaic 2)

{

return skaic1+skaic2

}

}

tada naudojimas manoKlase.sudedam(1, 3), cia ne tiksliai bet kazkas panasiau

Suprantu, šeip prieš galvodamas maniau kad neteisus esu kad čia klasės, visgi nusprendžiau surizikuot, pasirodo klydau.

Pataisiau temą.

Nuoroda į komentarą
Dalintis per kitą puslapį

Klasės private? Kodėl kas nors darytų klasees privačias? Juk niekas jų negalėtų naudoti...(Remiantis Java). (C ar c++ neturiu patirties)

what..?

class lol
{
   // by default čia būna private:
   // taip ir palikim
   // šituos kintamuosius galima naudoti tik klasės viduje. Iš išorės jie nepasiekiami.
   int money;
   float health;
public: // pakeičiam į public
   // šitas funkcijas galima naudoti iš išorės
   int getMoney() const { return money; }
   void setMoney(int amount) { money = amount; }
   float getHealth() const { return health; }
   void setHealth(float amount) { health = amount; }
};

struct lol
{
   // by default čia būna public: tiesiog jis nėra rašomas
private: // pakeičiam į private
   // šituos kintamuosius galima naudoti tik klasės ( struktūros ) viduje. Iš išorės jie nepasiekiami.
   int money;
   float health;
public: // pakeičiam į public
   // šitas funkcijas galima naudoti iš išorės
   int getMoney() const { return money; }
   void setMoney(int amount) { money = amount; }
   float getHealth() const { return health; }
   void setHealth(float amount) { health = amount; }
};

aiškiau bšk?

Nuoroda į komentarą
Dalintis per kitą puslapį

what..?

class lol
{
// by default čia būna private:
// taip ir palikim
// šituos kintamuosius galima naudoti tik klasės viduje. Iš išorės jie nepasiekiami.
int money;
float health;
public: // pakeičiam į public
// šitas funkcijas galima naudoti iš išorės
int getMoney() const { return money; }
void setMoney(int amount) { money = amount; }
float getHealth() const { return health; }
void setHealth(float amount) { health = amount; }
};

struct lol
{
// by default čia būna public: tiesiog jis nėra rašomas
private: // pakeičiam į private
// šituos kintamuosius galima naudoti tik klasės ( struktūros ) viduje. Iš išorės jie nepasiekiami.
int money;
float health;
public: // pakeičiam į public
// šitas funkcijas galima naudoti iš išorės
int getMoney() const { return money; }
void setMoney(int amount) { money = amount; }
float getHealth() const { return health; }
void setHealth(float amount) { health = amount; }
};

aiškiau bšk?

Nelabai, dėl struct ačiū,žinosiu, turėsiu galvoje kai prireiks.

Dėl pirmojo pavyzdžio, "by default private"... Aš esu jau pripratęs:

public class lol {
//class body
}

"Private" kintamieji ar funkcijos negali būti pasiekiami iš kitos klasės, ar ne? Tai jeigu klasė yra "private" neturėtų ji būti irgi nepasiekiama, bet koks tada tikslas apskritai tokia klasę turėti.

Tai man įdomu, kas būtu jeigu parašytum.

public class lol
{
    // by default čia būna private:
    // taip ir palikim
    // šituos kintamuosius galima naudoti tik klasės viduje. Iš išorės jie nepasiekiami.
    int money;
    float health;
public: // pakeičiam į public
    // šitas funkcijas galima naudoti iš išorės
    int getMoney() const { return money; }
    void setMoney(int amount) { money = amount; }
    float getHealth() const { return health; }
    void setHealth(float amount) { health = amount; }
};

Kuo tai skirtusi nuo tavo pavyzdžio?

Nuoroda į komentarą
Dalintis per kitą puslapį

Tai man įdomu, kas būtu jeigu parašytum.

public class lol
{
       // by default čia būna private:
       // taip ir palikim
       // šituos kintamuosius galima naudoti tik klasės viduje. Iš išorės jie nepasiekiami.
       int money;
       float health;
public: // pakeičiam į public
       // šitas funkcijas galima naudoti iš išorės
       int getMoney() const { return money; }
       void setMoney(int amount) { money = amount; }
       float getHealth() const { return health; }
       void setHealth(float amount) { health = amount; }
};

Kuo tai skirtusi nuo tavo pavyzdžio?

būtų klaida pirmoje eilutėje

C:\Users\Yiin\Desktop\C++\proj084\main.cpp|6|error: expected unqualified-id before 'public'|

java nėra c++, todėl tokia sintaxė čia netinka ir net nesitikėk kad tiks ;D O šiaip kaip naudoti klases gali intike pasieškoti, nes daug rašyt reiktų ką tingiu daryt :(

Nuoroda į komentarą
Dalintis per kitą puslapį

būtų klaida pirmoje eilutėje

C:\Users\Yiin\Desktop\C++\proj084\main.cpp|6|error: expected unqualified-id before 'public'|

java nėra c++, todėl tokia sintaxė čia netinka ir net nesitikėk kad tiks ;D O šiaip kaip naudoti klases gali intike pasieškoti, nes daug rašyt reiktų ką tingiu daryt :(

Kad tiks ir nesitikėjau. Bet mano pirmajame buvo paminėta: (remiantis Java, be C++ žinių) :)
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 savaičių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3906 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...