[Pedido] Chat de Novato
#1

Eu queria saber se tem como algum ser humano bom nessa terra me ajudar com uma coisa que estб virando uma dor de cabeзa pra mim, bom na verdade sгo duas coisas, 1є Serб possнvel criar um chat de novatos?
Exemplo de como irб funcionar e qual a logica.

O Player Joaozinho digita /cn [Duvida dele aqui]
Dai o Player Carlos digita /cn [E carlos responde a duvida de joaozinho]

Logica:Os players iniciantes no servidor poderгo pedir ajuda no /cn quando os administradores estiverem off

E eu queria que apenas os players de 0 de score atй o 20 poder usar este chat.


2є Duvida:
Eu Fiz um fs de vбrios sistemas, interface, textdraws, comandos etc..
Aqui em minha gm ta funcionando normal, a do meu amigo estava funcionando normal mas agora nгo estб pegando mais nenhum comando. se alguem poder me ajudar ai...

Code

PHP код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
new Text:ScoreTextDraw[MAX_PLAYERS];
new 
Text:TDEditor_TD1;
new 
Text:TDEditor_TD2;
new 
Text:TDEditor_TD3;
new 
Text:TDEditor_TD4;
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
    print(
"\n--------------------------------------");
    print(
" Blank Filterscript by your name here");
    print(
"--------------------------------------\n");
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
#else
main()
{
    print(
"\n----------------------------------");
    print(
" Blank Gamemode by your name here");
    print(
"----------------------------------\n");
}
#endif
public OnPlayerText(playerid,text[])
{
    new 
Msg[128],Name[24],Float:Coords[3];
    
GetPlayerPos(playerid,Coords[0],Coords[1],Coords[2]);
    
GetPlayerName(playerid,Name,sizeof(Name));
    
format(Msg,sizeof(Msg),"%s diz: %s",Name,text);
    for(new 
0!= MAX_PLAYERSx++) {
        if(
IsPlayerInRangeOfPoint(x,20.0,Coords[0],Coords[1],Coords[2])) {
            
SendClientMessage(x,-1,Msg);
        }
    }
    return 
false;
}
public 
OnGameModeInit()
{
    
// Don't use these lines if it's a filterscript
    
SetGameModeText("Scavenge Survive by SouthClaw");
    
SetTimer("AtualizarScore"1000true);
    for(new 
0MAX_PLAYERSx++)
    {
     
ScoreTextDraw[x] = TextDrawCreate(507.50000079.866653"SCORE: 1000000");
    
TextDrawBackgroundColor(ScoreTextDraw[x], 255);
    
TextDrawFont(ScoreTextDraw[x], 1);
    
TextDrawLetterSize(ScoreTextDraw[x], 0.4400001.500000);
    
TextDrawColor(ScoreTextDraw[x], -1);
    
TextDrawSetOutline(ScoreTextDraw[x], 0);
    
TextDrawSetProportional(ScoreTextDraw[x], 1);
    
TextDrawSetShadow(ScoreTextDraw[x], 1);
    }
    
TDEditor_TD1 TextDrawCreate(204.500000432.044464"SCAVENGEKAIBILES.FORUMEIROS.COM");
    
TextDrawLetterSize(TDEditor_TD10.4000001.600000);
    
TextDrawAlignment(TDEditor_TD11);
    
TextDrawColor(TDEditor_TD1, -16776961);
    
TextDrawSetShadow(TDEditor_TD10);
    
TextDrawSetOutline(TDEditor_TD10);
    
TextDrawBackgroundColor(TDEditor_TD1255);
    
TextDrawFont(TDEditor_TD11);
    
TextDrawSetProportional(TDEditor_TD11);
    
TextDrawSetShadow(TDEditor_TD10);
    
TDEditor_TD2 TextDrawCreate(1126.50000080.488876".");
    
TextDrawLetterSize(TDEditor_TD20.4000001.600000);
    
TextDrawTextSize(TDEditor_TD20.0000001281.000000);
    
TextDrawAlignment(TDEditor_TD22);
    
TextDrawColor(TDEditor_TD2, -1);
    
TextDrawUseBox(TDEditor_TD21);
    
TextDrawBoxColor(TDEditor_TD2255);
    
TextDrawSetShadow(TDEditor_TD20);
    
TextDrawSetOutline(TDEditor_TD20);
    
TextDrawBackgroundColor(TDEditor_TD2255);
    
TextDrawFont(TDEditor_TD21);
    
TextDrawSetProportional(TDEditor_TD21);
    
TextDrawSetShadow(TDEditor_TD20);
    
TDEditor_TD3 TextDrawCreate(731.500000430.800140".");
    
TextDrawLetterSize(TDEditor_TD30.4000001.600000);
    
TextDrawTextSize(TDEditor_TD3751.0000000.000000);
    
TextDrawAlignment(TDEditor_TD33);
    
TextDrawColor(TDEditor_TD3, -1);
    
TextDrawUseBox(TDEditor_TD31);
    
TextDrawBoxColor(TDEditor_TD3255);
    
TextDrawSetShadow(TDEditor_TD30);
    
TextDrawSetOutline(TDEditor_TD30);
    
TextDrawBackgroundColor(TDEditor_TD3255);
    
TextDrawFont(TDEditor_TD31);
    
TextDrawSetProportional(TDEditor_TD31);
    
TextDrawSetShadow(TDEditor_TD30);
    
    
TDEditor_TD4 TextDrawCreate(590.000000430.800018"V1.0");
    
TextDrawLetterSize(TDEditor_TD40.4000001.600000);
    
TextDrawAlignment(TDEditor_TD41);
    
TextDrawColor(TDEditor_TD4, -16776961);
    
TextDrawSetShadow(TDEditor_TD40);
    
TextDrawSetOutline(TDEditor_TD40);
    
TextDrawBackgroundColor(TDEditor_TD4255);
    
TextDrawFont(TDEditor_TD41);
    
TextDrawSetProportional(TDEditor_TD41);
    
TextDrawSetShadow(TDEditor_TD40);
    return 
1;
}
public 
OnGameModeExit()
{
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
TextDrawShowForPlayer(playeridText:TDEditor_TD1);
    
TextDrawShowForPlayer(playeridText:TDEditor_TD2);
    
TextDrawShowForPlayer(playeridText:TDEditor_TD3);
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/kill"cmdtexttrue10) == 0)
    {
    
SetPlayerHealth(playerid, -100);
    
SendClientMessage(playerid, -1"{FF0000}Vocк se matou!");
    return 
1;
    }
    return 
0;
}
public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    return 
1;
}
forward AtualizarScore();
public 
AtualizarScore()
{
    for(new 
0GetMaxPlayers(); != yx++)
    {
        if(!
IsPlayerConnected(x)) continue;
        new 
STR[26];
        
format(STR26"~r~Score: ~w~%d"GetPlayerScore(x));
        
TextDrawShowForPlayer(xScoreTextDraw[x]);
        
TextDrawSetString(ScoreTextDraw[x], STR);
    }
    return 
true;
}
CMD:ts(playeridparams[])
{
ShowPlayerDialog(playerid12"Team Speak 3 Kaibiles""TSі: 167.114.35.209:11104""Ok","Voltar");
return 
1;
}
CMD:kill(playeridparams[])
{
SetPlayerHealth(playerid, -1);
SendClientMessage(playerid, -1"{FF0000}Vocк morreu!");
return 
1;
}
CMD:crafts(playeridparams[])
{
ShowPlayerDialog(playerid1,2"Crafts""Lista De Crafts\n- Fogos de Artificio + Fonte de Energia = IED\n- Faca + Paraquedas = Mochila de Paraquedas\n- Faca + Roupas = Bandagem\n- Garrafa + Bandagem = Motolov Vazio\n- TNT + Temporizador = TNT Cronometrada\n- TNT + Aceleromкtro = TNT Mina Terrestre\n- TNT + Sensor de Movimento = TNT de Proximidade\n- TNT + Celular = TNT Sincronizada\n- IED + Temporizador = IED Cronometrado""Ok""Fechar");
SendClientMessage(playerid1"{FF0000}Vocк abriu a lista de crafts!");
SendClientMessage(playerid1"{FF0000}Temos o comando /crafts2");
SendClientMessage(playerid1"{FF0000}Temos o comando /crafts3");
return 
1;
}
CMD:crafts2(playeridparams[])
{
ShowPlayerDialog(playerid1,2"Crafts 2""Lista De Crafts 2\n- IED + Acelerometro = IED Terrestre\n- IED + Sensor de Movimento = IED de Proximidade\n- IED + Celular = IED Sincronizado\n- Unidade Flutuadora + Temporizador = EMP Cronometrada\n- Unidade Flutuadora + Acelerometro = EMP Terrestre\n- Unidade Flutuadora + Sensor de Movimento = EMP de Proximidade\n- Caixa Pequena + Caixa Pequena = Fogueira\n- Caixa Pequena + Caixa Mйdia = Fogueira""Ok""Fechar");
SendClientMessage(playerid1"{FF0000}Temos o comando /crafts3");
return 
1;
}
CMD:crafts3(playeridparams[])
{
ShowPlayerDialog(playerid1,2"Crafts 3""Lista De Crafts 3\n- Caixa Mйdia + Caixa Pequena = Fogueira\n- Bateria + Caixa de Fusiveis = Fonte de Energia\n- Temporizador + Hard Drive = Fonte de Alimentaзгo\n- Celular + Teclado = Unidade I/O\n- Fonte de Energia + Unidade Flutuadora = Fluxo de Capacitor\n- Fonte de Energia + Temporizador = Motor\n- Motor + Chave = Kit de Chaveiros\n- Motor + Unidade Flutuadora = Motor Avanзado\n- Unidade I/O + Fonte de Energia = Teclado Avanзado""Ok""Fechar");
return 
1;
}
CMD:ajudareparo(playeridparams[])
{
SendClientMessage(playerid, -0"{FFFFE0}Se o motor do veнculo estiver {FF0000}Vermelho {FFFFF0}pegue a chave de roda e segure {FF8C00} 'F'{FFFFE0}!");
SendClientMessage(playerid, -0"{FFFFF0}Se o motor do veнculo estiver {FF8C00}Laranja {FFFFF0}pegue a chave de fenda e segure {FF8C00}'F'{FFFFF0}!");
SendClientMessage(playerid, -0"{FFFFF0}Se o motor do veнculo estiver {FFD700}Amarelo {FFFFF0}pegue o martelo e segure {FF8C00}'F'{FFFFF0}!");
SendClientMessage(playerid, -0"{FFFFF0}Agora para o motor do veнculo ficar pronto basta passar a chave de roda novamente!");
return 
1;

Reply
#2

Quote:
Originally Posted by SrVinnyh
Посмотреть сообщение
Eu queria saber se tem como algum ser humano bom nessa terra me ajudar com uma coisa que estб virando uma dor de cabeзa pra mim, bom na verdade sгo duas coisas, 1є Serб possнvel criar um chat de novatos?
Exemplo de como irб funcionar e qual a logica.

O Player Joaozinho digita /cn [Duvida dele aqui]
Dai o Player Carlos digita /cn [E carlos responde a duvida de joaozinho]

Logica:Os players iniciantes no servidor poderгo pedir ajuda no /cn quando os administradores estiverem off

E eu queria que apenas os players de 0 de score atй o 20 poder usar este chat.


2є Duvida:
Eu Fiz um fs de vбrios sistemas, interface, textdraws, comandos etc..
Aqui em minha gm ta funcionando normal, a do meu amigo estava funcionando normal mas agora nгo estб pegando mais nenhum comando. se alguem poder me ajudar ai...

Code

PHP код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
new Text:ScoreTextDraw[MAX_PLAYERS];
new 
Text:TDEditor_TD1;
new 
Text:TDEditor_TD2;
new 
Text:TDEditor_TD3;
new 
Text:TDEditor_TD4;
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
    print(
"\n--------------------------------------");
    print(
" Blank Filterscript by your name here");
    print(
"--------------------------------------\n");
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
#else
main()
{
    print(
"\n----------------------------------");
    print(
" Blank Gamemode by your name here");
    print(
"----------------------------------\n");
}
#endif
public OnPlayerText(playerid,text[])
{
    new 
Msg[128],Name[24],Float:Coords[3];
    
GetPlayerPos(playerid,Coords[0],Coords[1],Coords[2]);
    
GetPlayerName(playerid,Name,sizeof(Name));
    
format(Msg,sizeof(Msg),"%s diz: %s",Name,text);
    for(new 
0!= MAX_PLAYERSx++) {
        if(
IsPlayerInRangeOfPoint(x,20.0,Coords[0],Coords[1],Coords[2])) {
            
SendClientMessage(x,-1,Msg);
        }
    }
    return 
false;
}
public 
OnGameModeInit()
{
    
// Don't use these lines if it's a filterscript
    
SetGameModeText("Scavenge Survive by SouthClaw");
    
SetTimer("AtualizarScore"1000true);
    for(new 
0MAX_PLAYERSx++)
    {
     
ScoreTextDraw[x] = TextDrawCreate(507.50000079.866653"SCORE: 1000000");
    
TextDrawBackgroundColor(ScoreTextDraw[x], 255);
    
TextDrawFont(ScoreTextDraw[x], 1);
    
TextDrawLetterSize(ScoreTextDraw[x], 0.4400001.500000);
    
TextDrawColor(ScoreTextDraw[x], -1);
    
TextDrawSetOutline(ScoreTextDraw[x], 0);
    
TextDrawSetProportional(ScoreTextDraw[x], 1);
    
TextDrawSetShadow(ScoreTextDraw[x], 1);
    }
    
TDEditor_TD1 TextDrawCreate(204.500000432.044464"SCAVENGEKAIBILES.FORUMEIROS.COM");
    
TextDrawLetterSize(TDEditor_TD10.4000001.600000);
    
TextDrawAlignment(TDEditor_TD11);
    
TextDrawColor(TDEditor_TD1, -16776961);
    
TextDrawSetShadow(TDEditor_TD10);
    
TextDrawSetOutline(TDEditor_TD10);
    
TextDrawBackgroundColor(TDEditor_TD1255);
    
TextDrawFont(TDEditor_TD11);
    
TextDrawSetProportional(TDEditor_TD11);
    
TextDrawSetShadow(TDEditor_TD10);
    
TDEditor_TD2 TextDrawCreate(1126.50000080.488876".");
    
TextDrawLetterSize(TDEditor_TD20.4000001.600000);
    
TextDrawTextSize(TDEditor_TD20.0000001281.000000);
    
TextDrawAlignment(TDEditor_TD22);
    
TextDrawColor(TDEditor_TD2, -1);
    
TextDrawUseBox(TDEditor_TD21);
    
TextDrawBoxColor(TDEditor_TD2255);
    
TextDrawSetShadow(TDEditor_TD20);
    
TextDrawSetOutline(TDEditor_TD20);
    
TextDrawBackgroundColor(TDEditor_TD2255);
    
TextDrawFont(TDEditor_TD21);
    
TextDrawSetProportional(TDEditor_TD21);
    
TextDrawSetShadow(TDEditor_TD20);
    
TDEditor_TD3 TextDrawCreate(731.500000430.800140".");
    
TextDrawLetterSize(TDEditor_TD30.4000001.600000);
    
TextDrawTextSize(TDEditor_TD3751.0000000.000000);
    
TextDrawAlignment(TDEditor_TD33);
    
TextDrawColor(TDEditor_TD3, -1);
    
TextDrawUseBox(TDEditor_TD31);
    
TextDrawBoxColor(TDEditor_TD3255);
    
TextDrawSetShadow(TDEditor_TD30);
    
TextDrawSetOutline(TDEditor_TD30);
    
TextDrawBackgroundColor(TDEditor_TD3255);
    
TextDrawFont(TDEditor_TD31);
    
TextDrawSetProportional(TDEditor_TD31);
    
TextDrawSetShadow(TDEditor_TD30);
    
    
TDEditor_TD4 TextDrawCreate(590.000000430.800018"V1.0");
    
TextDrawLetterSize(TDEditor_TD40.4000001.600000);
    
TextDrawAlignment(TDEditor_TD41);
    
TextDrawColor(TDEditor_TD4, -16776961);
    
TextDrawSetShadow(TDEditor_TD40);
    
TextDrawSetOutline(TDEditor_TD40);
    
TextDrawBackgroundColor(TDEditor_TD4255);
    
TextDrawFont(TDEditor_TD41);
    
TextDrawSetProportional(TDEditor_TD41);
    
TextDrawSetShadow(TDEditor_TD40);
    return 
1;
}
public 
OnGameModeExit()
{
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
TextDrawShowForPlayer(playeridText:TDEditor_TD1);
    
TextDrawShowForPlayer(playeridText:TDEditor_TD2);
    
TextDrawShowForPlayer(playeridText:TDEditor_TD3);
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/kill"cmdtexttrue10) == 0)
    {
    
SetPlayerHealth(playerid, -100);
    
SendClientMessage(playerid, -1"{FF0000}Vocк se matou!");
    return 
1;
    }
    return 
0;
}
public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    return 
1;
}
forward AtualizarScore();
public 
AtualizarScore()
{
    for(new 
0GetMaxPlayers(); != yx++)
    {
        if(!
IsPlayerConnected(x)) continue;
        new 
STR[26];
        
format(STR26"~r~Score: ~w~%d"GetPlayerScore(x));
        
TextDrawShowForPlayer(xScoreTextDraw[x]);
        
TextDrawSetString(ScoreTextDraw[x], STR);
    }
    return 
true;
}
CMD:ts(playeridparams[])
{
ShowPlayerDialog(playerid12"Team Speak 3 Kaibiles""TSі: 167.114.35.209:11104""Ok","Voltar");
return 
1;
}
CMD:kill(playeridparams[])
{
SetPlayerHealth(playerid, -1);
SendClientMessage(playerid, -1"{FF0000}Vocк morreu!");
return 
1;
}
CMD:crafts(playeridparams[])
{
ShowPlayerDialog(playerid1,2"Crafts""Lista De Crafts\n- Fogos de Artificio + Fonte de Energia = IED\n- Faca + Paraquedas = Mochila de Paraquedas\n- Faca + Roupas = Bandagem\n- Garrafa + Bandagem = Motolov Vazio\n- TNT + Temporizador = TNT Cronometrada\n- TNT + Aceleromкtro = TNT Mina Terrestre\n- TNT + Sensor de Movimento = TNT de Proximidade\n- TNT + Celular = TNT Sincronizada\n- IED + Temporizador = IED Cronometrado""Ok""Fechar");
SendClientMessage(playerid1"{FF0000}Vocк abriu a lista de crafts!");
SendClientMessage(playerid1"{FF0000}Temos o comando /crafts2");
SendClientMessage(playerid1"{FF0000}Temos o comando /crafts3");
return 
1;
}
CMD:crafts2(playeridparams[])
{
ShowPlayerDialog(playerid1,2"Crafts 2""Lista De Crafts 2\n- IED + Acelerometro = IED Terrestre\n- IED + Sensor de Movimento = IED de Proximidade\n- IED + Celular = IED Sincronizado\n- Unidade Flutuadora + Temporizador = EMP Cronometrada\n- Unidade Flutuadora + Acelerometro = EMP Terrestre\n- Unidade Flutuadora + Sensor de Movimento = EMP de Proximidade\n- Caixa Pequena + Caixa Pequena = Fogueira\n- Caixa Pequena + Caixa Mйdia = Fogueira""Ok""Fechar");
SendClientMessage(playerid1"{FF0000}Temos o comando /crafts3");
return 
1;
}
CMD:crafts3(playeridparams[])
{
ShowPlayerDialog(playerid1,2"Crafts 3""Lista De Crafts 3\n- Caixa Mйdia + Caixa Pequena = Fogueira\n- Bateria + Caixa de Fusiveis = Fonte de Energia\n- Temporizador + Hard Drive = Fonte de Alimentaзгo\n- Celular + Teclado = Unidade I/O\n- Fonte de Energia + Unidade Flutuadora = Fluxo de Capacitor\n- Fonte de Energia + Temporizador = Motor\n- Motor + Chave = Kit de Chaveiros\n- Motor + Unidade Flutuadora = Motor Avanзado\n- Unidade I/O + Fonte de Energia = Teclado Avanзado""Ok""Fechar");
return 
1;
}
CMD:ajudareparo(playeridparams[])
{
SendClientMessage(playerid, -0"{FFFFE0}Se o motor do veнculo estiver {FF0000}Vermelho {FFFFF0}pegue a chave de roda e segure {FF8C00} 'F'{FFFFE0}!");
SendClientMessage(playerid, -0"{FFFFF0}Se o motor do veнculo estiver {FF8C00}Laranja {FFFFF0}pegue a chave de fenda e segure {FF8C00}'F'{FFFFF0}!");
SendClientMessage(playerid, -0"{FFFFF0}Se o motor do veнculo estiver {FFD700}Amarelo {FFFFF0}pegue o martelo e segure {FF8C00}'F'{FFFFF0}!");
SendClientMessage(playerid, -0"{FFFFF0}Agora para o motor do veнculo ficar pronto basta passar a chave de roda novamente!");
return 
1;

Vocк usa DOF2?
Reply
#3

Quote:
Originally Posted by Bieell
Посмотреть сообщение
Vocк usa DOF2?
Nгo nгo uso
Reply
#4

Nгo sei porque usa strcmp e zcmd no mesmo pawno... e tbm nгo entendo esse teu cуdigo й pra ficar como GM ou como FilterScript? Pois tem OnFilterScriptInit() e OnGameModeInit ao mesmo tempo Vai entender -'
Reply
#5

Код:
//#define FILTERSCRIPT // Descomenta aqui se for um FS mesmo

// Caso descomentar a linha de cima, remova essas coisas
#if defined FILTERSCRIPT 

#else 

main() 
{ 
    print("\n----------------------------------"); 
    print(" Blank Gamemode by your name here"); 
    print("----------------------------------\n"); 
} 

#endif 


public OnGameModeInit() //O que estб aqui, vocк pхe na OnFilterScriptInit
{
	return 1; 
} 

public OnGameModeExit() 
{ 
    return 1; 
}
E esse /cn й um chat padrгo ou de ajuda? E quem vai poder respondк-lo?
Reply
#6

Й um chat de novatos cara, todo novato que entrar no servidor vai poder usa-lo, tipo eu entro no sv dai eu comeзo com 0 de scores obvio, dai eu posso usar o /cn e se eu chegar a mais de 20 scores eu nao posso mais usar o /cn
Reply
#7

PHP код:
CMD:cn(playeridparams[])
{
    if(
GetPlayerScore(playerid) > 20) return SendClientMessage(playerid0xFF0000FF"| ERRO | Vocк possui mais de 20 scores");
    new 
str[144];
    if(
sscanf(params"s[128]"str)) return SendClientMessage(playerid0xFF0000FF"Uso: /cn [Mensagem]");
    
    new 
name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnamesizeof(name));
    
format(strsizeof(str), "[Chat-Novato] %s (%i): %s"nameplayeridstr);
    for(new 
0MAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i) && GetPlayerScore(i) <= 20)
        {
            
SendClientMessage(i, -1str);
        }
    }
    return 
