[Ajuda] Verificar se o player tem de 0 a 20 score para usar um chat.
#1

Olб,
Sei que peзo muitas coisas aqui no samp forum , mas tudo por um bom motivo, com todas as coisas que vocкs me ajudam eu estou aprendendo bastante e tambйm estou estudando tуpicos aqui no samp fуrum e nгo й diferente, eu uso uma gamemode pronta para Sobrevivкncia, jб adaptei e criei vбrias coisas com meu amigo, sу que sou novato em pawno ainda, nesta gamemode tem um sistema de chat que й o seguinte, tem vбrias frequencias, chat local, global, rбdio, admins, eu retirei o global e adaptei para chat novato, e queria que vocкs me informasse como eu poderia colocar no meio desse bolo para verificar se o player tem de 0 a 20 de scores para utilizar o chat Novato!, vou deixar o chat abaixo de como funciona quem puder ajudar fico agradeзido !, obrigado a toda comunidade do SAMP Fуrum pela forзa que tem me dado !

Quote:

enum
{
CHAT_MODE_LOCAL, // 0 - Speak to players within chatbubble distance
CHAT_MODE_NOVATO, // 1 - Speak to all players novato
CHAT_MODE_RADIO, // 2 - Speak to players on the same radio frequency
CHAT_MODE_ADMIN // 3 - Speak to admins
}

mais para baixo tem isso:

if(GetPlayerChatMode(playerid) == CHAT_MODE_NOVATO)
PlayerSendChat(playerid, text, 1.0);

agora lб embaixo vem o chat novato!


PlayerSendChat(playerid, chat[], Float:frequency)
{
if(!IsPlayerLoggedIn(playerid))
return 0;

if(GetTickCountDifference(GetTickCount(), GetPlayerServerJoinTick(playerid)) < 1000)
return 0;

if(CallLocalFunction("OnPlayerSendChat", "dsf", playerid, chat, frequency))
return 0;

new
line1[256],
line2[128];

=========================
ai toda a parte й dividida por if(frequency == 0.0) < 0.0, 1.0, 2.0 e assim por diante, para subdivir as frequencias.

e logo aqui abaixo a frequencia 1.0 que era o global e agora virou somente para novatos.

else if(frequency == 1.0)
{
logf("[CHAT] [NOVATO] [%p]: %s", playerid, chat);

format(line1, 256, "[NOVATO] (%d) %P"C_WHITE": %s",
playerid,
playerid,
TagScan(chat));

TruncateChatMessage(line1, line2);

foreach(new i : Player)
{
if(GetPlayerBitFlag(i, GlobalQuiet))
continue;

SendClientMessage(i, WHITE, line1);

if(!isnull(line2))
SendClientMessage(i, WHITE, line2);
}

SetPlayerChatBubble(playerid, TagScan(chat), WHITE, 40.0, 10000);

return 1;
}

Outra coisa que nгo posso me esquecer, como fazer para somente quem й novato ver estas mensagens e nгo Todos os players, agradeзo para quem ajudar !
Lembrando que, quero somente que me informem como fazer e desenvolver, nгo necessita do cуdigo inteiro pronto somente pegue a parte onde й para eu colocar para adaptб-lo, e tambйm como fazer para somente novatos verem !
Reply
#2

Usa a funзгo GetPlayerScore e depois a insira dentro de uma condiзгo (if) ou no switch...
Qualquer dъvida poste aн.
Reply
#3

certo, poderia me mostrar como desenvolver isso, o if etc ?
Reply
#4

Um exemplo:

PHP код:
public OnPlayerText(playeridtext[])
{
    if(
GetPlayerScore(playerid) > 20)
    {
        new 
pText[144];
        
format(pTextsizeof (pText), "(%d) %s"playeridtext);
        
SendPlayerMessageToAll(playeridpText);
    }
    else
    {
        
SendClientMessage(playerid, -1"Nгo pode usar");
    }
    return 
0

Reply
#5

Quote:
Originally Posted by G4M30V3R
Посмотреть сообщение
Usa a funзгo GetPlayerScore e depois a insira dentro de uma condiзгo (if) ou no switch...
Qualquer dъvida poste aн.
Nem toda GM й utilizado setplayerscore como level do jogador
Reply
#6

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
Um exemplo:

PHP код:
public OnPlayerText(playeridtext[])
{
    if(
GetPlayerScore(playerid) > 20)
    {
        new 
pText[144];
        
format(pTextsizeof (pText), "(%d) %s"playeridtext);
        
SendPlayerMessageToAll(playeridpText);
    }
    else
    {
        
SendClientMessage(playerid, -1"Nгo pode usar");
    }
    return 
0

certo vou utilizar isso e tentar desenvolver aqui, obrigado pela ajuda!
Reply
#7

Quote:
Originally Posted by HoodScript
Посмотреть сообщение
Nem toda GM й utilizado setplayerscore como level do jogador
Verdade, mas na minha como й sobrevivкncia eu utilizo o modo de player mata player = 1 score
score = kills,
fora que com isso que vocкs mostraram poderei fazer um sistema para retirar o score do player e dar algo em trocar por comandos, exemplo,
/trocas > aparece uma caixa de diбlogo com a lista de troca de score por items, irei desenvolver isto com meu amigo depois, obrigado a vocкs pela forзa !
Reply
#8

Quote:
Originally Posted by HoodScript
Посмотреть сообщение
Nem toda GM й utilizado setplayerscore como level do jogador
Em nenhum momento pude identificar se ele possui alguma funзгo personalizada para GetPlayerScore nesse cуdigo postado por ele, entгo como nгo posso adivinhar usei a nativa mesmo... De qualquer forma era sу adaptar.
Reply
#9

Certo gente estava analizando aqui do chat admin e o chat Novato, nгo tem muita diferenзa sу que no chat admin ele manda mensagem sу para admins eu queria sу para players que tenham atй 20 score entгo coloquei o assim:

Quote:

else if(frequency == 1.0)
{
logf("[CHAT] [NOVATO] [%p]: %s", playerid, chat);

format(line1, 256, "[NOVATO] (%d) %P"C_WHITE": %s",
GetAdminRankColour(GetPlayerAdminLevel(playerid)),
playerid,
playerid,
TagScan(chat));

TruncateChatMessage(line1, line2);

foreach(new i : Player)
{
if(GetPlayerBitFlag(i, GlobalQuiet))
continue;

if(GetPlayerScore(playerid) > 20)
{
SendClientMessage(i, WHITE, line1);

if(!isnull(line2))
SendClientMessage(i, WHITE, line2);
}
else
{
SendClientMessage(playerid, RED, "Vocк nгo й mais um novato");
}
}

SetPlayerChatBubble(playerid, TagScan(chat), WHITE, 40.0, 10000);

return 1;
}
Estб certo desta maneira ?
Reply
#10

Siga as instruзхes acima !!! ↑
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)