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

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

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

  • 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

CousinsTV


Tutorials • Gaming • More...

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

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