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

[Skriptas] Chat valymas


Lukas2K

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

zcmd :

CMD:valytichat( playerid, params[ ] )
{
   if(IsPlayerAdmin(playerid)) // šita perdarykite į savo admin kintamąji
   {
   for(new i = 0; i < 50; i++) SendClientMessageToAll(0x33FF33AA," "); return 1;
   }
   else return SendClientMessage(playerid,COLOR_RED,"KLAIDA: Jūs turite būti rcon administratoriumi!");
}

strcmp :

    if(strcmp(cmdtext, "/valytichat", true) == 0)
    {
   	if(IsPlayerAdmin(playerid)) // šita perdarykite į savo admin kintamąji
   	{
   	for(new i = 0; i < 50; i++) SendClientMessageToAll(0x33FF33AA," "); return 1;
   	}
   	else return SendClientMessage(playerid,COLOR_RED,"KLAIDA: Jūs turite būti rcon administratoriumi!");
    }
Redaguota , nario PlayFair
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

charzarding-wtf-240x180.jpg

for(new i = 0; i < 120; i++)
        {
            SendClientMessage(i,0x00," ");
        }

120 žaidėjų gaus po tuščia žinutę.... Koks tikslas?

 

Toks ir tikslas yra kad pravalyti chat , o kas rašo kad skriptas ištrauktas iš modifikacijos tai raskit prašau :)

 

 

 

Ir Dar scriptas yra rašytas ne tavo. o ištrauktas iš modifikacijos.

proove it .

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

Toks ir tikslas yra kad pravalyti chat , o kas rašo kad skriptas ištrauktas iš modifikacijos tai raskit prašau :)

 

proove it .

Ne, tu nesupranti. 120 žaidėjų gaus po VIENĄ tuščią žinutę. Jei bus dagiau nei 120 žaidėjų, kiti negaus... jei bus mažiau, tu siųsi žinutes neegzistuojantiems žaidėjams. 

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

Ne, tu nesupranti. 120 žaidėjų gaus po VIENĄ tuščią žinutę. Jei bus dagiau nei 120 žaidėjų, kiti negaus... jei bus mažiau, tu siųsi žinutes neegzistuojantiems žaidėjams. 

 

 my bad . Spirit variantas geresnis .

 

edit : skriptas redaguotas .

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

Ar silpnesniems kompiuteriams neužlagins?

Silpnesniems? Tu gal naudoji ENIAC

 

Žinai kiek serveris užtruktų siųsdamas pusę milijono žinučių? 32 MILIsekundes.

        new ticks = GetTickCount();
	for(new i = 0; i < 500000; i++)
	{
		SendClientMessage(i,0x00," ");
	}
	printf("Tai uztruko %d MS",GetTickCount() - ticks);

 

[17:28:27] Tai uztruko 32 MS

Nuoroda į komentarą
Dalintis per kitą puslapį

 

Silpnesniems? Tu gal naudoji ENIAC

 

Žinai kiek serveris užtruktų siųsdamas pusę milijono žinučių? 32 MILIsekundes.

        new ticks = GetTickCount();
	for(new i = 0; i < 500000; i++)
	{
		SendClientMessage(i,0x00," ");
	}
	printf("Tai uztruko %d MS",GetTickCount() - ticks);

 

tiksliau būtų

new time = gettime();
while(gettime() == time)
{
    // wait for it!
}
new count; ++time;
while(gettime() == time)
{
    SendClientMessageToAll(-1, " ");
    ++count;
}
printf("per 1 sec, funkcija buvo ivykdyta %i kartus.", count);
Redaguota , nario Yiin
Nuoroda į komentarą
Dalintis per kitą puslapį

Principas tas pats kaip pas Justo tik kad mum reikia kad išsiūstų žinutę tik tiem kurie online kad nebūtų daugiau ar mažiau ar ne ?

 

taigi įsirašome stocką kuris tikrins kiek žmonių online ir atvaizduos skaičių.

stock GetOnlinePlayers()
{
new iPlayersOnline;
for (new i; i < MAX_PLAYERS; i++)
{
    if (!IsPlayerConnected(i)) continue;
    iPlayersOnline ++;
}
return iPlayersOnline;
}

Ir pačią chat valymo komanda 

for(new i = 0; i < GetOnlinePlayers(); i++)
    {
        SendClientMessage(i,0x00," ");
    }

Aš dėjau po OnPlayerUpdate. :)

Timerinis varijantas

dedam kur nors prie publicų šitą kodą:

forward valykimchata(playerid);
public valykimchata(playerid)
{
    for(new i = 0; i < GetOnlinePlayers(); i++)
    {
        SendClientMessage(i,0x00," ");
    }
} 

ir viršuj prie visų newsų dedam šitą

new chatas[MAX_PLAYERS];

O po OnPlayerConnect:

chatas[playerid] = SetTimer("valykimchata", 90000, 1); 

paskui po OnPlayerDisconnect:

KillTimer(chatas[playerid]); 

90000 galit pakeistį į kiek norit laiko tai bus milisekundėmis:

90000 - 1.5 minutės;

60000 - 1 minutė;

80000 - 1.3 minutės;

ir t.t

 

Sekmės Erikas.L.

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

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

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