Jump to content

[Tutorial] Cum sa faci o comanda de genul: /acolor.


WICKED.
 Share

Recommended Posts

Salutare. Astazi va voi arata cum sa faceti o comanda care o sa va faca numele colorat :)).Cred ca stiti cu totii, dar eu cand eram la inceput nu stiam sa fac asa ceva.:))

 

Incepem prin creerea comenzii:

 

CMD:acolor(playerid, params[])
if(IsPlayerConnected(playerid)) // verifica daca playerul este conectat.
{
ShowPlayerDialog(playerid, 2222, DIALOG_STYLE_LIST, "Color name crazy", "Green\nRed", "Select", "Cancel");
return 1;
}

 

Explicatie:

ShowPlayerDialog - arata dialogul playerului

2222 - numarul dialogului. Poate fi orice numar doriti, dar sa nu puneti doua numere la aceleasi dialoguri.

DIALOG_STYLE_LIST - este un dialog cu liste, ce iti permite sa dai click pe o "casuta".

 

Acum ne ducem la OnDialogResponse si facem dialogul cu numarul 2222, care este si la comanda.Incepem

 

if(dialogid == 2222)
{ 
   if(!response)
    {
      SendClientMessage(playerid, COLOR_RED, "Ai anulat"); // daca apsa Cancel ii apare acest mesaj.
       return 1;
     }
switch(listitem)
{
      case 0: // primul buton, adica Green.
      {
       SendClientMessage(playerid, COLOR_GREEN, "Ti-ai schimbat culoarea numelui. (green)");
       SetPlayerColor(playerid, COLOR_GREEN);
      }
      case 1: // al doilea buton, adica Red
      {
      SendClientMessage(playerid, COLOR_RED, "Ti-ai schimbat culoarea numelui. (red)");
      SetPlayerColor(playerid, COLOR_RED);
      }
  }
}

 

 

(!) Daca v-a placut acest tutorial, nu uitati sa dati +1.

 

@

@@Vendetta

 

 

 

 

  • Upvote 3
Link to comment
Share on other sites

Da dar asta nu e /acolor si iti explic de ce:

Functia asta de SetPlayerColor ii seteaza playerului culoarea nick-ului din chat intradevar, insa ii modifica si culoarea nick-ului de deasupra capului. Trebuia sa introduci in callback-ul OnPlayerText conditia pentru admini si sa modifici acolo unde ai "%s(asta fiind numele playerului care ulterior va fi colorat) si %s(asta fiind textul). Adaugi sa trimita mesajul sub culoarea definita dorita fara sa umbli la numele capului. Sper ca ai inteles.

Link to comment
Share on other sites

Sunt CraZy, cum sa nu inteleg:)). Eu nu am facut ca /pcolor. Si SetPlayerColor ii modifica si culoarea din TAB. Asta am vrut sa fac, nu cu OnPlayerText. Ca asa stiu si eu, este usor, dar trebuie sa iti bati mai mult capul deoarece ai o comanda /acolor cu dialog, si vreo 12 culori. Ia zi  mie cum faci tu sa iti arate doar numele asa de la %s: %s? Poti, dar este foarte greu. Bafta

Link to comment
Share on other sites

Culoriile ( COLOR_GREEN ) trebuie să le definesc sau merge automat ?

#define COLOR_GREEN "codu' culorii"

 

O  sa iti trebuiasca functie de NearbyMessage sa functioneze.

Si sub "public OnPlayerText" sa pui functia.

Greu de explicat cum se poate face ca pe bugged, e usor de construit, dar de explicat; pauza.

Link to comment
Share on other sites

  • 3 months later...
  • 2 months later...

Ai returnat comanda?? Pentru ca o comanda sa mearga, pune return 1;

Asta am pus: 

CMD:pcolor(playerid, params[])
if(IsPlayerConnected(playerid)) 
{
ShowPlayerDialog(playerid, 2222, DIALOG_STYLE_LIST, "Color name crazy", "SMS\nRed", "Select", "Cancel");
return 1;
}
Link to comment
Share on other sites


CMD:pcolor(playerid, params[])

if(IsPlayerConnected(playerid)) 

{

ShowPlayerDialog(playerid, 2222, DIALOG_STYLE_LIST, "Color name crazy", "SMS\nRed", "Select", "Cancel");

return 1;

}

}

Incearca asa...astept quote

 

Edited by Alliance iStorm.
Link to comment
Share on other sites


CMD:pcolor(playerid, params[])
if(IsPlayerConnected(playerid)) 
{
ShowPlayerDialog(playerid, 2222, DIALOG_STYLE_LIST, "Color name crazy", "SMS\nRed", "Select", "Cancel");
return 1;
}
}
Incearca asa...astept quote

 

warning 209: function "cmd_pcolor" should return a value

 Tot nu merge

Link to comment
Share on other sites

CMD:pcolor(playerid, params[])

{

if(IsPlayerConnected(playerid)) 

{

ShowPlayerDialog(playerid, 2222, DIALOG_STYLE_LIST, "Color name crazy", "SMS\nRed", "Select", "Cancel");

return 1;

}

}

 

Incearca asa. Astept quote.

Link to comment
Share on other sites

 

CMD:pcolor(playerid, params[])
{
if(IsPlayerConnected(playerid)) 
{
ShowPlayerDialog(playerid, 2222, DIALOG_STYLE_LIST, "Color name crazy", "SMS\nRed", "Select", "Cancel");
return 1;
}
}
 
Incearca asa. Astept quote.

 

Aceiasi eroare. Daca repari eroarea iti dau +1

Link to comment
Share on other sites

  • 1 month later...
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.