SA-MP Forums Archive
Algumas duvidas - 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: Algumas duvidas (/showthread.php?tid=267031)



Algumas duvidas - arakuta - 06.07.2011

Como faзo pra que quando tal jogador faзa alguma coisa apareзa uma mensagem com o nome dele para todo o server?

Exemplo:

O Jogador1 digita /m4

apareзa assim pro server todo: Jogador1 comprou m4. Utilize /m4

Ou quando ele mate alguem por exemplo: Jogador1 fuzilou Jogador2.

Obs: Nгo quero nada pronto, so quero que vocкs me ensinem a fazer com que apareзa o nome do jogador que ativou aquela mensagem.


Re: Algumas duvidas - Oddie - 06.07.2011

Arakuta, para isto basta usar OnPlayerDeath

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    // killerid = quem matou
    // playerid = quem morreu

    static string[128];
    format(string, 128, "Jogador nъmero %d matou o nъmero %d", killerid, playerid);    
    return SendClientMessageToAll(0xFFFFFFFF, string), true;
}
// Para pegar o nome basta GetPlayerName
Quanto aos comandos:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    static string[128];
    format(string, 128, "Jogador nъmero %d digitou %s", playerid, cmdtext);    
    return SendClientMessageToAll(0xFFFFFFFF, string), false;
}

//cmdtext = texto digitado
//playerid = quem digitou
// para pegar name usa GetPlayerName
Й isto, Espero que lhe ajude.


Re: Algumas duvidas - arakuta - 06.07.2011

Deixa eu ver se eu entendi no primeiro cуdigo:

pawn Код:
static string[128];
    format(string, 128, "Jogador nъmero %d matou o nъmero %d",killerid, playerid);    
    return SendClientMessageToAll(0xFFFFFFFF, string), true;
O primeiro %s eh definido pra ser KILLERID o segundo ta definido pro PLAYERID...

Entao se eu alterar pra isso:

pawn Код:
static string[128];
    format(string, 128, "Jogador nъmero %d matou o nъmero %d", playerid, killerid);    
    return SendClientMessageToAll(0xFFFFFFFF, string), true;
Seria o inverso?


Re: Algumas duvidas - Oddie - 06.07.2011

Sim, entгo iria mostrar

"O Jogador 0 matou o nъmero 1"

Sendo que o 1 matou o 0, isto seria o inverso, exatamente

se puder da estrelinha


Re: Algumas duvidas - Shadoww5 - 07.07.2011

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Como faзo pra que quando tal jogador faзa alguma coisa apareзa uma mensagem com o nome dele para todo o server?

Exemplo:

O Jogador1 digita /m4

apareзa assim pro server todo: Jogador1 comprou m4. Utilize /m4
https://sampforum.blast.hk/showthread.php?tid=260920


Re: Algumas duvidas - TheGarfield - 07.07.2011

sim. a todavia.


Re: Algumas duvidas - Rodrigo. - 07.07.2011

PHP код:
if (strcmp("/steste"cmdtexttrue) == 0)
{
new 
string[128];
new 
pname[MAX_PLAYER_NAME];
GetPlayerName(playeridpnameMAX_PLAYER_NAME);
format(stringsizeof(string), "* O jogador %s digitou o comando /steste!"pname);
SendClientMessageToAll(-1string);
return 
1;
}
//GetPlayerName = pega o nome do player
//format(string....= й a mensagem que vocк quer que apareзa para todos os players
//SendClientMessageToAll = manda a mensagem para todos. 
Morte:
PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
    
GameTextForPlayer(playerid,"~w~Morto",4000,2);
    if(
killerid != INVALID_PLAYER_IDSetPlayerScore(killeridGetPlayerScore(killerid) + 1325);
    
GivePlayerMoney(killerid10000);
    
SendDeathMessage(killeridplayeridreason);
    return 
1;
}
//~w~ Morto = mensagem quando o player morre.
//SetPlayerScore = seta o score do player no caso ali estб + 1325 ou seja o player ganha + 1325 score.
//GivePlayerMoney = da dinheiro pro player.
//SendDeathMessage = aparece a mensagem , que vocк tava querendo ai.
//Se quiser pode tirar a ' ~w~Morto,SetPlayerScore,e o Giveplayermoney :D 
Bom..isso foi o que eu entendi que vocк quer ;s , mais se nгo for isso pode ajudar a alguйm
OBS: Se tiver algo errado[/achoquenгotem;seuacho] me corriga por favor!


Re: Algumas duvidas - Ricop522 - 07.07.2011

pawn Код:
stock nome(playerid) //coloque no fim do seu gamemode
{
     new Nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome, sizeof(Nome));
     return Nome;
}

//Exemplo:

if(!strcmp(cmd, "/testando", true)) return new j_string[MAX_PLAYER_NAME+15], format(j_string, sizeof j_string, "%s foi para arena", nome(playerid)), SendClientMessageToAll(-1, j_string);

Espero ter ajudado x)
<~~ 'Reputation' ? valeu!