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

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

(redaguota)

Sveiki, padariau tokį kodą:

COMMAND:pmon(playerid, params[])
{
	new
	    String[216],
	    giveplayerid
	;
	
	if(pDB[playerid][AdminLevel] == 0)            return 0;
	
	if(sscanf(params, "r", giveplayerid))         return SendClientMessage(playerid, COLOR_LIGHTBLUE, "NAUDOJIMAS: /pmon <id/vardas_pavardė>");
	
	if(pDB[giveplayerid][PrivateMessage] == true) return SendClientMessage(playerid, COLOR_RED, "* Žaidėjas jau yra pradėjęs asmeninį pokalbį su kažkuo!");
	
	if(GetPlayerScore(giveplayerid) >= 500)       return SendClientMessage(playerid, COLOR_RED, "* Asmeninį pokalbį galima pradėti su žaidėju turinčiu mažiau nei 500 EXP taškų!");

	pDB[giveplayerid][PrivateMessage] = true;
	pDB[playerid][PrivateMessage]     = true;
	
	format(String, sizeof(String), "* Administratorius %s[%i] pradėjo asmeninį pokalbį su jumis! (/pm)", PlayerName(playerid), playerid);
	SendClientMessage(giveplayerid, COLOR_ORANGE, String);
	
        format(String, sizeof(String), "* Pradėjote asmeninį pokalbį su %s[%i]! (/pm)", PlayerName(giveplayerid), giveplayerid);
	SendClientMessage(playerid, COLOR_ORANGE, String);
	SendClientMessage(playerid, COLOR_ORANGE, "* Norint baigti pokalbį rašykite /pmoff.");
	return 1;
}

ir kaip dabar padaryt tarkim parašius "/pm <tekstas>" žinutę nusiųstų tam žaidėjui su kuriuo "PrivateMessage" lygu "true"? Aš žinau, kad galima eiti per visus žaidėjus ir tikrinti pas ką yra tas "true", bet tada išsiųs visiems pas kuriuos "PrivateMessage" lygu "true". O aš noriu, kad jie galėtu chatinti tarpusavyje. Jokios mintys neateina į galvą. :D

Redaguota , nario Rocky'
(redaguota)
new pmpokalbis[MAX_PLAYERS]=-1;

CMD:pm(playerid, params[])
{
    new String[216],tekstas[256],giveplayerid;
    if(pDB[playerid][PrivateMessage]==false)
    {
        if(pDB[playerid][AdminLevel] == 0) return 0;
        if(sscanf(params, "r", giveplayerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "NAUDOJIMAS: /pm <id/vardas_pavardė>");
        else if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_RED, "* Toks žaidėjas nėra prisijungęs!");
        else if(playerid==giveplayerid) return SendClientMessage(playerid, COLOR_RED, "* Negali su savim susirašinėti!");
        else if(pDB[giveplayerid][PrivateMessage] == true) return SendClientMessage(playerid, COLOR_RED, "* Žaidėjas jau yra pradėjęs asmeninį pokalbį su kažkuo!");
        else if(GetPlayerScore(giveplayerid) >= 500) return SendClientMessage(playerid, COLOR_RED, "* Asmeninį pokalbį galima pradėti su žaidėju turinčiu mažiau nei 500 EXP taškų!");
        else
        {
            pmpokalbis[playerid]=giveplayerid;
            pmpokalbis[giveplayerid]=playerid;
            pDB[giveplayerid][PrivateMessage] = true;
            pDB[playerid][PrivateMessage] = true;
            format(String, sizeof(String), "* Administratorius %s[%i] pradėjo asmeninį pokalbį su jumis! (/pm <tekstas>)", PlayerName(playerid), playerid);
            SendClientMessage(giveplayerid, COLOR_ORANGE, String);
             format(String, sizeof(String), "* Pradėjote asmeninį pokalbį su %s[%i]! (/pm <tekstas>)", PlayerName(giveplayerid), giveplayerid);
            SendClientMessage(playerid, COLOR_ORANGE, String);
            SendClientMessage(playerid, COLOR_ORANGE, "* Norint baigti pokalbį rašykite /pmoff.");
        }
    }
    else
    {
        if(!sscanf(params, "s[256]", tekstas))
        {
            if(pmpokalbis[playerid]==-1) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Nesate pradėję pokalbio su kitu žaidėju! (/pmon <id/vardas_pavardė>)");
            format(String, sizeof(String), "Tu sakai:%s",tekstas);
            SendClientMessage(playerid, -1, String);
            format(String, sizeof(String), "%s:%s",vardas,tekstas);
            SendClientMessage(pmpokalbis[playerid], -1, String);
        }
        else
        {
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Šiuo metu jūs esate asmeniniame pokalbyje.");
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "NAUDOJIMAS: /pm <tekstas>");
        }
    }
    return 1;
}

CMD:pmoff(playerid, params[])
{
    new zinute[100];
    if(pmpokalbis[playerid]==-1) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Nesate pradėję pokalbio su kitu žaidėju! (/pm <id/vardas_pavardė>)");
    format(zinute,sizeof(zinute),"Žaidėjas %s[%i] nutraukė asmeninį pokalbį su jumis.", PlayerName(playerid),playerid);
    SendClientMessage(pmpokalbis[playerid],-1,zinute);
    format(zinute,sizeof(zinute),"Užbaigėte asmeninį pokalbį su žaidėju %s[%i].", PlayerName(pmpokalbis[playerid]),pmpokalbis[playerid]);
    SendClientMessage(playerid, -1 ,zinute);
    pmpokalbis[pmpokalbis[playerid]]=-1;
    pDB[pmpokalbis[playerid]][PrivateMessage]=false;
    pmpokalbis[playerid]=-1;
    pDB[playerid][PrivateMessage]=false;
    return 1;
}

Aišku dar reikės žaidėjui atsijungus nustatyt abiejų žaidėjų kintamajį į -1, nes jie abu nebesusirašinėja. Tik kažkodėl kai bandžiau užbaigti pokalbį su savim (/pmoff), komanda suveikė, bet gale vis tiek rašė, kad komanda nesuveikė (ten kai būna: "Tokios komandos nėra. Visos komandos /komandos). Gal čia tik kai su savim kalbi. Su kitu žaidėju netestavau. Gal nebus tos problemos.

Redaguota , nario Virsenas

SHFitnE.jpg

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