SA-MP Forums Archive
[Ajuda] Sendclientemensageall - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sendclientemensageall (/showthread.php?tid=610830)



Sendclientemensageall - NascimentoRJ - 28.06.2016

Uma boa noite a todos, estou desenvolvendo um gamemode e aprendendo vбrias coisas novas, porйm preciso que quando player digite esses dois comandos aparece uma mensagem para todos players online que o tal player usou o teleporte! grato

pawn Код:
if(strcmp(cmdtext,"/monster",true)==0)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    new State = GetPlayerState(playerid);
    if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
{
    GameTextForPlayer(playerid,"INFO: Vocк estб em Parkour Monster",4000,6);
    return SetVehiclePos(vehicleid,2887.6794,-2008.3571,5.7851);
}
    SetPlayerPos(playerid,2887.6794,-2008.3571,5.7851);
    GameTextForPlayer(playerid,"INFO: Vocк estб em Parkour Monster",4000,6);
    return 1;
}
e esse aqui tambйm a mesma coisa...

pawn Код:
if(strcmp(cmdtext,"/sniper",true)==0)
{
    SetPlayerPos(playerid,-1973.2, 218.7, 3147.8999);
    GivePlayerWeapon(playerid ,34 , 100);
    GameTextForPlayer(playerid,"",4000,6);
    return 1;
}



Re: Sendclientemensageall - moura98 - 29.06.2016

so colocar isso no comando
PHP код:
new name[MAX_PLAYER_NAME], string[64];
GetPlayerName(playeridnamesizeof(name));
format(string64"O player %s usou teleporte"name);
SendClientMessageToAll(-1string); 



Re: Sendclientemensageall - yurin - 29.06.2016

Primeiro ti recomendo usar ZCMD, mas de qualquer jeito ti recomendo usar SendClientMessageToAll digamos ficaria assim:

PHP код:
if(strcmp(cmdtext,"/sniper",true)==0)
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"%s: Pegou sniper"Name);
      
SendClientMessageToAll(-1Msg);
    return 
1;

Em ZCMD:

PHP код:
CMD:sniper(playerid,params[])
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"%s: Pegou sniper"Name);
      
SendClientMessageToAll(-1Msg);
    return 
1;

Caso queira usar GameTextForAll, que eu nгo recomendo nem um pouco:

PHP код:
if(strcmp(cmdtext,"/sniper",true)==0)
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"~g~%s: Pegou sniper"Name);
        
GameTextForAll(Msg50003);
    return 
1;

Em ZCMD:

PHP код:
CMD:sniper(playerid,params[])
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"~g~%s: Pegou sniper"Name);
        
GameTextForAll(Msg50003);
    return 
1;

Olhe esses links:
https://sampwiki.blast.hk/wiki/GameTextForAll
https://sampwiki.blast.hk/wiki/SendClientMessageToAll


Respuesta: Sendclientemensageall - Kanuy - 29.06.2016

Quando o jogador usar o comando
Код:
new msg[128]; 

format(msg, sizeof(msg), "O jogador %s foi para o Parkour de Monster",pName(playerid));//para enviar mensagem formatada
SendClientMessageToAll(-1, msg);
Isso ao fim do GM
Код:
stock pName(playerid) //stock para pegar nome do jogador usado na mensagem formatada
{
	new Nome[MAX_PLAYER_NAME];
	GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
	return Nome;
}



Re: Sendclientemensageall - NascimentoRJ - 29.06.2016

Quote:
Originally Posted by moura98
Посмотреть сообщение
so colocar isso no comando
PHP код:
new name[MAX_PLAYER_NAME], string[64];
GetPlayerName(playeridnamesizeof(name));
format(string64"O player %s usou teleporte"name);
SendClientMessageToAll(-1string); 
pawn Код:
C:\Users\Familia\Desktop\Servidor\gamemodes\GM.pwn(661) : warning 219: local variable "string" shadows a variable at a preceding level
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.
na linha

pawn Код:
if(strcmp(cmdtext,"/monster",true)==0)
    {
    new name[MAX_PLAYER_NAME], string[64];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, 64, "O player %s usou teleporte", name);
    SendClientMessageToAll(-1, string);

    new vehicleid = GetPlayerVehicleID(playerid);
    new State = GetPlayerState(playerid);
    if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
{
    GameTextForPlayer(playerid,"INFO: Vocк estб em Parkour Monster",4000,6);
    return SetVehiclePos(vehicleid,2887.6794,-2008.3571,5.7851);
}
    SetPlayerPos(playerid,2887.6794,-2008.3571,5.7851);
    GameTextForPlayer(playerid,"INFO: Vocк estб em Parkour Monster",4000,6);
    return 1;
}



Re: Sendclientemensageall - NascimentoRJ - 29.06.2016

Quote:
Originally Posted by yurin
Посмотреть сообщение
Primeiro ti recomendo usar ZCMD, mas de qualquer jeito ti recomendo usar SendClientMessageToAll digamos ficaria assim:

PHP код:
if(strcmp(cmdtext,"/sniper",true)==0)
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"%s: Pegou sniper"Name);
      
SendClientMessageToAll(-1Msg);
    return 
1;

Em ZCMD:

PHP код:
CMD:sniper(playerid,params[])
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"%s: Pegou sniper"Name);
      
SendClientMessageToAll(-1Msg);
    return 
1;

Caso queira usar GameTextForAll, que eu nгo recomendo nem um pouco:

PHP код:
if(strcmp(cmdtext,"/sniper",true)==0)
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"~g~%s: Pegou sniper"Name);
        
GameTextForAll(Msg50003);
    return 
1;

Em ZCMD:

PHP код:
CMD:sniper(playerid,params[])
{
    new 
Name[24], Msg[128];
    
GetPlayerName(playeridNamesizeof(Name));
    
SetPlayerPos(playerid,-1973.2218.73147.8999);
    
GivePlayerWeapon(playerid ,34 100);
    
GameTextForPlayer(playerid,"Tu pegou sua sniper",4000,6);
     
format(Msg128"~g~%s: Pegou sniper"Name);
        
GameTextForAll(Msg50003);
    return 
1;

Olhe esses links:
https://sampwiki.blast.hk/wiki/GameTextForAll
https://sampwiki.blast.hk/wiki/SendClientMessageToAll
qual parte coloco a mensagem


Re: Sendclientemensageall - yurin - 29.06.2016

format(Msg, 128, "%s: Pegou sniper", Name);

O format funciona assim olha, primeiro a string sua nesse caso "Msg", depois o valor dela "128", o %s й para indentifica o player, depois a mensagem Pegou a sniper e a outra "Name" й para identificar o nome do player


Re: Sendclientemensageall - F1N4L - 29.06.2016

Vou lhe dar uma breve descriзгo das funзхes

Код:
if(strcmp(cmdtext, "/lv", true) == 0)
{
	// ...code...
}
Explicaзгo:
- strcmp = compara 2 strings
- cmdtext = variбvel responsбvel por getar os valores digitados no inputtext (ao pressionar T ou F6)
- /lv = string que serб comparada no inputtext
- true = sem case sensitive, ou seja, se digitar /LV, /lv, /Lv, /lV... vai interpretar do mesmo jeito
- == 0 = geta a string a partir da posiзгo 0, ou seja, se vc digitar "0blabla/lv" o comando nгo vai funcionar, porйm se digitar /lv funcionarб normalmente

Sei que nгo pediu sobre isso, mas se vc n sabe criar uma mensagem global (que jб foi respondida pelos users) acho interessante ressaltar esse ponto da funзгo.