Peršokti į turinį
Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

[Pamoka] /pranesti by Gytis'


Gytis'

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3718 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,pasidalinsiu pamoka,kaip sukurti komandą /pranesti .Kam ji skirta ? Žaidėjas,pamates serverio klaidas,čyterius ar kažką tokio,parašęs komanda /pranesti [Jūsų Tekstas] ,žinutė bus nusiųsta sąvininkams,o šie galės pažiurėti serverio failuose,visas praneštas žinutes.

 

 

1.Einame į savo GameMode aplankalą, Scriptfiles > Saves ir jame sukuriame teksto dokumentą,ji galite pavadinti kaip norite,ir išsaugoti .ini formatu.

 

  • Kam to reikia ? Šiame tekstiniame dokumente,bus surašomi visi žaidėjų pranešti pranešimai.

2.Atsidarome savo GameMode > Pawno 

 

Po Callback'ų .:

OnPlayerCommandText

Dedame šį kodą .:

 if(strcmp(cmdtext, "/pranesti", true,7)==0)
{
new vardas[MAX_PLAYER_NAME], file[256], Timei[6], msg[64];
GetPlayerName(playerid, vardas, MAX_PLAYER_NAME);
getdate(Timei[3], Timei[4], Timei[5]);
gettime(Timei[0], Timei[1], Timei[2]);
format(file, 256, "saves/bugai.ini");
if(!fexist(file)) dini_Create(file);
format(msg, 64, "[%d/%d/%d %d:%d:%d] nuo %s : ", Timei[3], Timei[4], Timei[5], Timei[0], Timei[1], Timei[2], vardas;
dini_Set(file, msg, (cmdtext[0]));
SendClientMessage(playerid, GREEN, "{00FF00}Jūsų raportas sėkmingai išsiūstas serverio administracijai");
return SendClientMessage(playerid, GREEN, "{FFFFFF}Jeigu jūsų raportas pasitvirtins, su jumis susisieksime ir skirsime premiją.");
} Komandos pavadinimą ir kas bus įrašyta į text dokumentą galite nusistatyti patys.

Kodas tiems,kas naudoja ZCMD .:

CMD:pranesti(playerid,params[])
{
new vardas[MAX_PLAYER_NAME], file[256], Timei[6], msg[64];
GetPlayerName(playerid, vardas, MAX_PLAYER_NAME);
getdate(Timei[3], Timei[4], Timei[5]);
gettime(Timei[0], Timei[1], Timei[2]);
format(file, 256, "saves/bugai.ini");
if(!fexist(file)) dini_Create(file);
format(msg, 64, "[%d/%d/%d %d:%d:%d] nuo %s : ", Timei[3], Timei[4], Timei[5], Timei[0], Timei[1], Timei[2], vardas);
dini_Set(file, msg, (params[0]));
SendClientMessage(playerid, Balta, "{00FF00}Jūsų raportas sėkmingai išsiūstas serverio administracijai");
return SendClientMessage(playerid, Balta, "{FFFFFF}Jeigu jūsų raportas pasitvirtins, su jumis susisieksime ir skirsime premiją.");
} Žinau, daviau pagrinde tik kodus, bet čia nėra ką mokinti.. Tai tiek iš manęs šiandien, jei mes kokius error'us rašykite į PM ar į komentarus, stengsiuosi padėti visiems.

Spaudžiame F5 ir sucompiliname !

 

Pamoka kurta mano,o scriptai ne ! +R3P neprašau,supratingi uždės patys !

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

Jei neturėsi knygos per matematikos pamoką ir tau mokytoja surašys tik uždavinį, suprasi ką nors be paaiškinimų naujoje temoje ir kai dar nebuvai jos matęs?

 

Moku naudoti vadovėliu :)

Redaguota , nario Gytis'
Nuoroda į komentarą
Dalintis per kitą puslapį

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

Būtų labiau panašu į pamoką:


 

1. Einame į ***/scriptfiles/saves/ ir ten sukuriame failą pavadinimu bugai.ini

 

2. Atsidarome savo modifikaciją (GameMode)

 

