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

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

    COMMAND:s( playerid, params [ ] )
           {
               new tekstas[125];
            if(sscanf(params, "s[75]", tekstas)) return SendClientMessage(playerid, 0x00FF00AA, "Naudojimas: /s [tekstas]");
               new lygys[27];
               new zin[300],vardas[24];
            GetPlayerName(playerid,vardas,24);

            if(playerDB[playerid][adminlvl]) lygys = "I Lygio";
            else if(playerDB[playerid][adminlvl2]) lygys = "II Lygio";
            else if(playerDB[playerid][adminlvl3]) lygys = "III Lygio";
            else if(playerDB[playerid][adminlvl4]) lygys = "IV Lygio";
            else if(playerDB[playerid][apriz]) lygys = "IV Lygio";
            else if(playerDB[playerid][savininkas]) lygys = "V Lygio";
            format(zin,sizeof(zin),"%s ADMINISTRATORIUS {00ff00}%s{ffffff}: {D0D0D0}%s",lygys,vardas,tekstas);
            SendClientMessageToAll(Balta,zin);
            return 1;
        }

Sveiki, perrašau komandas į ZCMD ir man kažkas nesigauna ties šia komanda, kaip ją parašau serveryje(/s tekstas) man išmeta Naudojimas: /s [tekstas], aš kažkur kažką praleides, galite padėti?

(redaguota)

Čia ne sprendimas, bet turiu šiokį tokį patarimą sutrumpinti kodui. Pasidaryk adminus ant vieno kintamojo, o tada nerašyk su if'ais atskirai tų pavadinimų rango, daryk taip:

new lygis[5][9] = { "I Lygio", "II Lygio", "III Lygio", "IV Lygio", "V Lygio" };

o tada formatavime išgauni taip:

lygis[playerDB[playerid][adminlvl]]

Ir priklausomai nuo adminlvl dydžio išrašys tekstą iš mąsyvo. Taigi bus trumpesnis kodas ir kitas dalykas sutaupysi rezursų, nes prireiks tik vieno mąsyvo administracijos kintamajam, o ne 5.

Redaguota , nario Stuneris

Kam sscanf ... ? Params yra string, tu nori iš jo gauti string.... Ir tuo pačiu sumažinti jo talpą :/

COMMAND:s(playerid, params[])
{
  new tekstas[125];
  if(isnull(params)) return SendClientMessage(playerid, 0x00FF00AA, "Naudojimas: /s [tekstas]");
  new lygys[27];
  new zin[300],vardas[24];
  GetPlayerName(playerid,vardas,24);

  if(playerDB[playerid][adminlvl]) lygys = "I Lygio";
  else if(playerDB[playerid][adminlvl2]) lygys = "II Lygio";
  else if(playerDB[playerid][adminlvl3]) lygys = "III Lygio";
  else if(playerDB[playerid][adminlvl4]) lygys = "IV Lygio";
  else if(playerDB[playerid][apriz]) lygys = "IV Lygio";
  else if(playerDB[playerid][savininkas]) lygys = "V Lygio";
  format(zin,sizeof(zin),"%s ADMINISTRATORIUS {00ff00}%s{ffffff}: {D0D0D0}%s",lygys,vardas,tekstas);
  SendClientMessageToAll(Balta,zin);
  return 1;
}

"isnull" yra macro, kurį gauni kartu su ZCMD. Jis patikrina ar string yra  tuščias.

Reikia Pawn pagalbos? Skype nerašyk.

 

 

 

 

 

 

Kam sscanf ... ? Params yra string, tu nori iš jo gauti string.... Ir tuo pačiu sumažinti jo talpą :/

COMMAND:s(playerid, params[])
{
  new tekstas[125];
  if(isnull(params)) return SendClientMessage(playerid, 0x00FF00AA, "Naudojimas: /s [tekstas]");
  new lygys[27];
  new zin[300],vardas[24];
  GetPlayerName(playerid,vardas,24);

  if(playerDB[playerid][adminlvl]) lygys = "I Lygio";
  else if(playerDB[playerid][adminlvl2]) lygys = "II Lygio";
  else if(playerDB[playerid][adminlvl3]) lygys = "III Lygio";
  else if(playerDB[playerid][adminlvl4]) lygys = "IV Lygio";
  else if(playerDB[playerid][apriz]) lygys = "IV Lygio";
  else if(playerDB[playerid][savininkas]) lygys = "V Lygio";
  format(zin,sizeof(zin),"%s ADMINISTRATORIUS {00ff00}%s{ffffff}: {D0D0D0}%s",lygys,vardas,tekstas);
  SendClientMessageToAll(Balta,zin);
  return 1;
}

"isnull" yra macro, kurį gauni kartu su ZCMD. Jis patikrina ar string yra  tuščias.

Dabar komanda veikia, tačiau mano įrašyto teksto nemeta, rašo tik III LygioADMINISTRATORIUS Vardas_Pavardė: IR ČIA NĖRA TEKSTO

Jo, nes pamiršau pabaigt iki galo tą kodą...

COMMAND:s(playerid, params[])
{
  if(isnull(params)) return SendClientMessage(playerid, 0x00FF00AA, "Naudojimas: /s [tekstas]");
  new lygys[27];
  new zin[300],vardas[24];
  GetPlayerName(playerid,vardas,24);

  if(playerDB[playerid][adminlvl]) lygys = "I Lygio";
  else if(playerDB[playerid][adminlvl2]) lygys = "II Lygio";
  else if(playerDB[playerid][adminlvl3]) lygys = "III Lygio";
  else if(playerDB[playerid][adminlvl4]) lygys = "IV Lygio";
  else if(playerDB[playerid][apriz]) lygys = "IV Lygio";
  else if(playerDB[playerid][savininkas]) lygys = "V Lygio";
  format(zin,sizeof(zin),"%s ADMINISTRATORIUS {00ff00}%s{ffffff}: {D0D0D0}%s",lygys,vardas,params);
  SendClientMessageToAll(Balta,zin);
  return 1;
}

Reikia Pawn pagalbos? Skype nerašyk.

 

 

 

 

 

 

 

Jo, nes pamiršau pabaigt iki galo tą kodą...

COMMAND:s(playerid, params[])
{
  if(isnull(params)) return SendClientMessage(playerid, 0x00FF00AA, "Naudojimas: /s [tekstas]");
  new lygys[27];
  new zin[300],vardas[24];
  GetPlayerName(playerid,vardas,24);

  if(playerDB[playerid][adminlvl]) lygys = "I Lygio";
  else if(playerDB[playerid][adminlvl2]) lygys = "II Lygio";
  else if(playerDB[playerid][adminlvl3]) lygys = "III Lygio";
  else if(playerDB[playerid][adminlvl4]) lygys = "IV Lygio";
  else if(playerDB[playerid][apriz]) lygys = "IV Lygio";
  else if(playerDB[playerid][savininkas]) lygys = "V Lygio";
  format(zin,sizeof(zin),"%s ADMINISTRATORIUS {00ff00}%s{ffffff}: {D0D0D0}%s",lygys,vardas,params);
  SendClientMessageToAll(Balta,zin);
  return 1;
}

Ačiū, padėjai

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