AcasaAcasa  Ultimele imaginiUltimele imagini  CăutareCăutare  ÎnregistrareÎnregistrare  ConectareConectare  

Distribuiţi|

Schimba culoarea playerului dupa factiune

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
Zekennn
Zekennn

Funcţie: Administrator
Subiecte : 450
Bani în mână : 1012
Mulţumiri Primite : 23
Localizare : Salaj
Schimba culoarea playerului dupa factiune Empty
MesajSubiect: Schimba culoarea playerului dupa factiune Schimba culoarea playerului dupa factiune Icon_minitimeLun Apr 14, 2014 4:55 pm

In acest tutorial vom invata cum sa modificam chatul astfel incat, atunci cand un jucator dintr-o anumita factiune scrie in chat, numele sau va aparea cu culoarea factiunii din care face parte.

De exemplu: Gigel din LCN scrie pe chat, o sa apara: Gigel:Salut iar daca Gigica din PD o sa scrie pe chat, va aparea asa: Gigica:Salut

Pasul 1:
Cautam linia:

Cod:
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);

O dublam, prin dublare ma refer la faptul ca ii dam copy si paste din nou sub ea.Dupa aceea, schimbam numele celei de-a 2 functii in altceva ca de exemplu "culoarechat"

In final, sub linia ProxDetector vom avea aceasta linie:


Cod:
forward culoarechat(Float:radi, playerid, string[],col1,col2,col3,col4,col5);

Dublam tot public-ul ProxDetector si inlocuim numele public-ului cu numele ales mai devreme cand l-am declarat, la mine este "culoarechat"

Public-ul ar trebui sa arate asa:


Cod:
public culoarechat(Float:radi, playerid, string[],col1,col2,col3,col4,col5)

{

    if(IsPlayerConnected(playerid))

    {

        new Float:posx, Float:posy, Float:posz;

        new Float:oldposx, Float:oldposy, Float:oldposz;

        new Float:tempposx, Float:tempposy, Float:tempposz;

        GetPlayerPos(playerid, oldposx, oldposy, oldposz);

        //radi = 2.0; //Trigger Radius

        for(new i = 0; i < MAX_PLAYERS; i++)

        {

            if(IsPlayerConnected(i))

            {

                if(!BigEar[i])

                {

                    GetPlayerPos(i, posx, posy, posz);

                    tempposx = (oldposx -posx);

                    tempposy = (oldposy -posy);

                    tempposz = (oldposz -posz);

                    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);

                    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))

                    {

                        SendClientMessage(i, col1, string);

                    }

                    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))

                    {

                        SendClientMessage(i, col2, string);

                    }

                    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))

                    {

                        SendClientMessage(i, col3, string);

                    }

                    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))

                    {

                        SendClientMessage(i, col4, string);

                    }

                    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))

                    {

                        SendClientMessage(i, col5, string);

                    }

                }

                else

                {

                    SendClientMessage(i, col1, string);

                }

            }

        }

    }//not connected

    return 1;

}

Pasul 3:
In acelasi public pe care l-am creat mai devreme inlocuim toate functiile SendClientMessage cu SendPlayerMessageToPlayer

Cod:
SendClientMessage(i, col1, string);


vom pune sub toate if-urile aceasta functie:


Cod:
SendPlayerMessageToPlayer(i,playerid,string);


!!!ATENTIE: Inlocuiti toate functiile SendClientMessage din public-ul pe care l-ati creat, nu conteaza daca al 2-lea parametru e diferit fata de functia pe care am copiat-o pentru a va demonstra.

Pasul 4:

Acesta este pasul final, acum vom face o mica modificare la sistemul de scriere in chat de pe GF.
Cautam linia:



Cod:
if (realchat)


Vom vedea putin mai jos urmatoarele doua linii:


Cod:
format(string, sizeof(string), "%s Says: %s", sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);


Pentru inceput, din prima linie scoatem parametrul "sendername" pentru ca nu ne mai trebuie acum deoarece functia SendPlayerMessageToPlayer arata si numele celui care trimite mesajul.
Din a 2-a linie, modificam numele din ProxDetector in numele ales de noi mai devreme cand am creat publicul, si anume: culoarechat

In final, cele 2 linii vor arata asa:



Cod:
format(string, sizeof(string), "%s", text);
culoarechat(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
Sus In jos
https://dexter.all-up.com
Maximilian
Maximilian

Funcţie: Membru Oficial
Subiecte : 76
Bani în mână : 139
Mulţumiri Primite : 7
Schimba culoarea playerului dupa factiune Empty
MesajSubiect: Re: Schimba culoarea playerului dupa factiune Schimba culoarea playerului dupa factiune Icon_minitimeSam Apr 19, 2014 5:59 pm

Mersi am sa il folosesc,voi creea un server de samp pentru forum Schimba culoarea playerului dupa factiune 3333674629 
Sus In jos
Mikez
Mikez

Funcţie: Moderator
Subiecte : 35
Bani în mână : 43
Mulţumiri Primite : 0
Schimba culoarea playerului dupa factiune Empty
MesajSubiect: Re: Schimba culoarea playerului dupa factiune Schimba culoarea playerului dupa factiune Icon_minitimeVin Apr 25, 2014 7:53 pm

Frumos !
Sus In jos
D3M0NHASH*L
D3M0NHASH*L

Funcţie: Co-Administrator
Subiecte : 57
Bani în mână : 96
Mulţumiri Primite : 1
Stare de spirit : :)
Schimba culoarea playerului dupa factiune Empty
MesajSubiect: Re: Schimba culoarea playerului dupa factiune Schimba culoarea playerului dupa factiune Icon_minitimeDum Apr 27, 2014 6:34 am

Maximilian a scris:
Mersi am sa il folosesc,voi creea un server de samp pentru forum Schimba culoarea playerului dupa factiune 3333674629 

Mai este valabila ideea cu creerea servarului de samp?
Sus In jos
SoR1CeL
SoR1CeL

Funcţie: Membru V.I.P
Subiecte : 123
Bani în mână : 179
Mulţumiri Primite : 2
Schimba culoarea playerului dupa factiune Empty
MesajSubiect: Re: Schimba culoarea playerului dupa factiune Schimba culoarea playerului dupa factiune Icon_minitimeVin Mai 02, 2014 10:42 am

multumesc!
Maximilian daca ai nevoie de ajutor la SAMP imi spui !

 Schimba culoarea playerului dupa factiune 3988611833 
Sus In jos
http://wwww.galaxygamer.org/
Continut sponsorizat

Funcţie:
Schimba culoarea playerului dupa factiune Empty
MesajSubiect: Re: Schimba culoarea playerului dupa factiune Schimba culoarea playerului dupa factiune Icon_minitime

Sus In jos

Schimba culoarea playerului dupa factiune

Vezi subiectul anterior Vezi subiectul urmator Sus

Subiecte similare

-
t Cine va posta dupa tine ?
t După 48 de ore de căutări, băiatul în vârstă de2ani
t Trafic oprit pe DN 15A după ce un TIR a fost lovit de tren la Sărăţel
t Tanarul care a facut Romania de ras in intreaga lume, dupa ce a chinuit o batrana, a fost gasit de politistii romani
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
 :: LUMEA JOCURILOR :: Jocuri Online :: San Andreas Multy Player :: Tutoriale-