1;

Reply
#8

1. Vocк precisa apenas mudar as variбveis para as da sua GameMode, como VariaveldaEnum, VariavelLevel, StockNome.

* Esse comando estб no mais bбsico possнvel para vocк usa-lo como base para novas modificaзхes e implantaзхes nele, nгo vou te passar nada pronto justamente para vocк procurar melhora-lo.

Код HTML:
CMD:cn(playerid, params[]){

    if(VariaveldaEnum[playerid][VariavelLevel] > 20) return SendClientMessage(playerid, 0xFF0000AA, "Vocк й um jogador maior que o level 20 e nгo tem permissгo mais para usar o chat!");

	if(isnull(params))
		return SendClientMessage(playerid, 0xBBBBBBFF, "Use: /cn [Texto]"),
			   SendClientMessage(playerid, 0xFF0000AA, "OBS: Este chat й apenas para ajuda!");

	format(string, sizeof string, "(Chat Novato) %s (%d): %s", StockNome(playerid), playerid, params);
	SendClientMessageToAll(0x009966AA, string);

	return 1;
}
2. Na sua segunda dъvida, vocк precisa simplesmente para facilitar o seu trabalho, passar tudo oque contem nessa FilterScript para a sua GameMode, sendo a melhor coisa para se fazer.
Reply
#9

