[Ajuda] Comando grana!!! -
ApolloRJ - 01.05.2011
bem tenho moeda segundaria no serve tenho uma duvida a fazer o comando dar grana + id para dar para um teterninado pessoa.. alguem poderia me ajuda!!!
meu comando para grana e... AddReal(playerid,3000); como eu fria um comando em cima disso tipo....
real idplayer + valoremReal
alguem poderia ajudar?? desde ja agradeзo...!!!
By ApolloRJ
Re: [Ajuda] Comando grana!!! -
Carl_Thuse - 01.05.2011
Pega um pagar de algum gm substitui o GivePlayerMoney(...) pelo seu AddReal(...).
pawn Code:
Parem de dar codigos prontos.
Re: [Ajuda] Comando grana!!! -
Shadoww5 - 01.05.2011
PHP Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/dargrana", true) == 0)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xB4B5B7FF,"USO: /dargrana [ID] [dinheiro]" );
new giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xB4B5B7FF,"USO: /dargrana [ID] [dinheiro]" );
new grana = strval(tmp);
if(grana < 1 && grana > 100000) return SendClientMessage(playerid, 0xC2A2DAAA," Os valores devem estar entre R$ 1 e R$ 100.000");
AddReal(giveplayerid,grana);
}
return 1;
}
Testa ai. Caso haja erros mande os erros e as linhas referentes a eles.
Re: [Ajuda] Comando grana!!! -
The Knight - 01.05.2011
pawn Code:
public OnPlayerCommandText( playerid, cmdtext[])
{
new cmd[ 256 ], idx;
cmd = strtok( cmdtext, idx );
if( !strcmp( cmd, "/dDinheiro", true ) )
{
if( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, /*Cor*/, "Sу administradores RCON podem usar este comando!" );
new tmp1[ 128 ], tmp2[ 256 ], J, A, sStr[ 128 ], sStr2[ 128 ], nJogador[ MAX_PLAYER_NAME ], nAdmin[ MAX_PLAYER_NAME ], Dinheiro;
tmp1 = strtok( cmdtext, idx );
tmp2 = strtok( cmdtext, idx );
if( !strlen(tmp1 ) || !strlen( tmp2 ) ) return SendClientMessage( playerid, /*Cor*/, "Uso correto: /dDinheiro [Jogador][Quantia]." );
if( strval( tmp2 ) < 1 || strval( tmp2 ) > 999999999 ) return SendClientMessage( playerid, /*Cor*/, "Minimo: 1 | Maximo: 999999999." );
J = strval( tmp1 );
A = playerid;
GetPlayerName( J, nJogador, sizeof( nJogador ) );
GetPlayerName( A, nAdmin, sizeof( nAdmin ) );
Dinheiro = strval( tmp2 );
if(IsPlayerConnected( J ) )
{
format( sStr, sizeof( sStr ), "Vocк deu $%d ao jogador %s.", Dinheiro, nJogador);
format( sStr2, sizeof( sStr2 ), "Vocк recebeu $%d do administrador %s.", Dinheiro, nAdmin);
SendClientMessage( A, /*COr*/, sStr );
SendClientMessage( J, /*COr*/, sStr2 );
AddReal( J, Dinheiro );
}
else return SendClientMessage( playerid, /*COr*/, "Jogador nгo conectado." );
return true;
}
return false;
}
Re: [Ajuda] Comando grana!!! -
ApolloRJ - 01.05.2011
como colocar isso em um....
dcmd_grana(playerid, params[])
{
#pragma unused params
//aqui.. + como??
return 1;
}
teria como??
Re: [Ajuda] Comando grana!!! -
The Knight - 01.05.2011
Fiz este comando em base no "fCommands" do DraKiNs e do SlashPT (pois nгo percebo muito de dcmd_...):
pawn Code:
dcmd_grana( playerid, params[] )
{
#pragma unused params
new id = strval( iParams[ 1 ] );
if( !id || !iParams[ 2 ][ 0 ] )
return SendClientMessage( playerid, /*Cor*/, "Uso correto: /grana [Jogador][Quantia]" );
AddReal(i, iParams[ 2 ] );
return true;
}
Re: [Ajuda] Comando grana!!! -
ApolloRJ - 01.05.2011
nussa deu erros de +....
C:\Users\ApolloRJ\Desktop\GM3.pwn(8609) : error 017: undefined symbol "iParams"
C:\Users\ApolloRJ\Desktop\GM3.pwn(8609) : warning 215: expression has no effect
C:\Users\ApolloRJ\Desktop\GM3.pwn(8609) : error 001: expected token: ";", but found "]"
C:\Users\ApolloRJ\Desktop\GM3.pwn(8609) : error 029: invalid expression, assumed zero
C:\Users\ApolloRJ\Desktop\GM3.pwn(8609) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
o erro ta nessa linha...
new id = strval( iParams[ 1 ] );
Re: [Ajuda] Comando grana!!! -
The Knight - 01.05.2011
Como falei, usei em base no include fCommand.
Procure por comandos feitos em dcmd_... e troque as funзхes do comando pelas funзхes que eu e o Shadoww5 demos em cima.
Re: [Ajuda] Comando grana!!! -
Shadoww5 - 01.05.2011
pawn Code:
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(dargrana, 8, cmdtext);
return 0;
}
dcmd_dargrana(playerid, params[])
{
new
giveplayerid,
grana;
if (sscanf(params, "ud", giveplayerid, amount)) SendClientMessage(playerid, 0xB4B5B7FF, "Usage: /dargrana [playerid] [dinheiro]");
else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, " ID INVБLIDO !");
else if (grana < 1 && grana > 100000)) SendClientMessage(playerid, 0xC2A2DAAA, " Os valores devem estar entre R$ 1 e R$ 100.000");
else
{
GivePlayerMoney(giveplayerid, grana);
}
return 1;
}
Re: [Ajuda] Comando grana!!! -
The Knight - 01.05.2011
Olб ApolloRJ, modifique isto:
por isto:
pawn Код:
new
giveplayerid,
grana,
amount;
Re: [Ajuda] Comando grana!!! -
Shadoww5 - 01.05.2011
Na verdade vocК sу precisa colocar esse codigo ae. Esqueci de retirar a variavel amount:
pawn Код:
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(dargrana, 8, cmdtext);
return 0;
}
dcmd_dargrana(playerid, params[])
{
new
giveplayerid,
grana;
if (sscanf(params, "ud", giveplayerid, grana)) SendClientMessage(playerid, 0xB4B5B7FF, "Usage: /dargrana [playerid] [dinheiro]");
else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, " ID INVБLIDO !");
else if (grana < 1 && grana > 100000)) SendClientMessage(playerid, 0xC2A2DAAA, " Os valores devem estar entre R$ 1 e R$ 100.000");
else
{
GivePlayerMoney(giveplayerid, grana);
}
return 1;
}
Re: [Ajuda] Comando grana!!! -
ApolloRJ - 01.05.2011
eu dei uma estudada aqui e fiz assim.....
#include <Zcmd>
#include <sscanf2>
CMD:grana( playerid, params[] )
{
if (IsPlayerAdmin(playerid))
{
new
toplayerid, // the player we want to give money to
amount; // extracting player's ID and amount from params
if (!sscanf(params, "ui", toplayerid, amount))
{
if (toplayerid != INVALID_PLAYER_ID)
{
new
message[40];
AddReal(toplayerid, amount);
format(message, sizeof(message), "Presente Do Admin $%d Reais", amount);
SendClientMessage(toplayerid, 0x00FF00FF, message);
}
else SendClientMessage(playerid, VERMELHO, "[ERROR:] {FFFFFF}Esse Jogador Nгo Estб Conectado!!");
}
else SendClientMessage(playerid, azulflorecente, "[INFO:] {FFFFFF}Use: /grana <playerid> <QtReais>");
}
else SendClientMessage(playerid, VERMELHO, "[ERROR:] {FFFFFF}Vocк nгo estб logado como Administrador RCON");
return true;
}
agora vem a pergunta X.. como faze um comando .. normal.. sem estar na rcon... tentei modificar esse aee.. n foi nem a pau kkkkk nesse esquema que fiz..... obrigado pela ajuda de ambos aee.. muito obrigado msm...
Re: [Ajuda] Comando grana!!! -
The Knight - 01.05.2011
pawn Код:
CMD:grana( playerid, params[] )
{
new
toplayerid, // the player we want to give money to
amount; // extracting player's ID and amount from params
if( !sscanf( params, "ui", toplayerid, amount ) )
{
if ( toplayerid != INVALID_PLAYER_ID )
{
new
message[ 40 ];
AddReal( toplayerid, amount );
format( message, sizeof( message ), "Presente Do Admin $%d Reais", amount );
SendClientMessage( toplayerid, 0x00FF00FF, message );
}
else SendClientMessage( playerid, VERMELHO, "[ERROR:] {FFFFFF}Esse Jogador Nгo Estб Conectado!!" );
}
else SendClientMessage( playerid, azulflorecente, "[INFO:] {FFFFFF}Use: /grana <playerid> <QtReais>" );
return true;
}
Era sу retirar a funзгo:
pawn Код:
if( IsPlayerAdmin( playerid );
Re: [Ajuda] Comando grana!!! -
ApolloRJ - 01.05.2011
brigado msm pela ajuda.... vcs sгo os caras hehe......
agora a saideira uahUAhAUA....
public OnPlayerCommandText(playerid, cmdtext[])
{
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//--------------fim-------------------------------------------------------------
return SendClientMessage(playerid, VERMELHO, "[ERROR:] {FFFFFF}Comando Nгo Existe /ajuda Para + Detalhes..");
}
//------------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
pq quando escreve o comando... n diz o q esta escrito na ultima linha ali..... eu tirei do dcmd e pus o zcmd ai fico assim.... tem algo errado ai?? pq.. quando o cara digita algo errado.. n aparece.. isso?? "[ERROR:] {FFFFFF}Comando Nгo Existe /ajuda Para + Detalhes..
to meio perdido.. cada vez que mexo no meu gm.. acho q piora hehe..
Re: [Ajuda] Comando grana!!! -
The Knight - 01.05.2011
Lembrando, que isso sу se coloca depois do ъltimo return e da ъltima chave do ъltimo comando do OnPlayerCommandText... Coloque:
pawn Код:
return SendClientMessage(playerid, VERMELHO, "[ERROR:] {FFFFFF}Comando Nгo Existe /ajuda Para + Detalhes.."), false;
}
Exemplo de como ficaria:
pawn Код:
public OnPlayerCommandText( playerid, cmdtext[] )
{
if( !strcmp( cmdtext, "/Comando1", true ) )
{
ResetPlayerWeapons( playerid );
SetPlayerHealth( playerid, 0.0 );
return true;
}
if( !strcmp( cmdtext, "/Comando2", true ) )
{
ResetPlayerWeapons( playerid );
SetPlayerHealth( playerid, 100 );
return true;
}
return SendClientMessage(playerid, VERMELHO, "[ERROR:] {FFFFFF}Comando Nгo Existe /ajuda Para + Detalhes.."), false;
}
Re: [Ajuda] Comando grana!!! - [S]trong - 01.05.2011
pawn Code:
dcmd_dargrana(playerid, params[])
{
if(sscanf(params, "ud",params[0],params[1]))
{
return SendClientMessage(playerid, 0xB4B5B7FF, "Usage /dargrana [playerid] [dinheiro]");
}
else if(!IsPlayerConnected(params[0])
{
return SendClientMessage(playerid, 0xFF0000AA, " ID INVБLIDO !");
}
else if(params[1] < 1 && grana > params[1]))
{
return SendClientMessage(playerid, 0xC2A2DAAA, " Os valores devem estar entre R$ 1 e R$ 100.000");
}
else
{
return GivePlayerMoney(giveplayerid, grana);
}
return true;
}
se for zcmd sу mudar para
pawn Code:
CMD:dargrana(playerid,params[])
Re: [Ajuda] Comando grana!!! -
ApolloRJ - 01.05.2011
public OnPlayerCommandText(playerid, cmdtext[])
{
if( !strcmp( cmdtext, "/Comando2", true ) )
{
ResetPlayerWeapons( playerid );
SetPlayerHealth( playerid, 100 );
return true;
}
return SendClientMessage(playerid, VERMELHO, "[ERROR:] {FFFFFF}Comando Nгo Existe /ajuda Para + Detalhes.."), false;
}
eu pus assim meu OnPlayerCommandText... pq quando o cara escreve algum comando errado vez de paracer isso... "[ERROR:] {FFFFFF}Comando Nгo Existe /ajuda Para + Detalhes.. aparece isso SERVER: Unknown command.
so falta isso para acertar meu GM alguem sabe pq.. isso e cupa do Zcmd pois depois que eu mudei para Zcmd... e que paro de aparecer a mensagens em portugues... e fica dando SERVER: Unknown command... o que ta errado no meu.. OnPlayerCommandText
Re: [Ajuda] Comando grana!!! -
Shadoww5 - 01.05.2011
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if( !strcmp( cmdtext, "/Comando2", true ) )
{
ResetPlayerWeapons( playerid );
SetPlayerHealth( playerid, 100 );
return true;
}
else return SendClientMessage(playerid, VERMELHO, "[ERROR:] {FFFFFF}Comando Nгo Existe /ajuda Para + Detalhes.."), false;
}
-----------
Quando for postar allgum codigo de Pawno poe [**pawn] antes do codigo e [/pawn] depois.
OBS: Obviamente, й necessario que sejam retirados os dois asteriscos (*) de antes do codigo, ou ele nгo funcionarб !
Re: [Ajuda] Comando grana!!! -
LuxurioN™ - 01.05.2011
Код:
CMD:dinheiro( playerid,params[])
{
if ( sscanf( params, "ui", params[ 0 ], params[ 1 ] ) )
return SendClientMessage( playerid, -1, "Use: /dinheiro [Id] [Valor] " );
if ( !IsPlayerConnected( params[ 0 ] ) )
return SendClientMessage( playerid, -1, "Jogador Invбlido!" );
if (params[ 1 ] == 0 )
return SendClientMessage( playerid, -1, "Quantia Invбlida!" );
new
Str [ 80 ],
p1 [ 24 ],
p2 [ 24 ]
;
GetPlayerName( playerid, p1, sizeof p1 ); GetPlayerName( params[ 0 ], p2, sizeof p2 );
format( Str, sizeof Str, "Vocк deu 'R$%d' ao jogador '%s'", params[ 1 ], p2 );
SendClientMessage( playerid, -1, Str );
format( Str, sizeof Str, "Vocк recebeu 'R$%d' do jogador '%s'" ,params[ 1 ], p1 );
SendClientMessage( params[ 0 ], -1, Str );
return AddReal( params[ 0 ],params[ 1 ] );
}
Considerando que vocк estб utilizando ZCMD, vocк NГO DEVE utilizar mais a callback "
OnPlayerCommandText". Й "praticamente" ignorada. Em seu lugar, o correto seria "
OnPlayerCommandReceived". Contudo, para "indicar" um comando invбlido atravйs de uma mensagem, use "
OnPlayerCommandPerformed", exemplo:
Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if ( !success )
return SendClientMessage( playerid, -1 , "[ERRO]: Comando Nгo Existe /ajuda Para + Detalhes.." ); return true;
}
Re: [Ajuda] Comando grana!!! -
ApolloRJ - 01.05.2011
Luxurion resolveu meu problema hehe muito obrigado.. a ele e aos outros que me ajudou bastante... + uma vez Obrigado...
By ApolloRJ