Szerző Téma: Chat  (Megtekintve 1290 alkalommal)

Chat
« Dátum: 2011. Október 25. - 16:59:39 »
0 Show voters
Hello
azt hogylehet megcsinállni hogy ha simán irsz a chatbe akkor csak 20 méteres körzetbe lássák amit irsz?
+ Kéne egy /g [szöveg]
Azaz ezt mindenki látja.
/g =General Chat
Ha valaki segítene megköszönném

Chat
« Válasz #1 Dátum: 2011. Október 25. - 17:16:56 »
0 Show voters
Ha ír akk 20m-en belül lássák:
[pawn]
public OnPlayerText(playerid,text[])
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
    for(new i=0;i<MAX_PLAYERS;i++)
{
    if(IsPlayerConnected(i))
    {
        if(IsPlayerInRangeOfPoint(i,20,x,y,z))
        {
            SendPlayerMessageToPlayer(i,playerid,text);
      }
   }
}
return 1;
}[/pawn]
a /g:
[pawn]   CMD:g(playerid,params[])
{
   new msg[160];
   if(sscanf(params,\"s[159]\",msg)) SendClientMessage(playerid,0xFFFF00FF,\"Használat: /G [szöveg]\");
   else if(msg[159]) return SendClientMessage(playerid, 0xFF0000FF, \"HIBA: Érvénytelen hosszúság! Max 160 karaktert írhatsz a /G után!\");
       else
   {
      SendPlayerMessageToAll(playerid,msg);
   }
   return 1;
}[/pawn]

Chat
« Válasz #2 Dátum: 2011. Október 26. - 23:45:02 »
0 Show voters
Vagy, használd a Proxdetector funkciót. Én ez utóbbit ajánlanám. :)
[pawn]public ProxDetector(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) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
      {
         GetPlayerPos(i, posx, posy, posz);
         tempposx = (oldposx -posx);
         tempposy = (oldposy -posy);
         tempposz = (oldposz -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);
         }
      }
   }
}
return 1;
}[/pawn]
Használata:
ProxDetector(Float:radi,   playerid,   string[],   col1,  col2,  col3,  col4,  col5)
radi - milyen közelségben lássák
string - ezt úgygondolom nemkell mondanom.
col1-5 - Ha azt szeretnéd, hogy minél távolabb vagy, annál sötétebb szín, akkor itt szépen felsorolod az 5 különbözõ világosságú színt. Azt nemtudom, hogy 1 a legközelebbi az legyen a legvilágosabb, és az 5. meg a legsötétebb.
Remélem valamennyit tudtam segíteni. :)
-x

Chat
« Válasz #3 Dátum: 2011. Október 27. - 16:26:19 »
0 Show voters
Az szép és jó h col1-col5 de mi garantálja, hogy a col1 col2 stb ilyen meg olyan szín? Sehol se definiáltad õket...

Chat
« Válasz #4 Dátum: 2011. Október 27. - 16:27:39 »
0 Show voters
Idézetet írta: staubka date=1319725579\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12762\" data-ipsquote-contentclass=\"forums_Topic
Az szép és jó h col1-col5 de mi garantálja, hogy a col1 col2 stb ilyen meg olyan szín? Sehol se definiáltad õket...
 
Paraméter

Chat
« Válasz #5 Dátum: 2011. Október 27. - 16:33:51 »
0 Show voters
Idézetet írta: kadaradam date=1319725659\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12762\" data-ipsquote-contentclass=\"forums_Topic


Az szép és jó h col1-col5 de mi garantálja, hogy a col1 col2 stb ilyen meg olyan szín? Sehol se definiáltad õket...
 
Paraméter
 
[/quote]
Bármilyen jó/rossz vagyok a pawn-ban, sosem értettem, hogy egy paraméterbõl miért fogja tudni a pawno hogy az a valami mit is jelent...
Na jó az még oké ha a paraméter pl x,y,z és utána lekéri getplayerpos-al a poziciót, de itt nincs lekérés, nincs semmi amibõl felismerné hogy az egyáltalán egy szín. Vagy egy olyan speciális cucc hogy col1-nek kell lennie, ha átírnám szin1-re akk nem mûködne? Vagy hogy van? Ebben az egyben sötét vagyok... xD

Chat
« Válasz #6 Dátum: 2011. Október 27. - 17:19:39 »
0 Show voters
A col1 helyére kell írni a HEX szín kódot (Pl.:0xFFFFFFF)

Chat
« Válasz #7 Dátum: 2011. Október 27. - 17:25:35 »
0 Show voters
Idézetet írta: kadaradam date=1319728779\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12762\" data-ipsquote-contentclass=\"forums_Topic
A col1 helyére kell írni a HEX szín kódot (Pl.:0xFFFFFFF)
 
Bözony.  ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal