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

Serverio data/laikas GUI + ZCMD.


KevinC

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3361 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

Sveiki,

 

šioje pamokoje parodysiu kaip sukurti serverio laiką ir data GUI dialoge, ši pamoka skirta pradedantiems skriptinti ir laužant ledus ties PAWN programavimo kalba.

 

 

Visų pirmą susikuriam komandą, kurios pagalba iškviesime komandą;

COMMAND:laikas(playerid,params[])
{

  return 1;
}

Pereiname prie kintamūjų kūrimo, kurių pagalba išgausime serverio realią datą;

 

COMMAND:laikas(playerid,params[])

{

 new
        menesiai_s[ 20 ],/* kiek talpinsime raidžių atvaizduojant mėnesį */

        string[ 200 ],/* kiek talpinsim dialoge simbolių */
        metai, menesiai, diena,/* sukuriam kintamuosius metams, menesiams ir dienoms */

        valandos, minutes, sekundes;/* atvaizduosime kiek veliau serverio laiką valandomis */

 

getdate(metai, menesiai, diena);/* išgauna serverio datą su sukurtais kintamaisiais */

 gettime(valandos, minutes, sekundes);/* išgauna serverio laiką */

 

 

 return 1;

}

 

Toliau, pereiname prie mėnesių pritaikymo kintamajam menesiai, kaip žinome metuose mes turime 12 mėnesių, todėl sukursim 12 tikrinimų.

COMMAND:laikas(playerid,params[])
{
 new
        menesiai_s[ 20 ],/* kiek talpinsime raidžių atvaizduojant mėnesį */
        string[ 200 ],/* kiek talpinsim dialoge simbolių */
        metai, menesiai, diena,/* sukuriam kintamuosius metams, menesiams ir dienoms */
        valandos, minutes, sekundes;/* atvaizduosime kiek veliau serverio laiką valandomis */


 getdate(metai, menesiai, diena);/* išgauna serverio datą su sukurtais kintamaisiais */
 gettime(valandos, minutes, sekundes);/* išgauna serverio laiką */

 if(menesiai == 1) { menesiai_s = "Sausis"; }
 else if(menesiai == 2) { menesiai_s = "Vasaris"; }
 else if(menesiai == 3) { menesiai_s = "Kovas"; }
 else if(menesiai == 4) { menesiai_s = "Balandis"; }
 else if(menesiai == 5) { menesiai_s = "Gegužė"; }
 else if(menesiai == 6) { menesiai_s = "Biržėlis"; }
 else if(menesiai == 7) { menesiai_s = "Liepa"; }
 else if(menesiai == 8) { menesiai_s = "Rugpjūtis"; }
 else if(menesiai == 9) { menesiai_s = "Rugsėjis"; }
 else if(menesiai == 10) { menesiai_s = "Spalis"; }
 else if(menesiai == 11) { menesiai_s = "Lapkritis"; }
 else if(menesiai == 12) { menesiai_s = "Gruodis"; }

 return 1;
}

Kitas etapas, pabaigiam kurti komandą, dialogas ir animacija.

COMMAND:laikas(playerid,params[])
{
 new
        menesiai_s[ 20 ],/* kiek talpinsime raidžių atvaizduojant mėnesį */
        string[ 200 ],
        metai, menesiai, diena,/* sukuriam kintamuosius metams, menesiams ir dienoms */
        valandos, minutes, sekundes;/* atvaizduosime kiek veliau serverio laiką valandomis */
        

 getdate(metai, menesiai, diena);/* išgauna serverio datą su sukurtais kintamaisiais */
 gettime(valandos, minutes, sekundes);/* išgauna serverio laiką */

 if(menesiai == 1) { menesiai_s = "Sausis"; }
 else if(menesiai == 2) { menesiai_s = "Vasaris"; }
 else if(menesiai == 3) { menesiai_s = "Kovas"; }
 else if(menesiai == 4) { menesiai_s = "Balandis"; }
 else if(menesiai == 5) { menesiai_s = "Gegužė"; }
 else if(menesiai == 6) { menesiai_s = "Biržėlis"; }
 else if(menesiai == 7) { menesiai_s = "Liepa"; }
 else if(menesiai == 8) { menesiai_s = "Rugpjūtis"; }
 else if(menesiai == 9) { menesiai_s = "Rugsėjis"; }
 else if(menesiai == 10) { menesiai_s = "Spalis"; }
 else if(menesiai == 11) { menesiai_s = "Lapkritis"; }
 else if(menesiai == 12) { menesiai_s = "Gruodis"; }
 
 format(string, sizeof(string), "{e49b0f}\tŠiuo metu mūsų serveris rodo\n{faeedd}_____________________________________\n\n{faeedd}Šiandienos data: {e49b0f}%d %s 2013 metai\n{faeedd}Laikas: {e49b0f}%d valandų %d minučių\n{faeedd}_____________________________________", diena, menesiai_s, valandos, minutes);
 ShowPlayerDialog(playerid,8888, DIALOG_STYLE_MSGBOX, "SERVERIO LAIKAS", string, "Uždaryti", "");
 ApplyAnimation(playerid,"COP_AMBIENT","Coplook_watch",4.1,0,0,0,0,0,1);
 return 1;
}

GALUTINIS REZULTATAS

283511914399dec54310a966a4f72986241.PNG

 

Na štai, manau pradedantiems skriptinti ši pamoka pravers, jei kil klausimų rašom tiesiai į čia. :)

Redaguota , nario cartoz.
Nuoroda į komentarą
Dalintis per kitą puslapį

Kol baigsiu kritikuot viską, noriu pasakyti kad GUI niekada ir neparodei

 

 

Kritika:

 

"PAWN programa." Pawn ne programa. Pawn yra skriptinimo kalba.

 

Ir tas kalnas "if'ų" negražiai atrodo, beto jeigu po if'o bus tik vienas "statement" { } nereikia, todėl tą kodą galima  būtų perrašyti taip(nors tai nėra esminė klaida,bet norėtųsi mokyti pradedančiuosius įvairiai):

 switch(menesiai)
{
   case 1:menesiai_s = "Sausis";
   case 2:menesiai_s = "Vasaris"; 
   case 3:menesiai_s = "Kovas"; 
   case 4:menesiai_s = "Balandis"; 
   case 5:menesiai_s = "Gegužė"; 
   case 6:menesiai_s ="Biržėlis"; 
   case 7:menesiai_s = "Liepa"; 
   case 8:menesiai_s = "Rugpjūtis"; 
   case 9:menesiai_s = "Rugsėjis"; 
   case 10:menesiai_s = "Spalis"; 
   case 11:menesiai_s ="Lapkritis"; 
   case 12:menesiai_s = "Gruodis"; 

}

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

Metus išgauni, bet "2013" rašai pats. Kodėl? :D

Ir klausimą turiu: skaičiams atvaizduoti naudojam %i ir %d. Bet kada naudot %i, o kada %d? Ačiū.

 

Kiek pamenu %i skaičiai su kableliu, o %d skaičiai be kablelio :D

Šauni pamoka +r3p :)

Ir dar klausimas, ten animacija kam naudojama, ar ji nieko nedaro ? :D

Redaguota , nario *Jamaika
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 1 metų...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3361 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ą...