Vou te dar um empurrгo do caralho.

Troque todo esse cуdigo que vocк tem por esse: https://hastebin.com/acayizutig.cs
Pode trocar sem medo, fiz algumas alteraзхes bem importantes.

Agora vou lhe dar as funзхes que vocк precisa para isso e a lуgica.

Primeiro antes de tudo, vocк necessita de uma variбvel para controlar se o jogador й administrador ou nгo, e essa variбvel precisa ser indexada com MAX_PLAYERS, um exemplo bбsico:
PHP код:
new bool:playerAdmin[MAX_PLAYERS];
public 
OnPlayerConnect(playerid)
{
    
playerAdmin[playerid] = false;//reseta a variбvel ao jogador se conectar
    
return 1;
}
//Para setar um jogador administrador, vocк deve:
playerAdmin[playerid] = true;//setar o valor da variбvel de controle para true 
Dito isso, agora й simples continuar. Vocк enviarб para administradores a mensagem que jogadores com atй 20 scores mandarem, logo:
PHP код:
//Use GetPlayerScore(playerid) para obter o score do jogador: https://sampwiki.blast.hk/wiki/GetPlayer...2.77087838
if(GetPlayerScore(playerid) <= 20)//valida se o score do jogador й menor ou igual a 20
{
    for(new 
i<= GetPlayerPoolSize(); i++)//loop feito usando GetPlayerPoolSize para obter o maior id online, o que economia muito processamento ao invйs de usar MAX_PLAYERS.
    
{
        if(
IsPlayerConnected(i) && playerAdmin[i])//valida se o jogador que estiver rodando no loop estб online e й administrador
        
{
            
//mande a mensagem ao administrador
        
}
    }

Espero nгo ter cedido meu tempo atoa, assim como espera um ser humano bom nessa terra para te ajudar, espero que vocк tambйm seja um para SE ajudar.

Para enviar a mensagem ao administrador, vocк pode usar o parвmetro 'params' de zcmd para obter o que o jogador digitou junto ao comando, exemplo:
PHP код:
CMD:texto(playeridparams[])
{
    
printf("O jogador %d escreveu %s"playeridparams);
    return 
1;

Boa sorte.
Reply
#10

Obrigado a todos ai, deu certo muito obrigado mesmo <3
+Rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)