3. Susirandame callback'ą OnPlayerCommandText ( *modifikacijoje spaudžiame CTRL+F ir įvedame OnPlayerCommandText )

Po

public OnPlayerCommandText(playerid, cmdtext[])
{

rašome

if(strcmp(cmdtext, "/pranesti", true,7)==0)
{
new vardas[MAX_PLAYER_NAME], file[256], Timei[6], msg[64];
GetPlayerName(playerid, vardas, MAX_PLAYER_NAME);
getdate(Timei[3], Timei[4], Timei[5]);
gettime(Timei[0], Timei[1], Timei[2]);
format(file, 256, "saves/bugai.ini");
if(!fexist(file)) dini_Create(file);
format(msg, 64, "[%d/%d/%d %d:%d:%d] nuo %s : ", Timei[3], Timei[4], Timei[5], Timei[0], Timei[1], Timei[2], vardas;
dini_Set(file, msg, (cmdtext[0]));
SendClientMessage(playerid, GREEN, "{00FF00}Jūsų raportas sėkmingai išsiūstas serverio administracijai");
return SendClientMessage(playerid, GREEN, "{FFFFFF}Jeigu jūsų raportas pasitvirtins, su jumis susisieksime ir skirsime premiją.");
}

Jei naudojate pluginą ZCMD rašykite kodo apačioje*:

CMD:pranesti(playerid,params[])
{
new vardas[MAX_PLAYER_NAME], file[256], Timei[6], msg[64];
GetPlayerName(playerid, vardas, MAX_PLAYER_NAME);
getdate(Timei[3], Timei[4], Timei[5]);
gettime(Timei[0], Timei[1], Timei[2]);
format(file, 256, "saves/bugai.ini");
if(!fexist(file)) dini_Create(file);
format(msg, 64, "[%d/%d/%d %d:%d:%d] nuo %s : ", Timei[3], Timei[4], Timei[5], Timei[0], Timei[1], Timei[2], vardas);
dini_Set(file, msg, (params[0]));
SendClientMessage(playerid, Balta, "{00FF00}Jūsų raportas sėkmingai išsiūstas serverio administracijai");
return SendClientMessage(playerid, Balta, "{FFFFFF}Jeigu jūsų raportas pasitvirtins, su jumis susisieksime ir skirsime premiją.");
}


Paaiškinimai:

new vardas[MAX_PLAYER_NAME], file[256], Timei[6], msg[64]; - sukuriame kintamuosius
GetPlayerName(playerid, vardas, MAX_PLAYER_NAME);
getdate(Timei[3], Timei[4], Timei[5]);
gettime(Timei[0], Timei[1], Timei[2]); - išgauname informacija kuri ir bus kintamųjų reikšmė
if(!fexist(file)) dini_Create(file); - jei nebūsite sukūrę bugai.ini failo, jis jums sukurs automatiškai. Pats kodas padaro tikrinimą ar failas NEEGZISTUOJA (tai nurodo šauktuukas esantis prie fexist) jis sukuria failą. !-Patartina failą susikurti pačiam-!
format(msg, 64, "[%d/%d/%d %d:%d:%d] nuo %s : ", Timei[3], Timei[4], Timei[5], Timei[0], Timei[1], Timei[2], vardas); - sukuria žinutę kurią įrašys faile
dini_Set(file, msg, (params[0])); - įrašo žinutę faile
SendClientMessage(playerid, Balta, "{00FF00}Jūsų raportas sėkmingai išsiūstas serverio administracijai");
return SendClientMessage(playerid, Balta, "{FFFFFF}Jeigu jūsų raportas pasitvirtins, su jumis susisieksime ir skirsime premiją.") - šias žinutes išsiunčiame žaidėjui **


* Kodą nebūtinai turite rašyti modifikacijos pabaigoje, paprasčiausiai taip bus lengviau susigaudyti. ZCMD komanda gali būti parašyta bet kur kode (PATARTINA NERAŠYTI CALLBACK'uose)

** Galite gauti klaidą

error 017: undefined symbol "Balta"

tokiu atveju modifikacijos viršuje prirašykite 

#define BALTA 0xFFFFFFFF
Nuoroda į komentarą
Dalintis per kitą puslapį

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

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