PDA

View Full Version : [Ajuda] Dúvidas Curtas #1


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Jumper.
01/04/2013, 04:59 PM
galera, isso não é uma duvida, mas n tem necessidade de criar um tópico para isso, enfim, to criando uma loja de utilitarios para meu server, dai ja botei capacete e laser, o que mais seria util? é um TDM

Lós
01/04/2013, 06:21 PM
galera, isso não é uma duvida, mas n tem necessidade de criar um tópico para isso, enfim, to criando uma loja de utilitarios para meu server, dai ja botei capacete e laser, o que mais seria util? é um TDM

Bonés.

SeV_
03/04/2013, 03:20 AM
Creio que aqui nao seja area de dicas. Mais talvez duvidas neh..

Jumper.
03/04/2013, 09:12 AM
Creio que aqui nao seja area de dicas. Mais talvez duvidas neh..

galera, isso não é uma duvida, mas n tem necessidade de criar um tópico para issoo

viu? :D

Maklister
03/04/2013, 03:19 PM
galera, isso não é uma duvida, mas n tem necessidade de criar um tópico para isso, enfim, to criando uma loja de utilitarios para meu server, dai ja botei capacete e laser, o que mais seria util? é um TDM


óculos :cool:

smiiir
03/04/2013, 10:07 PM
Uma dúvida !

Bom estou criando meu game mode rpg, e estou estou em dúvida.

YCMD ou ZCMD
SSCANF ou SSCANF2 ( Acho que é a mesma coisa )

arakuta
03/04/2013, 10:15 PM
SSCANF 2 é a versão mais atualizada.

YCMD é mais rápido e tem mais funções que ZCMD.

http://forum.sa-mp.com/showthread.php?t=169029 - YCMD
http://forum.sa-mp.com/showthread.php?t=91354 - ZCMD
http://forum.sa-mp.com/showthread.php?t=120356 - SSCANF2

@Edit:

ZCMD é melhor pra poucos comandos :)

Maklister
03/04/2013, 10:16 PM
Uma dúvida !

Bom estou criando meu game mode rpg, e estou estou em dúvida.

YCMD ou ZCMD
SSCANF ou SSCANF2 ( Acho que é a mesma coisa )



Vai de pessoa isso ai,

por mim ZCMD e SSCANF2

a diferença dos sscanf e que o 2 é mais atualizado ( avá '-' ), mais o YCMD não deixa a desejar, mais prefiro o zcmd

smiiir
03/04/2013, 10:17 PM
Tendi :]

Vou mudar então de:
ZCMD || DOF2 || SSCANF || STREAMER

pra

YCMD || DOF2 || SSCANF2 || STREAMER :]

vlw é nois

Lós
03/04/2013, 10:55 PM
Tendi :]

Vou mudar então de:
ZCMD || DOF2 || SSCANF || STREAMER

pra

YCMD || DOF2 || SSCANF2 || STREAMER :]

vlw é nois

y_command, sscanf2, streamer, y_users, y_uvar.

Schocc
04/04/2013, 02:00 AM
y_command, sscanf2, streamer, y_users, y_uvar.

ycmd MySQL streamer

MegalodoN
04/04/2013, 07:55 PM
Como adciono os novos Objetos da 3x no meu map editor? eu coloco os ids la e n acha o objeto :p

Delete_
04/04/2013, 08:14 PM
Como adciono os novos Objetos da 3x no meu map editor? eu coloco os ids la e n acha o objeto

Eu não sabia que tinha novos objetos no 0.3x.

MegalodoN
04/04/2013, 08:27 PM
Eu não sabia que tinha novos objetos no 0.3x.

¬¬

http://wiki.sa-mp.com/wiki/Objects_0.3c#Objects_added_in_0.3x_RC2-4_.286_objects.29

agora só n sei como adciono-os :0

eaiello
04/04/2013, 08:35 PM
Sou totalmente noob em script hahaha, queria saber se tem algum jeito de add os mapas que eu faço no MTA / Real Map Editor no jogo default.

Delete_
04/04/2013, 08:35 PM
Posta isso lá no tópico do Map Editor

eaiello
04/04/2013, 08:37 PM
Ok, vou procurar o tópico! Valeu

Kanuy
04/04/2013, 08:40 PM
Sou totalmente noob em script hahaha, queria saber se tem algum jeito de add os mapas que eu faço no MTA / Real Map Editor no jogo default.


Sim há após ter salvado mapa no seu editor use um conversor de mapas eu uso este http://gtamap.delux-host.com/converter/

Caso o mapa que queira converter seja do MTA procure o diretorio de seu mapa salvo em "Escolher arquivo"

Ex: C:\Program Files\MTA San Andreas 1.3\server\mods\deathmatch\resources\"NOMEDOMAPASALVO"

E selecione uma opção de converção

Ex: PAWN Code for SA:MP

eaiello
04/04/2013, 08:42 PM
Eu quis dizer add ele no jogo original, para jogar no offline :)

Kanuy
04/04/2013, 08:43 PM
Certo! Entendi de outro modo

ChapterFour
05/04/2013, 10:38 PM
Como especificar os ID's dos veículos?Eu quero usar a calback OnPlayerEnterVehicle para mandar uma mensagem para o player colocar o cinto,mas queria especificar o ID para que isso não ocorra em motos,bicicletas e etc.Alguém me ajuda com um exemplo?

Lós
05/04/2013, 10:44 PM
Como especificar os ID's dos veículos?Eu quero usar a calback OnPlayerEnterVehicle para mandar uma mensagem para o player colocar o cinto,mas queria especificar o ID para que isso não ocorra em motos,bicicletas e etc.Alguém me ajuda com um exemplo?

new
cars [ 5 ];

cars [ 0 ] = CreateVehicle ( ... );
cars [ 1 ] = CreateVehicle ( ... );
cars [ 2 ] = CreateVehicle ( ... );
cars [ 3 ] = CreateVehicle ( ... );
cars [ 4 ] = CreateVehicle ( ... );

public OnPlayerEnterVehicle ( playerid, vehicleid, ispassenger )
{
for ( new i = 0; i < sizeof cars; i++ )
if ( vehicleid = cars [ i ] )
SendClientMessage ( playerid, -1, "Você entrou em um carro da array." );

return 1;
}

arakuta
06/04/2013, 12:02 AM
Coitado do moço em Lós D: Além de que você desotimiza caso haja 10 BMX's por exemplo.

Uma forma sem loops

//Primeiramente, a callback correta seria OnPlayerStateChange
public OnPlayerStateChange(playerid,newstate,oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 432 || m == 481 || m == 522) return 0; // Veja todas as motos/bicicletas : http://wiki.sa-mp.com/wiki/Vehicles:Bikes
else SendClientMessage(playerid,-1,"Use o /cinto!");
}
}

Lós
06/04/2013, 12:11 AM
Coitado do moço em Lós D: Além de que você desotimiza caso haja 10 BMX's por exemplo.

Uma forma sem loops

//Primeiramente, a callback correta seria OnPlayerStateChange
public OnPlayerStateChange(playerid,newstate,oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new m = GetVehicleModel(GetPlayerVehicleID(playerid));
if(m == 432 || m == 481 || m == 522) return 0; // Veja todas as motos/bicicletas : http://wiki.sa-mp.com/wiki/Vehicles:Bikes
else SendClientMessage(playerid,-1,"Use o /cinto!");
}
}

Eu entendi errado, não vi a parte do cinto, eu ia esperar ele responder, mas se quer optimizar, dá pra usar operador OR nesse seu código.

Mutuka_XTreme
06/04/2013, 02:13 AM
Passei um servidor do 0.3c para o 0.3x. Pode dar bugs?

Sky™
06/04/2013, 02:18 AM
Passei um servidor do 0.3c para o 0.3x. Pode dar bugs?

só o do kick e ban más pode arrumar usando o codigo útil do paulo

claro se tiver passado corretamente.

arakuta
06/04/2013, 08:56 AM
Eu entendi errado, não vi a parte do cinto, eu ia esperar ele responder, mas se quer optimizar, dá pra usar operador OR nesse seu código.


Você quis dizer:

if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)

É verdade hehe

Lós
06/04/2013, 09:17 AM
Você quis dizer:

if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)

É verdade hehe

Não...

public OnPlayerStateChange(playerid,newstate,oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new m = GetVehicleModel(GetPlayerVehicleID(playerid));

if(m == 432 | 481 | 522)
return 0;

else
return SendClientMessage(playerid,-1,"Use o /cinto!");
}

return 1;
}

Ou com switch:

public OnPlayerStateChange(playerid,newstate,oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new m = GetVehicleModel(GetPlayerVehicleID(playerid));

switch ( m )
{
case 432, 481, 522:
return 0;

default:
return SendClientMessage(playerid,-1,"Use o /cinto!");
}
}

return 1;
}

Humildade
07/04/2013, 06:53 PM
como eu uso isto no ycmd

exemplo

zcmd e assim


CMD:exemplo(playerid)
{
SendClientMessage(playerid, -1, "Exemplo");
return 1;
}

e pra por numa dialog e assim

cmd_exemplo(playerid);

em ysi
e assim

YCMD:exemplo(playerid, params[], help)
{
SendClientMessage(playerid, -1, "Exemplo");
return 1;
}

e como eu coloco numa dialog

ycmd_exemplo(playerid); ?

ajuda pliiz

Lós
07/04/2013, 07:00 PM
como eu uso isto no ycmd

exemplo

zcmd e assim


CMD:exemplo(playerid)
{
SendClientMessage(playerid, -1, "Exemplo");
return 1;
}

e pra por numa dialog e assim

cmd_exemplo(playerid);

em ysi
e assim

YCMD:exemplo(playerid, params[], help)
{
SendClientMessage(playerid, -1, "Exemplo");
return 1;
}

e como eu coloco numa dialog

ycmd_exemplo(playerid); ?

ajuda pliiz

Não existe uma certa forma de fazer isso com o YCMD, pois o YCMD faz o que uma função faria, a ideia de Y_Less é que você coloque o conteúdo do comando em uma função e chame a função tanto no comando, tanto aonde você quer chamar o comando.

Jumper.
08/04/2013, 03:15 AM
geralmente quando to dirigindo um carro e aperto - ou = ele comeca a piscar o farol isso é uma nova atualização algo do tipo se for, tem como me explicar como isso funfa e pa? vlw

Schocc
08/04/2013, 04:43 AM
Não existe uma certa forma de fazer isso com o YCMD, pois o YCMD faz o que uma função faria, a ideia de Y_Less é que você coloque o conteúdo do comando em uma função e chame a função tanto no comando, tanto aonde você quer chamar o comando.

Concordo com vc los, mas tbm funciona corretamente.

Command_ReProcess( playerid, "/nomedocmd", false );
playerid - ID
"/nomedocmd" - Nome do comando com /
false - Help se for true vai chamar o parametro help, caso contrario o comando é executado


a Outra forma que eu usava mas não lenbro muito bem, algo parecido com

@YCMD:nomedocmd;

Lós
08/04/2013, 04:55 AM
Concordo com vc los, mas tbm funciona corretamente.

Command_ReProcess( playerid, "/nomedocmd", false );
playerid - ID
"/nomedocmd" - Nome do comando com /
false - Help se for true vai chamar o parametro help, caso contrario o comando é executado


a Outra forma que eu usava mas não lenbro muito bem, algo parecido com

@YCMD:nomedocmd;


Sim, mas essa funções não foi feita para isso.

O ReProcess ele vai reprocessar o comando (assim como a própria syntax diz), ou seja, um comando que já foi chamado, será chamado novamente.

É quase certeza que se você entrar no servidor, não digitar nenhum comando e chamar o ReProcess, vai dar algo errado.

Jumper.
10/04/2013, 08:17 PM
existe como deixar apenas nick de um certo player invisivel, ou com uma distancia menor de ser vista?

Lós
10/04/2013, 08:36 PM
existe como deixar apenas nick de um certo player invisivel, ou com uma distancia menor de ser vista?

http://wiki.sa-mp.com/wiki/ShowPlayerNameTagForPlayer

Jumper.
10/04/2013, 08:41 PM
http://wiki.sa-mp.com/wiki/ShowPlayerNameTagForPlayer

to criando uma arena survival ai no caso, quando o player fosse para la queria que o nick dele n aparece-se, usaria assim: ?


CMD:irarena(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) ShowPlayerNameTagForPlayer(i, playerid, false);
}
return 1;
}

Lós
10/04/2013, 08:45 PM
to criando uma arena survival ai no caso, quando o player fosse para la queria que o nick dele n aparece-se, usaria assim: ?


CMD:irarena(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) ShowPlayerNameTagForPlayer(i, playerid, false);
}
return 1;
}


Sim, mas você se confundiu com os parâmetros:

CMD:irarena(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
ShowPlayerNameTagForPlayer(playerid, i, false);

return 1;
}

Jumper.
10/04/2013, 08:48 PM
eu fiquei com duvida nisso, me corrija se etiver errado:

(playerid, showplayerid, show)
playerid Player who will see the results of this function
showplayerid Player whose name tag will be shown or hidden
show 1-show name tag, 0-hide name tag

no player id eu botei I porque I é os players conectados, ja no showplayerid, botei o que no caso realizaria o comando e ele sim (playerid) ficaria com o nome apagado, estou certo?? :S

Lós
10/04/2013, 08:56 PM
eu fiquei com duvida nisso, me corrija se etiver errado:

(playerid, showplayerid, show)
playerid Player who will see the results of this function
showplayerid Player whose name tag will be shown or hidden
show 1-show name tag, 0-hide name tag

no player id eu botei I porque I é os players conectados, ja no showplayerid, botei o que no caso realizaria o comando e ele sim (playerid) ficaria com o nome apagado, estou certo?? :S

Na verdade, tanto faz.

Se você colocar no 2º parâmetro, o nick de todos os jogadores vai ser escondido para o playerid.

ShowPlayerNameTagForPlayer(playerid, i, false);

Se você botar no 1º parâmetro, o nick do playerid será escondido para todos os jogadores.

ShowPlayerNameTagForPlayer(i, playerid, false);

Jumper.
10/04/2013, 08:57 PM
Na verdade, tanto faz.

Se você colocar no 2º parâmetro, o nick de todos os jogadores vai ser escondido para o playerid.

ShowPlayerNameTagForPlayer(playerid, i, false);

Se você botar no 1º parâmetro, o nick do playerid será escondido para todos os jogadores.

ShowPlayerNameTagForPlayer(i, playerid, false);

é o segundo que estava querendo mesmo, enfim, obrigado por ajudar, +rep

afaeln
11/04/2013, 06:07 PM
Envia Reputação parágrafo Meu Amigo http://forum.sa-mp.com/showthread.php?t=422973&highlight=cesar_******

VenoN
12/04/2013, 03:10 PM
Tem como fazer operação ternaria com 3 valores?

exemplo:


new type = 3;

printf("Variavel é : %s", type == 1 ? ("True") : ("False"));

más como eu verificaria se ela vale um valor diferente que nem 3

leonardo1434
12/04/2013, 03:33 PM
Tem como fazer operação ternaria com 3 valores?

exemplo:


new type = 3;

printf("Variavel é : %s", type == 1 ? ("True") : ("False"));

más como eu verificaria se ela vale um valor diferente que nem 3
Não entendi. Faça um exemplo em if/else.

Falcon.
12/04/2013, 03:36 PM
new type = 3;

printf("Variavel é : %s", type == 1 ? ("false") : type == 2 ? ("False") : type == 3 ? ("true") : ("nem 1 ou 2 ou 3. tem outro valor"));

VenoN
12/04/2013, 04:20 PM
Não entendi. Faça um exemplo em if/else.

era fazer isso com 3 valores com 3 suposições o de baixo resolveu Obrigado

new type = 3;

printf("Variavel é : %s", type == 1 ? ("false") : type == 2 ? ("False") : type == 3 ? ("true") : ("nem 1 ou 2 ou 3. tem outro valor"));

é vlw

Jumper.
13/04/2013, 02:30 PM
EDIT:

por que n ta dando spawn randomizado???



// FS TOPO
new armas[] = {
355,
353,
348,
349
};

// FS INIT
CreatePickup(armas[random(4)], 2, -1039.7949,-1040.9695,136.8782, -1);
CreatePickup(armas[random(4)], 2, -1016.2387,-1000.2385,129.2126, -1);
CreatePickup(armas[random(4)], 2, -1048.8966,-968.5367,136.8782, -1);
CreatePickup(armas[random(4)], 2, -1071.1217,-965.7619,129.2188, -1);
CreatePickup(armas[random(4)], 2, -1067.1025,-925.1772,137.7380, -1);
CreatePickup(armas[random(4)], 2, -1017.8635,-968.2134,137.7380, -1);
CreatePickup(armas[random(4)], 2, -1115.4080,-929.7350,129.2188, -1);
CreatePickup(armas[random(4)], 2, -1138.1083,-949.5615,129.2188, -1);
CreatePickup(armas[random(4)], 2, -1110.4128,-961.2980,137.9380, -1);
CreatePickup(armas[random(4)], 2, -1083.3379,-1007.6152,137.8681, -1);
CreatePickup(armas[random(4)], 2, -1082.4080,-1044.4351,129.2188, -1);
CreatePickup(armas[random(4)], 2, -1127.6932,-1010.8391,129.2188, -1);
CreatePickup(armas[random(4)], 2, -1116.6295,-1039.6604,129.2119, -1);
CreatePickup(armas[random(4)], 2, -1152.5444,-999.4540,136.8782, -1);
CreatePickup(armas[random(4)], 2, -1177.8857,-1028.4845,131.6466, -1);
CreatePickup(armas[random(4)], 2, -1192.3844,-987.4376,129.2188, -1);

Supera
13/04/2013, 03:13 PM
Tenta desse modo
new armas[] = {
355,
353,
348,
349
};
// FS INIT
CreatePickup(armas[random(sizeof(armas))], 2, -1039.7949,-1040.9695,136.8782, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1016.2387,-1000.2385,129.2126, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1048.8966,-968.5367,136.8782, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1071.1217,-965.7619,129.2188, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1067.1025,-925.1772,137.7380, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1017.8635,-968.2134,137.7380, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1115.4080,-929.7350,129.2188, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1138.1083,-949.5615,129.2188, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1110.4128,-961.2980,137.9380, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1083.3379,-1007.6152,137.8681, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1082.4080,-1044.4351,129.2188, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1127.6932,-1010.8391,129.2188, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1116.6295,-1039.6604,129.2119, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1152.5444,-999.4540,136.8782, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1177.8857,-1028.4845,131.6466, -1);
CreatePickup(armas[random(sizeof(armas))], 2, -1192.3844,-987.4376,129.2188, -1);

Jumper.
13/04/2013, 03:36 PM
eu ja entendi pq n ta indo, quando o fs inicia, ele cria um aleatorio, mas depois que o player pega ele, ele respawna o próprio aleatório.

ALGUEM SABE SE TEM COMO FAZER O RESPAWN ALEATÓRIO DO PICKUP?

steak
13/04/2013, 04:00 PM
OnPlayerPickUpPickup (http://wiki.sa-mp.com/wiki/OnPlayerPickUpPickup)

Jumper.
13/04/2013, 04:02 PM
steak o 2, que é o estilo do pickup faz a função de ele ser "pickupable" e depois de um tempo ele respawna, mas ele respawna sendo o aleatório escolhido antes, gostaria de saber se tem como ele spawnar fazendo outro random, entende?

ChapterFour
14/04/2013, 04:07 PM
Como faço pra quando o player chegar na Pickup (e apertar F) ele é transportado pra tal lugar?

Exemplo:

new iconpref;

public OnGameModeInit()
{
//icons-pickups
iconpref = CreatePickup(1239, 1, 1481.1885, -1771.8442, 18.7958, 1);
...
return... etc
---
Agora quero que ele aperte F para fazer a função da Pickup,que é
GameTextForPlayer(playerid, "~~g~Prefeitura", 5000, 8);
SetPlayerPos(playerid,385.4674,173.9319,1008.3828) ;
SetPlayerInterior(playerid, 3);

Alguém ajuda?

Supera
14/04/2013, 04:29 PM
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & 16) // Jogador preciona F
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 1481.1885, -1771.8442, 18.7958)) // Aqui a posição da pickup
{
// Executando a função
GameTextForPlayer(playerid, "~~g~Prefeitura", 5000, 8);
SetPlayerPos(playerid,385.4674,173.9319,1008.3828) ;
SetPlayerInterior(playerid, 3);
}
}
return 1;
}

Hunter_Xtreme
14/04/2013, 06:30 PM
Galera, como tiro o << >> Spawn quando o player entra no server?

smiiir
14/04/2013, 06:45 PM
Galera, como tiro o << >> Spawn quando o player entra no server?

http://wiki.sa-mp.com/wiki/SetSpawnInfo

http://wiki.sa-mp.com/wiki/SpawnPlayer

Hunter_Xtreme
14/04/2013, 06:55 PM
http://wiki.sa-mp.com/wiki/SetSpawnInfo

http://wiki.sa-mp.com/wiki/SpawnPlayer

entendi, mais tipo, quando o player ta no processo de cadastro, aparece pra ele o << >> Spawn
eu queria saber como faz pra nao aparecer isso

ChapterFour
14/04/2013, 07:31 PM
entendi, mais tipo, quando o player ta no processo de cadastro, aparece pra ele o << >> Spawn
eu queria saber como faz pra nao aparecer isso

Se eu não me engano,não dá pra fazer desaparecer,não tenho certeza,mas dá pra congelar os botões.Vai na callback OnPlayerRequestClass e o return vai tar de valor 1,muda pra 0,aí os botões vão congelar.Corrijam-me se eu estiver errado.

public OnPlayerRequestClass(playerid, classid)
{
return 0;//muda aqui pra zero
}

Axl.
16/04/2013, 04:27 PM
Como faço para armazenar strings em strcmp?

Coreia
16/04/2013, 04:36 PM
Como faço para armazenar strings em strcmp?

Isto voce quer faser um comparação né?

Axl.
16/04/2013, 04:45 PM
Isto voce quer faser um comparação né?

Não tipo, quero armazenar um link para usá-lo depois.

RogerMP
17/04/2013, 10:16 AM
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & 16) // Jogador preciona F
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 1481.1885, -1771.8442, 18.7958)) // Aqui a posição da pickup
{
// Executando a função
GameTextForPlayer(playerid, "~~g~Prefeitura", 5000, 8);
SetPlayerPos(playerid,385.4674,173.9319,1008.3828) ;
SetPlayerInterior(playerid, 3);
}
}
return 1;
}
Como coloca uma frase nessa pickup tipo "Tecle F pra entrar" ?

Delete_
17/04/2013, 03:08 PM
Em OnGameModeInit


Create3DTextLabel("Tecle F para entrar!", 0x008080FF, 1481.1885, -1771.8442, 18.7958, 40.0, 0, 0);

ChapterFour
17/04/2013, 07:27 PM
Existe algum programa criador de GameText e ou TextDraw?Não gamemode tipo o Zamaroth's,mas um programa mesmo.Existe a possibilidade de eu criar um arquivo em dini (ou outra include de memória)e depois abri-lo e executa-lo em Dialog?Exemplo,sistema de 3 skins por player.Salvando skin1,skin2,skin3 em dini,e abrir para escolha de skin num dialog.
/minhasskins.Aparece o dialog com Skin 1,Skin 2 e Skin 3.Queria algumas dicas de como fazer isto.Creio que seja um pouco raro,não vi em nenhum servidor.E acho que seria bem útil para RP/RPG.Uma roupa(skin) de trabalho,uma casual e etc.Talvez possa aumentar o numero.Fazer algo estilo The Sims.Podem me ajudar?

Delete_
17/04/2013, 07:50 PM
Existe algum programa criador de GameText e ou TextDraw?Não gamemode tipo o Zamaroth's,mas um programa mesmo.Existe a possibilidade de eu criar um arquivo em dini (ou outra include de memória)e depois abri-lo e executa-lo em Dialog?Exemplo,sistema de 3 skins por player.Salvando skin1,skin2,skin3 em dini,e abrir para escolha de skin num dialog.
/minhasskins.Aparece o dialog com Skin 1,Skin 2 e Skin 3.Queria algumas dicas de como fazer isto.Creio que seja um pouco raro,não vi em nenhum servidor.E acho que seria bem útil para RP/RPG.Uma roupa(skin) de trabalho,uma casual e etc.Talvez possa aumentar o numero.Fazer algo estilo The Sims.Podem me ajudar?

AQUI (http://wiki.sa-mp.com/)

Gleisson_.
18/04/2013, 04:10 PM
Um limite de IP's pode ser usado com Anti-DDoS BOT ?

VenoN
18/04/2013, 04:53 PM
tem algum problema em fazer uma random com este tamanho?

random(99999999);

smiiir
18/04/2013, 04:54 PM
Um limite de IP's pode ser usado com Anti-DDoS BOT ?

Sim

tem algum problema em fazer uma random com este tamanho?

random(99999999);


Não.

Exemplo:

new xGrana = 1 + random ( 99999999 ) ;

Sky™
19/04/2013, 02:03 PM
alguem sabe o id desse Objeto?
descrição: Costuma ficar em paredes dando acesso a portas, Todo GF tem ^^

http://img211.imageshack.us/img211/2990/semttuloic.png

PS: não gosto de mapas ^^

Delete_
19/04/2013, 02:51 PM
Procura dentro da área 51.

smiiir
19/04/2013, 04:00 PM
alguem sabe o id desse Objeto?
descrição: Costuma ficar em paredes dando acesso a portas, Todo GF tem ^^

http://img211.imageshack.us/img211/2990/semttuloic.png

PS: não gosto de mapas ^^

2886

Sky™
19/04/2013, 04:21 PM
Procura dentro da área 51.

2886

Thanks!

iHarzard
19/04/2013, 05:57 PM
Existe alguma função que detecte quando o veiculo do player virar?

Lós
19/04/2013, 05:58 PM
Existe alguma função que detecte quando o veiculo do player virar?

Verifique o ângulo do veículo...

iHarzard
19/04/2013, 06:09 PM
Verifique o ângulo do veículo...

Em qual callback devo usar?

Lós
19/04/2013, 06:13 PM
Em qual callback devo usar?

Se você quer fazer com que o carro vire quando estiver de cabeça para baixo, aconselho usar um comando, mas se quer fazer isso de forma automática, utilize um timer.

iHarzard
19/04/2013, 06:44 PM
Se você quer fazer com que o carro vire quando estiver de cabeça para baixo, aconselho usar um comando, mas se quer fazer isso de forma automática, utilize um timer.

Não queria que desvirasse, só queria que enviasse uma mensagem. Usei assim:

//OnGameModeInit
SetTimer("AngleVeh", 1, true);

//Callback
forward AngleVeh(playerid);
public AngleVeh(playerid)
{
new Float:Angulo = 180, iVehicle = GetPlayerVehicleID(playerid);
GetVehicleZAngle(iVehicle, Angulo);
return SendClientMessage(playerid, -1, "Você virou seu veiculo");
}

Irá funcionar dessa forma? É essa função mesmo que estou usando?

Lós
19/04/2013, 06:50 PM
Não queria que desvirasse, só queria que enviasse uma mensagem. Usei assim:

//OnGameModeInit
SetTimer("AngleVeh", 1, true);

//Callback
forward AngleVeh(playerid);
public AngleVeh(playerid)
{
new Float:Angulo = 180, iVehicle = GetPlayerVehicleID(playerid);
GetVehicleZAngle(iVehicle, Angulo);
return SendClientMessage(playerid, -1, "Você virou seu veiculo");
}

Irá funcionar dessa forma? É essa função mesmo que estou usando?

Não, você está checando errado.

forward AngleVeh(playerid);
public AngleVeh(playerid)
{
new Float:Angulo, iVehicle = GetPlayerVehicleID(playerid);
GetVehicleZAngle(iVehicle, Angulo);

if ( Angulo == 180 )
return SendClientMessage(playerid, -1, "Você virou seu veiculo");
}

RogerMP
20/04/2013, 06:12 AM
duas dúvidas rápidas!

1) por a textura de tijolo do objeto(10847) no objeto(3655), da pra fazer isso no MTA?como faz?
http://i37.tinypic.com/2vcvnv4.jpg

2) qual o melhor editor, MTA ou Map Construction?
vlw..abs!

mau.tito
20/04/2013, 02:44 PM
Map Construction

.....

Sky™
20/04/2013, 03:20 PM
duas dúvidas rápidas!

1) por a textura de tijolo do objeto(10847) no objeto(3655), da pra fazer isso no MTA?como faz?



http://forum.sa-mp.com/showthread.php?t=331497

Delete_
21/04/2013, 05:13 AM
3DTextLabel é um Float?

Lós
21/04/2013, 06:15 AM
3DTextLabel é um Float?

Se 3DTextLabel fosse float, textdraw também seria.

Delete_
21/04/2013, 12:26 PM
Se 3DTextLabel fosse float, textdraw também seria.

Dei uma voada aqui, valeu.

Gleisson_.
22/04/2013, 04:23 PM
CreateVehicle
AddStaticVehicleEx


Não tem problema usar as 2 funções no GameMode ? (Mesmo usando Streamer)

Lós
22/04/2013, 04:34 PM
CreateVehicle
AddStaticVehicleEx


Não tem problema usar as 2 funções no GameMode ? (Mesmo usando Streamer)

Não que eu saiba.

RogerMP
23/04/2013, 12:55 PM
procuro código que transforme esse objeto "id:3884"
numa bateria anti-aérea igual do GTA off, vlw abs!
http://i34.tinypic.com/160e7mh.jpg

Delete_
23/04/2013, 03:09 PM
/\ como assim?

Gleisson_.
23/04/2013, 03:51 PM
/\ como assim?

Ele gostaria de saber como transforma o objeto, para quando uma aeronave passar por cima de um local, este objeto começar a lançar mísseis igual o Hydra !

@

Estou usando umas funções na callback OnPlayerRequestClass.. E elas devem atualizar a cada passo que o player muda (avança a skin), e eu estou usando TextDrawSetString, eu deveria mudar para PlayerTextDrawSetString ou deixo em TextDrawSetString ?

Delete_
23/04/2013, 04:11 PM
Ele gostaria de saber como transforma o objeto, para quando uma aeronave passar por cima de um local, este objeto começar a lançar mísseis igual o Hydra !

Na versão 0.2x funcionava isso, não sei agora.

Gleisson_.
23/04/2013, 04:33 PM
Na versão 0.2x funcionava isso, não sei agora.

Nossa velho, você joga samp desde a versão 0.2x...

:P

@Topic:

Cara você pode fazer tipo assim..

Geta a posição do jogador (X, Y, Z);
Ai colocar para criar umas explosões, e se ele passar pela posição;

Você irá precisar de:

CreateExplosion
IsPlayerInRangeOfPoint
GetPlayerPos

Maklister
24/04/2013, 04:03 AM
Nossa velho, você joga samp desde a versão 0.2x...

:P

@Topic:

Cara você pode fazer tipo assim..

Geta a posição do jogador (X, Y, Z);
Ai colocar para criar umas explosões, e se ele passar pela posição;

Você irá precisar de:

CreateExplosion
IsPlayerInRangeOfPoint
GetPlayerPos

Mais creio que ele queira por causa dos mísseis seguindo o Avião.

Não lembro disso no 0.2x, ou eu nunca encontrei um servidor com isso na época.

Sky™
24/04/2013, 10:17 AM
procuro código que transforme esse objeto "id:3884"
numa bateria anti-aérea igual do GTA off, vlw abs!

Na versão 0.2x funcionava isso, não sei agora.

isso sempre vai ser depedente de sistema para funcionar ^^


Geta a posição do jogador (X, Y, Z);
Ai colocar para criar umas explosões, e se ele passar pela posição;


¬¬ :D

Mais creio que ele queira por causa dos mísseis seguindo o Avião.

Não lembro disso no 0.2x, ou eu nunca encontrei um servidor com isso na época.

meu sv tinha isso más como eu fechei ..

esta aki o que você quer garoto.

http://www.*******.com/watch?v=kJewSwTV9jo

http://forum.sa-mp.com/showthread.php?t=115695

Delete_
24/04/2013, 01:56 PM
Mais creio que ele queira por causa dos mísseis seguindo o Avião.

Não lembro disso no 0.2x, ou eu nunca encontrei um servidor com isso na época.

Eu ja, tinha vários em LV, quando passava por avião ou heli por perto você era atacado.

Ley
24/04/2013, 02:28 PM
Uma pequena dúvida.

Se eu crio uma textdraw, e utilizo ' ~h~ ' para claria-la, eu posso usar o ' ~h~ ' quantas vezes eu quiser, e irá gerar resultado?
Ou somente um é o máximo?

Exemplo: "~r~~h~ Eu", com isso, irá ficar o Eu com um vermelho um tanto claro.

Exemplo²: "~r~~h~~h~ Eu", irá ficar mais clara que o exemplo 1 ?

MegalodoN
25/04/2013, 08:40 PM
Boa Noite,

qual a melhor forma de delimitar uma tal area para selecionar uma textdraw??

tipo criei uma textdraw Clicável Más o problema é que quando passo o Mouse Longe dela ela é selecionada do mesmo geito como arrumo isto?

Obrigado!!

tatezumate
25/04/2013, 08:59 PM
Tipo eu sou um novato em pawn e não to entendendo esse warning na linha que diz que já ta em trabalho:
warning 211: possibly unintended assignment

no codigo


CMD:htrabalho(playerid, params[])
{
if(PlayerInfo[playerid][Helper] == 1)
if(PlayerInfo[playerid][HelperTrabalhando] = true) return SendClientMessage(playerid, CINZA, "Você já está em modo trabalho para sair use:/hfolga");
{
PlayerInfo[playerid][HelperTrabalhando] = true;
SetPlayerSkin(playerid, 101);
SetPlayerColor(playerid, Cor_Helper);
format(String,sizeof(String),"Helper {FFD700}%s {FFFFFF}está trabalhando, use /duvida em caso de duvidas!", Nome(playerid));
SendClientMessageToAll(BRANCO, String);
}
return 1;
}

Lós
25/04/2013, 09:02 PM
Tipo eu sou um novato em pawn e não to entendendo esse warning na linha que diz que já ta em trabalho:
warning 211: possibly unintended assignment

no codigo


CMD:htrabalho(playerid, params[])
{
if(PlayerInfo[playerid][Helper] == 1)
if(PlayerInfo[playerid][HelperTrabalhando] = true) return SendClientMessage(playerid, CINZA, "Você já está em modo trabalho para sair use:/hfolga");
{
PlayerInfo[playerid][HelperTrabalhando] = true;
SetPlayerSkin(playerid, 101);
SetPlayerColor(playerid, Cor_Helper);
format(String,sizeof(String),"Helper {FFD700}%s {FFFFFF}está trabalhando, use /duvida em caso de duvidas!", Nome(playerid));
SendClientMessageToAll(BRANCO, String);
}
return 1;
}

CMD:htrabalho(playerid, params[])
{
if(PlayerInfo[playerid][Helper] == 0)
return SendClientMessage ( playerid, CINZA, "Você não é helper." );

else if(PlayerInfo[playerid][HelperTrabalhando] = true)
return SendClientMessage(playerid, CINZA, "Você já está em modo trabalho para sair use:/hfolga");

PlayerInfo[playerid][HelperTrabalhando] = true;
SetPlayerSkin(playerid, 101);
SetPlayerColor(playerid, Cor_Helper);
format(String,sizeof(String),"Helper {FFD700}%s {FFFFFF}está trabalhando, use /duvida em caso de duvidas!", Nome(playerid));
SendClientMessageToAll(BRANCO, String);

return 1;
}

Don_Speed
27/04/2013, 11:49 AM
Rapida duvida , da para usar o mesmo nome para fazer um sistema de neon ???
EX:
case DIALOG_NEON:
{
switch(listitem)
{
case 0:
{
DestroyObject(GetPVarInt(playerid, "neon"));
DeletePVar(playerid, "Status");
DestroyObject(GetPVarInt(playerid, "neon1"));
DeletePVar(playerid, "Status");

SetPVarInt(playerid, "neon", CreateObject(18648,0,0,0,0,0,0));
SetPVarInt(playerid, "neon1", CreateObject(18648,0,0,0,0,0,0));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 1:
{
DestroyObject(GetPVarInt(playerid, "neon"));
DeletePVar(playerid, "Status");
DestroyObject(GetPVarInt(playerid, "neon1"));
DeletePVar(playerid, "Status");

SetPVarInt(playerid, "neon", CreateObject(18647,0,0,0,0,0,0));
SetPVarInt(playerid, "neon1", CreateObject(18647,0,0,0,0,0,0));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 2:
{
DestroyObject(GetPVarInt(playerid, "neon"));
DeletePVar(playerid, "Status");
DestroyObject(GetPVarInt(playerid, "neon1"));
DeletePVar(playerid, "Status");

SetPVarInt(playerid, "neon", CreateObject(18649,0,0,0,0,0,0));
SetPVarInt(playerid, "neon1", CreateObject(18649,0,0,0,0,0,0));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 3:
{
DestroyObject(GetPVarInt(playerid, "neon"));
DeletePVar(playerid, "Status");
DestroyObject(GetPVarInt(playerid, "neon1"));
DeletePVar(playerid, "Status");

SetPVarInt(playerid, "neon", CreateObject(18652,0,0,0,0,0,0));
SetPVarInt(playerid, "neon1", CreateObject(18652,0,0,0,0,0,0));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 4:
{
DestroyObject(GetPVarInt(playerid, "neon"));
DeletePVar(playerid, "Status");
DestroyObject(GetPVarInt(playerid, "neon1"));
DeletePVar(playerid, "Status");

SetPVarInt(playerid, "neon", CreateObject(18651,0,0,0,0,0,0));
SetPVarInt(playerid, "neon1", CreateObject(18651,0,0,0,0,0,0));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 5:
{
DestroyObject(GetPVarInt(playerid, "neon"));
DeletePVar(playerid, "Status");
DestroyObject(GetPVarInt(playerid, "neon1"));
DeletePVar(playerid, "Status");

SetPVarInt(playerid, "neon", CreateObject(18650,0,0,0,0,0,0));
SetPVarInt(playerid, "neon1", CreateObject(18650,0,0,0,0,0,0));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 6:
{
DestroyObject(GetPVarInt(playerid, "neon"));
DeletePVar(playerid, "Status");
DestroyObject(GetPVarInt(playerid, "neon1"));
DeletePVar(playerid, "Status");
}
}

Toda vez ele fica meio rosa .

O que há de errado com este comando ???
command(admins, playerid, params[])
{
if(PlayerInfo[playerid][pLog] == false)return true;
for(new i; i != MAX_PLAYERS; ++i) {
if(PlayerInfo[i][pAdmin] >= 1) {
format(dstring, sizeof dstring,"%s%s - %s \n", dstring, Nome(i), ANome[PlayerInfo[i][pAdmin]]);
}
}
ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Administradores online", dstring, "Fechar", "");
return true;
}

smiiir
27/04/2013, 12:14 PM
1ª, Nunca testei



Acho que o erro está aqui
format(dstring, sizeof dstring,"%s%s - %s \n", dstring, Nome(i), ANome[PlayerInfo[i][pAdmin]]);


Tenta assim
format(dstring, sizeof (dstring),"%s%s - %s \n", dstring, Nome(i), ANome[PlayerInfo[i][pAdmin]]);

Don_Speed
27/04/2013, 02:04 PM
1ª, Nunca testei



Acho que o erro está aqui
format(dstring, sizeof dstring,"%s%s - %s \n", dstring, Nome(i), ANome[PlayerInfo[i][pAdmin]]);


Tenta assim
format(dstring, sizeof (dstring),"%s%s - %s \n", dstring, Nome(i), ANome[PlayerInfo[i][pAdmin]]);


Não muda nada continua a mesma coisa!

Maklister
27/04/2013, 05:33 PM
format(dstring, sizeof (dstring),"%s - %s \n", Nome(i), ANome[PlayerInfo[i][pAdmin]]);


se não der certo me fala, pois não achei a lógica do dstring na formatação da dstring .-.'

Sky™
27/04/2013, 06:37 PM
command(admins, playerid, params[])
{
if(PlayerInfo[playerid][pLog] == false) return true;

new
stri[500],
bool:count = false,
i
;
for(i = (GetMaxPlayers()-1); i > -1; --i)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1)
{
format(dstring, sizeof dstring, "%s - %s \n", Nome(i), ANome[PlayerInfo[i][pAdmin]]);
strcat(stri, dstring);
count = true;
}
}
}
return count == true ? (ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Administradores online", stri, "Fechar", "")) : (ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Administradores online", "Nenhum Administrador Online no Momento.", "Fechar", ""));
}

Don_Speed
27/04/2013, 09:45 PM
command(admins, playerid, params[])
{
if(PlayerInfo[playerid][pLog] == false) return true;

new
stri[500],
bool:count = false,
i
;
for(i = (GetMaxPlayers()-1); i > -1; --i)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1)
{
format(dstring, sizeof dstring, "%s - %s \n", Nome(i), ANome[PlayerInfo[i][pAdmin]]);
strcat(stri, dstring);
count = true;
}
}
}
return count == true ? (ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Administradores online", stri, "Fechar", "")) : (ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Administradores online", "Nenhum Administrador Online no Momento.", "Fechar", ""));
}

Deu não

Sergiinhonike
27/04/2013, 10:04 PM
Uma duvida rapida :)

Qual é o melhor sistema de banco de dados, melhor não, pode ser até um simples em .ini mesmo, mas qual é o mais atual que vocês usam e que acham bom!

E tambem um sistema pra codificar as senhas dos players...

Valeu ;)

EDIT:

@Lós @Maklister
Obrigado por respoderem, estou estudando sobre MySQL e DOF2, já que indicaram...

Lós
27/04/2013, 10:13 PM
Uma duvida rapida :)

Qual é o melhor sistema de banco de dados, melhor não, pode ser até um simples em .ini mesmo, mas qual é o mais atual que vocês usam e que acham bom!

E tambem um sistema pra codificar as senhas dos players...

Valeu ;)

YSI.

Maklister
27/04/2013, 10:15 PM
Uma duvida rapida :)

Qual é o melhor sistema de banco de dados, melhor não, pode ser até um simples em .ini mesmo, mas qual é o mais atual que vocês usam e que acham bom!

E tambem um sistema pra codificar as senhas dos players...

Valeu ;)

o melhor é o MySQL

em arquivos pode usar DOF2

arakuta
28/04/2013, 04:25 PM
Como encripta senha em sha1 com o MySQL?

por exemplo:

CMD:encrypt(playerid)
{
new q[75];
format(q,75,"UPDATE `testes` SET password='%s' WHERE name='%s'",password,pName[playerid]);
mysql_function_query(connection,q,false);
}

Já ouvi dizer que é sha1 '%s'... é isso mesmo??

Maklister
30/04/2013, 09:52 AM
Como encripta senha em sha1 com o MySQL?

por exemplo:

CMD:encrypt(playerid)
{
new q[75];
format(q,75,"UPDATE `testes` SET password='%s' WHERE name='%s'",password,pName[playerid]);
mysql_function_query(connection,q,false);
}

Já ouvi dizer que é sha1 '%s'... é isso mesmo??

Você apenas quer encriptar a password dentro do banco de dados ?

LuxuN
30/04/2013, 01:03 PM
Como encripta senha em sha1 com o MySQL?

por exemplo:

CMD:encrypt(playerid)
{
new q[75];
format(q,75,"UPDATE `testes` SET password='%s' WHERE name='%s'",password,pName[playerid]);
mysql_function_query(connection,q,false);
}

Já ouvi dizer que é sha1 '%s'... é isso mesmo??

eu não ultilizo isso ..

eu uso md5 ou wirpool :)

Jason`
30/04/2013, 11:19 PM
Como encripta senha em sha1 com o MySQL?

por exemplo:

CMD:encrypt(playerid)
{
new q[75];
format(q,75,"UPDATE `testes` SET password='%s' WHERE name='%s'",password,pName[playerid]);
mysql_function_query(connection,q,false);
}

Já ouvi dizer que é sha1 '%s'... é isso mesmo??

format(q,75,"UPDATE `testes` SET password=SHA1('%s') WHERE name='%s'",password,pName[playerid]);


Eu costumo usar o PASSWORD.

format(q,75,"UPDATE `testes` SET password=PASSWORD('%s') WHERE name='%s'",password,pName[playerid]);

RogerMP
01/05/2013, 09:39 PM
oi pessoal, onde acho um script que adicione objetos em veículos do SAMP como nessa imagem?
obs: ja vi um caminhão desse com essas barras laranjas num sv de mata mata
vlw obg!!!
http://i44.tinypic.com/5jwh8l.jpg

FixSkuL
01/05/2013, 09:40 PM
AttachObjectTovehicle - http://wiki.sa-mp.com/wiki/AttachObjectToVehicle

Jason`
03/05/2013, 02:25 AM
Estava lendo sobre properties e pensei o seguinte:


public OnPlayerSpawn(playerid) {

setproperty(playerid, "admin", 5);
return 1;
}


public OnPlayerCommandText(playerid, cmdtext[]) {

if(!strcmp("/kick", cmdtext)) {

if(getproperty(playerid, "admin") >= 5) {

Kick(strval(cmdtext[6]));
}
}
return 0;
}



Pra quem não entendeu, vou ser mais esclarecedor.

Não estou usando as convencionais arrays estruturadas (PlayerInfo) ou mesmo per-player-variables (PVar), mas sim properties, e queria saber:

- Isso pode causar algum problema?
- Caso não, é otimizado fazer isto? Se sim, é mais otimizado do que arrays estruturadas ou pvars?

Alado
03/05/2013, 02:35 AM
Como encripta senha em sha1 com o MySQL?

por exemplo:

CMD:encrypt(playerid)
{
new q[75];
format(q,75,"UPDATE `testes` SET password='%s' WHERE name='%s'",password,pName[playerid]);
mysql_function_query(connection,q,false);
}

Já ouvi dizer que é sha1 '%s'... é isso mesmo??

Seria SHA1('%s') , pelo menos é isso que uso com php.

FixSkuL
03/05/2013, 02:17 PM
Alguem aqui, sabe como eu coloco Aquele negocio preto que mostra em quais tópicos eu ja postei ? Antigamente tinha, não fica mais.

Lós
03/05/2013, 02:24 PM
Alguem aqui, sabe como eu coloco Aquele negocio preto que mostra em quais tópicos eu ja postei ? Antigamente tinha, não fica mais.

http://i.imgur.com/TXhEDrV.png

FixSkuL
03/05/2013, 02:26 PM
Não é esse. Ele fica próximo ao Nickname do ultimo membro que posto no tópico um quadrado preto com um sinal de "corrigido".

Obrigado por responder :)


@EDIT

Fica na mesma posição do "icone de um clip" Que mostra que tem attachments no tópico.

Don_Speed
04/05/2013, 12:59 PM
Grudei uma label no veículo , porem toda vez que eu fico distante do veiculo ela vai entrando na terra !
Tem como deixar ela fixa no veiculo ? Sem se movimentar ?

zSuYaNw
05/05/2013, 08:59 AM
Não é esse. Ele fica próximo ao Nickname do ultimo membro que posto no tópico um quadrado preto com um sinal de "corrigido".

Obrigado por responder :)


@EDIT

Fica na mesma posição do "icone de um clip" Que mostra que tem attachments no tópico.

Acredito que seja este:

http://imageshack.us/scaled/landing/856/thisi.png

É Só em "Edit options" e mudar para:

http://imageshack.us/a/img819/9412/dnv.png

FixSkuL
05/05/2013, 02:50 PM
Valeu :p


-

-

Aproveitando, alguem aqui sabe o id do objeto da cabine da entrada do estacionamento da dp de los santos ?

Godinho
05/05/2013, 05:30 PM
Pessoal preciso de ajuda para proibir o pessoal saltar na bicicleta. Alguém?

FixSkuL
06/05/2013, 01:33 PM
http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange

arakuta
06/05/2013, 10:39 PM
Valeu :p


-

-

Aproveitando, alguem aqui sabe o id do objeto da cabine da entrada do estacionamento da dp de los santos ?

Se você se refere a este objeto:

http://imgur.com/KTOOHGU

É meio difícil usar ele, pois ele vem junto com todo o pátio da DP :S

FixSkuL
07/05/2013, 03:28 AM
Eu queria uma que fosse sozinho, ia fica bem legal oque eu to pensando :P

smiiir
10/05/2013, 03:48 PM
Pode acontecer alguma coisa se eu usar MySQL e DOF2?,

Usar mysql para salvar contas dos players etc..
Usar DOF2 para salvamentos de carros, empresas, casas etc...

ViictorDaay-
10/05/2013, 04:01 PM
Pode acontecer alguma coisa se eu usar MySQL e DOF2?,

Usar mysql para salvar contas dos players etc..
Usar DOF2 para salvamentos de carros, empresas, casas etc...

Não.

smiiir
10/05/2013, 04:05 PM
Não.

Vlw

Reputado

Godinho
12/05/2013, 06:24 PM
Eu tenho um GameMode já com campos no ficheiro de conta, da chave 1 a 6. Como faço para aumentar para 12 chaves? O Problema é que ja tenho jogadores registados e não posso mudar 1 a 1.

tonisantolia
15/05/2013, 01:12 AM
Estou meio enferrujado.. Tenho um script que não está funcionando, alguem arruma?
CallBack::OnPlayerUpdateEx(playerid) {
new
Lataria[128],
Float:latarias;
GetVehicleHealth(GetPlayerVehicleID(playerid), latarias);
new lataria = lataria/10;
if(IsPlayerInAnyVehicle(playerid)) {
for(new i = 0; i < sizeof Velocimetro; i++) {
TextDrawShowForPlayer(playerid, Velocimetro[i]);
}
if(90 >= lataria <= 100) Lataria = "----------";
else if(80 >= lataria <= 90) Lataria = "---------";
else if(70 >= lataria <= 80) Lataria = "--------";
else if(60 >= lataria <= 70) Lataria = "-------";
else if(50 >= lataria <= 60) Lataria = "------";
else if(40 >= lataria <= 50) Lataria = "-----";
else if(30 >= lataria <= 40) Lataria = "----";
else if(20 >= lataria <= 30) Lataria = "---";
else if(10 >= lataria <= 20) Lataria = "--";
else if(0 >= lataria <= 10) Lataria = "-";
else if(lataria <= 0) Lataria = "~r~Este veiculo ira explodir!~w~";
format(str, sizeof str, "%s~n~%s",Nome_Veiculos[GetVehicleModel(GetPlayerVehicleID(playerid))-400],Lataria);
TextDrawSetString(Velocimetro[3],str);
}
else if(!IsPlayerInAnyVehicle(playerid)) {
for(new i = 0; i < sizeof Velocimetro; i++) {
TextDrawHideForPlayer(playerid, Velocimetro[i]);
}
}
return 1;
}

Supera
15/05/2013, 01:50 AM
Não entendi bem o seu script, vê se vai
CallBack::OnPlayerUpdateEx(playerid) {
new
Lataria[128],
Float:latarias;
GetVehicleHealth(GetPlayerVehicleID(playerid), latarias);
new lataria = floatround(latarias,floatround_floor);
if(IsPlayerInAnyVehicle(playerid)) {
for(new i = 0; i < sizeof Velocimetro; i++) {
TextDrawShowForPlayer(playerid, Velocimetro[i]);
}
if(90 <= lataria <= 100) Lataria = "----------";
else if(80 <= lataria <= 90) Lataria = "---------";
else if(70 <= lataria <= 80) Lataria = "--------";
else if(60 <= lataria <= 70) Lataria = "-------";
else if(50 <= lataria <= 60) Lataria = "------";
else if(40 <= lataria <= 50) Lataria = "-----";
else if(30 <= lataria <= 40) Lataria = "----";
else if(20 <= lataria <= 30) Lataria = "---";
else if(10 <= lataria <= 20) Lataria = "--";
else if(0 <= lataria <= 10) Lataria = "-";
else if(lataria <= 0) Lataria = "~r~Este veiculo ira explodir!~w~";
format(str, sizeof str, "%s~n~%s",Nome_Veiculos[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
TextDrawSetString(Velocimetro[3],str);
}
else if(!IsPlayerInAnyVehicle(playerid)) {
for(new i = 0; i < sizeof Velocimetro; i++) {
TextDrawHideForPlayer(playerid, Velocimetro[i]);
}
}
return 1;
}

tonisantolia
15/05/2013, 01:56 AM
Não entendi bem o seu script, vê se vai
CallBack::OnPlayerUpdateEx(playerid) {
new
Lataria[128],
Float:latarias;
GetVehicleHealth(GetPlayerVehicleID(playerid), latarias);
new lataria = floatround(latarias,floatround_floor);
if(IsPlayerInAnyVehicle(playerid)) {
for(new i = 0; i < sizeof Velocimetro; i++) {
TextDrawShowForPlayer(playerid, Velocimetro[i]);
}
if(90 <= lataria <= 100) Lataria = "----------";
else if(80 <= lataria <= 90) Lataria = "---------";
else if(70 <= lataria <= 80) Lataria = "--------";
else if(60 <= lataria <= 70) Lataria = "-------";
else if(50 <= lataria <= 60) Lataria = "------";
else if(40 <= lataria <= 50) Lataria = "-----";
else if(30 <= lataria <= 40) Lataria = "----";
else if(20 <= lataria <= 30) Lataria = "---";
else if(10 <= lataria <= 20) Lataria = "--";
else if(0 <= lataria <= 10) Lataria = "-";
else if(lataria <= 0) Lataria = "~r~Este veiculo ira explodir!~w~";
format(str, sizeof str, "%s~n~%s",Nome_Veiculos[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
TextDrawSetString(Velocimetro[3],str);
}
else if(!IsPlayerInAnyVehicle(playerid)) {
for(new i = 0; i < sizeof Velocimetro; i++) {
TextDrawHideForPlayer(playerid, Velocimetro[i]);
}
}
return 1;
}
Já tinha resolvido thanks.

AlucardSnow
18/05/2013, 05:56 PM
Galera, eu to com um erro aqui em meu salvamento MySQL.

Se você setar os dados no phpmyadmin ele quando conecta esta tudo certinho.
Mais quando da /q ele volta o valor anterior da conta, não salva.

Creio que o erro esteja em MySQL_SaveAccount, pois isso aconteçe quando da /q e se eu setar os dados no phpmyadmin eles vão certinho.

#include < a_samp >
#include < a_mysql >
#include < zcmd >
#include < sscanf >
#include < streamer >

#define xBranco 0xFFFFFFFF

#define MAX_SOLTS (25)
#define D_LOGIN 1
#define D_REGISTER 2



new const
mysql_host[] = "localhost",
mysql_user[] = "root",
mysql_database[] = "contas",
mysql_password[] = "";

new Query[500];
new MysqlC;

new PlayerName[25];

enum pInfo{
pLevel,
pMoney,
pCash,
pSkin,
pWarn
};

new PlayerInfo[MAX_SOLTS][pInfo];
new xCarro[MAX_PLAYERS];

main()
{
print("=========================================\n");
print("Servidor Iniciado.");
print("=========================================\n");
}

public OnGameModeInit()
{
MySQL_Start();

CreateObject(4504,1736.5000000,548.2000100,28.4000 000,0.0000000,0.0000000,72.0000000);
CreateObject(4504,1754.5000000,543.0999800,28.4000 000,0.0000000,0.0000000,71.9990000);
CreateObject(4504,2765.3000500,608.0000000,9.90000 00,0.0000000,0.0000000,88.0000000);
CreateObject(4504,430.0000000,600.2999900,20.30000 00,0.0000000,0.0000000,122.0000000);
CreateObject(4504,-140.2000000,478.2000100,13.8000000,0.0000000,0.000 0000,72.0000000);
CreateObject(4504,-1028.1999500,933.4000200,36.3000000,0.0000000,0.00 00000,34.0000000);
CreateObject(4504,-1143.0000000,1111.8000500,39.9000000,0.0000000,0.0 000000,48.0000000);
CreateObject(4504,-1128.8000500,1099.9000200,39.9000000,0.0000000,0.0 000000,47.9990000);
CreateObject(4504,-2692.0000000,2072.6999500,57.2000000,0.0000000,0.0 000000,90.0000000);
CreateObject(4504,-2673.3000500,2073.3999000,57.2000000,0.0000000,0.0 000000,90.0000000);
return 1;
}

public OnGameModeExit()
{
return 1;
}

public OnPlayerConnect(playerid)
{
MySQL_CheckAccount(playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][pLevel] = GetPlayerScore(playerid);
PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);

MySQL_SaveAccount(playerid);
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid){
case D_LOGIN:{
if(!response)
Kick(playerid);
else {
if(strlen(inputtext) < 4)
return ShowPlayerDialog(playerid,D_LOGIN,3,"login","insira a sua password para logar","logar","sair");
else
MySQL_CheckPassword(playerid,inputtext);
}
}
case D_REGISTER:{
if(!response)
Kick(playerid);
else {
if( 4 < (strlen(inputtext)) > 25)
return ShowPlayerDialog(playerid,D_REGISTER,3,"registro","insira uma password para registrar","registrar","sair");
else
MySQL_CreateAccount(playerid,inputtext);
}
}
}
return 1;
}

forward MySQL_Start();
forward [email protected]_Start(text[]);

forward MySQL_CheckAccount(playerid);
forward [email protected]_CheckAccount(playerid);

forward MySQL_CheckPassword(playerid,password[]);
forward [email protected]_CheckPassword(playerid);

forward MySQL_CreateAccount(playerid,password[]);
forward [email protected]_CreateAccount(playerid);

forward MySQL_LoadAccount(playerid);
forward [email protected]_LoadAccount(playerid);

forward MySQL_SaveAccount(playerid);
forward [email protected]_SaveAccount(playerid);

forward PlayerSpawn(playerid);

public MySQL_Start(){
MysqlC = mysql_connect(mysql_host,mysql_user,mysql_database ,mysql_password);
if(!MysqlC)
return print("Não foi possivel conectar a database, verifique as definições novamente.");
else {
mysql_function_query(MysqlC,
"CREATE TABLE IF NOT EXISTS `users` (\
`id` int(11) NOT NULL, AUTO_INCREMENT,\
`name` varchar(25) NOT NULL, \
`password` varchar(25) NOT NULL, \
`level` int(11) NOT NULL, \
`cash` int(11) NOT NULL, \
`skin` int(11) NOT NULL, \
`money` int(11) NOT NULL, \
PRIMARY KEY(`id`)\
)",false,"[email protected]_Start","s","users");
}
return 1;
}

public [email protected]_Start(text[])
return printf("Tabela %s verificada com sucesso.",text);

public MySQL_CheckAccount(playerid){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"SELECT * FROM `users` WHERE name='%s'",PlayerName);
mysql_function_query(MysqlC,Query,true,"[email protected]_CheckAccount","d",playerid);
return 1;
}

public [email protected]_CheckAccount(playerid){
new rows,fields;
cache_get_data(rows,fields,MysqlC);
if(rows){
ShowPlayerDialog(playerid,D_LOGIN,3,"login","insira a sua password para logar","logar","sair");
} else {
ShowPlayerDialog(playerid,D_REGISTER,3,"registro","insira uma password para registrar","registrar","sair");
}
return 1;
}

public MySQL_CheckPassword(playerid,password[]){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"SELECT * FROM `users` WHERE name='%s' AND password='%s'",PlayerName,password);
mysql_function_query(MysqlC,Query,true,"[email protected]_CheckPassword","ds",playerid);
return 1;
}

public [email protected]_CheckPassword(playerid){
new rows,fields;
cache_get_data(rows,fields,MysqlC);
if(rows)
MySQL_LoadAccount(playerid);
else
ShowPlayerDialog(playerid,D_LOGIN,3,"login","insira a sua password para logar","logar","sair");
return 1;
}

public MySQL_CreateAccount(playerid,password[]){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"INSERT INTO `users` (name,password,level,money,cash,skin) VALUES ('%s','%s','0','500','500','240');",PlayerName,password);
mysql_function_query(MysqlC,Query,true,"[email protected]_CreateAccount","s",playerid);
return 1;
}

public [email protected]_CreateAccount(playerid){
SendClientMessage(playerid,-1,"Registrado com sucesso, aguarde um pouco...");
MySQL_LoadAccount(playerid);
return 1;
}

public MySQL_LoadAccount(playerid){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"SELECT * FROM `users` WHERE name='%s'",PlayerName);
mysql_function_query(MysqlC,Query,true,"[email protected]_LoadAccount","d",playerid);
return 1;
}

public [email protected]_LoadAccount(playerid){
new rows,fields;
cache_get_data(rows,fields,MysqlC);
if(rows){
cache_get_field_content(0,"level",Query,MysqlC);
PlayerInfo[playerid][pLevel] = strval(Query);

cache_get_field_content(0,"money",Query,MysqlC);
PlayerInfo[playerid][pMoney] = strval(Query);

cache_get_field_content(0,"cash",Query,MysqlC);
PlayerInfo[playerid][pCash] = strval(Query);

cache_get_field_content(0,"skin",Query,MysqlC);
PlayerInfo[playerid][pSkin] = strval(Query);

PlayerSpawn(playerid);
}
else
SendClientMessage(playerid,-1,"Houve um erro com a sua conta"),Kick(playerid);
return 1;
}

public PlayerSpawn(playerid){
SpawnPlayer(playerid);

GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]);
SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);
SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);

SetPlayerPos(playerid, 2257.1907, -88.5199, 26.4844);
SendClientMessage(playerid,-1,"Seja bem vindo!");
return 1;
}

public MySQL_SaveAccount(playerid){
GetPlayerName(playerid,PlayerName,25);

format(Query,sizeof(Query),"UPDATE ´users` SET level='%d', money='%d', cash='%d', skin='%d' WHERE player='%s'",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pCash],PlayerInfo[playerid][pSkin],PlayerName);
mysql_function_query(MysqlC,Query,false,"[email protected]_SaveAccount","d",playerid);
return 1;
}

public [email protected]_SaveAccount(playerid)
return printf("Conta %d salva com sucesso.",playerid);


CMD:givemoney(playerid, params[]) { GivePlayerMoney(playerid, 10000); return 1; }
CMD:level(playerid) { SetPlayerScore(playerid, 50); return 1; }
CMD:skin(playerid) { SetPlayerSkin(playerid, 23); return 1; }

CMD:v(playerid, params[])
{
static xCar, Float:X, Float:Y, Float:Z, xCor, xCor2, Float:Angle;

if(sscanf(params, "ddd", xCar, xCor, xCor2)) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Use: /v [id carro] [cor1] [cor2].");

if(xCar < 400 || xCar > 611) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Carros válidos: {00ff00}400 {ffffff}à {00ff00}611{ffffff}.");

if(xCor < 0 || xCor > 255) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Cores válidas: {00ff00}0 {ffffff}à {00ff00}255{ffffff}.");

if(xCor2 < 0 || xCor2 > 255) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Cores válidas²: {00ff00}0 {ffffff}à {00ff00}255{ffffff}.");

if(xCarro[playerid] != 0) DestroyVehicle(xCarro[playerid]);

GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);

xCarro[playerid] = AddStaticVehicleEx(xCar, X, Y, Z, Angle, xCor, xCor2, -1);
PutPlayerInVehicle(playerid, xCarro[playerid], 0);

return 1;

}

Jason`
18/05/2013, 06:33 PM
Galera, eu to com um erro aqui em meu salvamento MySQL.

Se você setar os dados no phpmyadmin ele quando conecta esta tudo certinho.
Mais quando da /q ele volta o valor anterior da conta, não salva.

Creio que o erro esteja em MySQL_SaveAccount, pois isso aconteçe quando da /q e se eu setar os dados no phpmyadmin eles vão certinho.

#include < a_samp >
#include < a_mysql >
#include < zcmd >
#include < sscanf >
#include < streamer >

#define xBranco 0xFFFFFFFF

#define MAX_SOLTS (25)
#define D_LOGIN 1
#define D_REGISTER 2



new const
mysql_host[] = "localhost",
mysql_user[] = "root",
mysql_database[] = "contas",
mysql_password[] = "";

new Query[500];
new MysqlC;

new PlayerName[25];

enum pInfo{
pLevel,
pMoney,
pCash,
pSkin,
pWarn
};

new PlayerInfo[MAX_SOLTS][pInfo];
new xCarro[MAX_PLAYERS];

main()
{
print("=========================================\n");
print("Servidor Iniciado.");
print("=========================================\n");
}

public OnGameModeInit()
{
MySQL_Start();

CreateObject(4504,1736.5000000,548.2000100,28.4000 000,0.0000000,0.0000000,72.0000000);
CreateObject(4504,1754.5000000,543.0999800,28.4000 000,0.0000000,0.0000000,71.9990000);
CreateObject(4504,2765.3000500,608.0000000,9.90000 00,0.0000000,0.0000000,88.0000000);
CreateObject(4504,430.0000000,600.2999900,20.30000 00,0.0000000,0.0000000,122.0000000);
CreateObject(4504,-140.2000000,478.2000100,13.8000000,0.0000000,0.000 0000,72.0000000);
CreateObject(4504,-1028.1999500,933.4000200,36.3000000,0.0000000,0.00 00000,34.0000000);
CreateObject(4504,-1143.0000000,1111.8000500,39.9000000,0.0000000,0.0 000000,48.0000000);
CreateObject(4504,-1128.8000500,1099.9000200,39.9000000,0.0000000,0.0 000000,47.9990000);
CreateObject(4504,-2692.0000000,2072.6999500,57.2000000,0.0000000,0.0 000000,90.0000000);
CreateObject(4504,-2673.3000500,2073.3999000,57.2000000,0.0000000,0.0 000000,90.0000000);
return 1;
}

public OnGameModeExit()
{
return 1;
}

public OnPlayerConnect(playerid)
{
MySQL_CheckAccount(playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][pLevel] = GetPlayerScore(playerid);
PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);

MySQL_SaveAccount(playerid);
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid){
case D_LOGIN:{
if(!response)
Kick(playerid);
else {
if(strlen(inputtext) < 4)
return ShowPlayerDialog(playerid,D_LOGIN,3,"login","insira a sua password para logar","logar","sair");
else
MySQL_CheckPassword(playerid,inputtext);
}
}
case D_REGISTER:{
if(!response)
Kick(playerid);
else {
if( 4 < (strlen(inputtext)) > 25)
return ShowPlayerDialog(playerid,D_REGISTER,3,"registro","insira uma password para registrar","registrar","sair");
else
MySQL_CreateAccount(playerid,inputtext);
}
}
}
return 1;
}

forward MySQL_Start();
forward [email protected]_Start(text[]);

forward MySQL_CheckAccount(playerid);
forward [email protected]_CheckAccount(playerid);

forward MySQL_CheckPassword(playerid,password[]);
forward [email protected]_CheckPassword(playerid);

forward MySQL_CreateAccount(playerid,password[]);
forward [email protected]_CreateAccount(playerid);

forward MySQL_LoadAccount(playerid);
forward [email protected]_LoadAccount(playerid);

forward MySQL_SaveAccount(playerid);
forward [email protected]_SaveAccount(playerid);

forward PlayerSpawn(playerid);

public MySQL_Start(){
MysqlC = mysql_connect(mysql_host,mysql_user,mysql_database ,mysql_password);
if(!MysqlC)
return print("Não foi possivel conectar a database, verifique as definições novamente.");
else {
mysql_function_query(MysqlC,
"CREATE TABLE IF NOT EXISTS `users` (\
`id` int(11) NOT NULL, AUTO_INCREMENT,\
`name` varchar(25) NOT NULL, \
`password` varchar(25) NOT NULL, \
`level` int(11) NOT NULL, \
`cash` int(11) NOT NULL, \
`skin` int(11) NOT NULL, \
`money` int(11) NOT NULL, \
PRIMARY KEY(`id`)\
)",false,"[email protected]_Start","s","users");
}
return 1;
}

public [email protected]_Start(text[])
return printf("Tabela %s verificada com sucesso.",text);

public MySQL_CheckAccount(playerid){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"SELECT * FROM `users` WHERE name='%s'",PlayerName);
mysql_function_query(MysqlC,Query,true,"[email protected]_CheckAccount","d",playerid);
return 1;
}

public [email protected]_CheckAccount(playerid){
new rows,fields;
cache_get_data(rows,fields,MysqlC);
if(rows){
ShowPlayerDialog(playerid,D_LOGIN,3,"login","insira a sua password para logar","logar","sair");
} else {
ShowPlayerDialog(playerid,D_REGISTER,3,"registro","insira uma password para registrar","registrar","sair");
}
return 1;
}

public MySQL_CheckPassword(playerid,password[]){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"SELECT * FROM `users` WHERE name='%s' AND password='%s'",PlayerName,password);
mysql_function_query(MysqlC,Query,true,"[email protected]_CheckPassword","ds",playerid);
return 1;
}

public [email protected]_CheckPassword(playerid){
new rows,fields;
cache_get_data(rows,fields,MysqlC);
if(rows)
MySQL_LoadAccount(playerid);
else
ShowPlayerDialog(playerid,D_LOGIN,3,"login","insira a sua password para logar","logar","sair");
return 1;
}

public MySQL_CreateAccount(playerid,password[]){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"INSERT INTO `users` (name,password,level,money,cash,skin) VALUES ('%s','%s','0','500','500','240');",PlayerName,password);
mysql_function_query(MysqlC,Query,true,"[email protected]_CreateAccount","s",playerid);
return 1;
}

public [email protected]_CreateAccount(playerid){
SendClientMessage(playerid,-1,"Registrado com sucesso, aguarde um pouco...");
MySQL_LoadAccount(playerid);
return 1;
}

public MySQL_LoadAccount(playerid){
GetPlayerName(playerid,PlayerName,25);
format(Query,sizeof(Query),"SELECT * FROM `users` WHERE name='%s'",PlayerName);
mysql_function_query(MysqlC,Query,true,"[email protected]_LoadAccount","d",playerid);
return 1;
}

public [email protected]_LoadAccount(playerid){
new rows,fields;
cache_get_data(rows,fields,MysqlC);
if(rows){
cache_get_field_content(0,"level",Query,MysqlC);
PlayerInfo[playerid][pLevel] = strval(Query);

cache_get_field_content(0,"money",Query,MysqlC);
PlayerInfo[playerid][pMoney] = strval(Query);

cache_get_field_content(0,"cash",Query,MysqlC);
PlayerInfo[playerid][pCash] = strval(Query);

cache_get_field_content(0,"skin",Query,MysqlC);
PlayerInfo[playerid][pSkin] = strval(Query);

PlayerSpawn(playerid);
}
else
SendClientMessage(playerid,-1,"Houve um erro com a sua conta"),Kick(playerid);
return 1;
}

public PlayerSpawn(playerid){
SpawnPlayer(playerid);

GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]);
SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);
SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);

SetPlayerPos(playerid, 2257.1907, -88.5199, 26.4844);
SendClientMessage(playerid,-1,"Seja bem vindo!");
return 1;
}

public MySQL_SaveAccount(playerid){
GetPlayerName(playerid,PlayerName,25);

format(Query,sizeof(Query),"UPDATE ´users` SET level='%d', money='%d', cash='%d', skin='%d' WHERE player='%s'",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pCash],PlayerInfo[playerid][pSkin],PlayerName);
mysql_function_query(MysqlC,Query,false,"[email protected]_SaveAccount","d",playerid);
return 1;
}

public [email protected]_SaveAccount(playerid)
return printf("Conta %d salva com sucesso.",playerid);


CMD:givemoney(playerid, params[]) { GivePlayerMoney(playerid, 10000); return 1; }
CMD:level(playerid) { SetPlayerScore(playerid, 50); return 1; }
CMD:skin(playerid) { SetPlayerSkin(playerid, 23); return 1; }

CMD:v(playerid, params[])
{
static xCar, Float:X, Float:Y, Float:Z, xCor, xCor2, Float:Angle;

if(sscanf(params, "ddd", xCar, xCor, xCor2)) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Use: /v [id carro] [cor1] [cor2].");

if(xCar < 400 || xCar > 611) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Carros válidos: {00ff00}400 {ffffff}à {00ff00}611{ffffff}.");

if(xCor < 0 || xCor > 255) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Cores válidas: {00ff00}0 {ffffff}à {00ff00}255{ffffff}.");

if(xCor2 < 0 || xCor2 > 255) return SendClientMessage(playerid, xBranco, "{ff0000}» {ffffff}Cores válidas²: {00ff00}0 {ffffff}à {00ff00}255{ffffff}.");

if(xCarro[playerid] != 0) DestroyVehicle(xCarro[playerid]);

GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);

xCarro[playerid] = AddStaticVehicleEx(xCar, X, Y, Z, Angle, xCor, xCor2, -1);
PutPlayerInVehicle(playerid, xCarro[playerid], 0);

return 1;

}



Tente o seguinte:



public MySQL_SaveAccount(playerid){
GetPlayerName(playerid,PlayerName,25);

format(Query,sizeof(Query),"UPDATE `users` SET level='%d', money='%d', cash='%d', skin='%d' WHERE player='%s'",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pCash],PlayerInfo[playerid][pSkin],PlayerName);
mysql_function_query(MysqlC,Query,false,"[email protected]_SaveAccount","d",playerid);
return 1;
}

AlucardSnow
18/05/2013, 06:40 PM
Tente o seguinte:



public MySQL_SaveAccount(playerid){
GetPlayerName(playerid,PlayerName,25);

format(Query,sizeof(Query),"UPDATE `users` SET level='%d', money='%d', cash='%d', skin='%d' WHERE player='%s'",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pCash],PlayerInfo[playerid][pSkin],PlayerName);
mysql_function_query(MysqlC,Query,false,"[email protected]_SaveAccount","d",playerid);
return 1;
}


Continuou o mesmo, nenhum resultado =(

iHarzard
19/05/2013, 01:30 PM
Como retirar as armas do player quando ele sair do Morro de LS?

AlucardSnow
19/05/2013, 05:02 PM
Ae, alguem sabe resolver esse error?

[14:01:38] 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`name` varchar(25) NOT NULL,`password` varchar(25) NOT NULL,`level` int(11) NOT ' at line 1 [email protected]_Start CREATE TABLE IF NOT EXISTS `users` (`id` int(11) NOT NULL, AUTO_INCREMENT,`name` varchar(25) NOT NULL,`password` varchar(25) NOT NULL,`level` int(11) NOT NULL,`cash` int(11) NOT NULL,`skin` int(11) NOT NULL,`money` int(11) NOT NULL,PRIMARY KEY(`id`)) 1


Linha:

public MySQL_Start(){
MysqlC = mysql_connect(mysql_host,mysql_user,mysql_database ,mysql_password);
if(!MysqlC)
return print("Não foi possivel conectar a database, verifique as definições novamente.");
else {
mysql_function_query(MysqlC,
"CREATE TABLE IF NOT EXISTS `users` (\
`id` int(11) NOT NULL, AUTO_INCREMENT,\
`name` varchar(25) NOT NULL,\
`password` varchar(25) NOT NULL,\
`level` int(11) NOT NULL,\
`cash` int(11) NOT NULL,\
`skin` int(11) NOT NULL,\
`money` int(11) NOT NULL,\
PRIMARY KEY(`id`)\
)",false,"[email protected]_Start","s","users");
}
return 1;
}

Lós
19/05/2013, 05:18 PM
Como retirar as armas do player quando ele sair do Morro de LS?

ResetPlayerWeapons (http://wiki.sa-mp.com/wiki/ResetPlayerWeapons)

iHarzard
19/05/2013, 06:07 PM
ResetPlayerWeapons (http://wiki.sa-mp.com/wiki/ResetPlayerWeapons)

Sim, mas como vai pegar a Pos do morro para retirar as armas? :confused:

Schocc
19/05/2013, 07:51 PM
Sim, mas como vai pegar a Pos do morro para retirar as armas? :confused:
GetPlayerPos (wiki.sa-mp.com/wiki/GetPlayerPos)
IsPlayerInRangeOfPoint (http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint)

Jason`
19/05/2013, 10:23 PM
Ae, alguem sabe resolver esse error?

[14:01:38] 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`name` varchar(25) NOT NULL,`password` varchar(25) NOT NULL,`level` int(11) NOT ' at line 1 [email protected]_Start CREATE TABLE IF NOT EXISTS `users` (`id` int(11) NOT NULL, AUTO_INCREMENT,`name` varchar(25) NOT NULL,`password` varchar(25) NOT NULL,`level` int(11) NOT NULL,`cash` int(11) NOT NULL,`skin` int(11) NOT NULL,`money` int(11) NOT NULL,PRIMARY KEY(`id`)) 1


Linha:

public MySQL_Start(){
MysqlC = mysql_connect(mysql_host,mysql_user,mysql_database ,mysql_password);
if(!MysqlC)
return print("Não foi possivel conectar a database, verifique as definições novamente.");
else {
mysql_function_query(MysqlC,
"CREATE TABLE IF NOT EXISTS `users` (\
`id` int(11) NOT NULL, AUTO_INCREMENT,\
`name` varchar(25) NOT NULL,\
`password` varchar(25) NOT NULL,\
`level` int(11) NOT NULL,\
`cash` int(11) NOT NULL,\
`skin` int(11) NOT NULL,\
`money` int(11) NOT NULL,\
PRIMARY KEY(`id`)\
)",false,"[email protected]_Start","s","users");
}
return 1;
}



Erro: `id` int(11) NOT NULL, AUTO_INCREMENT,\
Correto: `id` int(11) NOT NULL AUTO_INCREMENT,\

iHarzard
19/05/2013, 11:15 PM
GetPlayerPos (wiki.sa-mp.com/wiki/GetPlayerPos)
IsPlayerInRangeOfPoint (http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint)

Obrigado, consegui fazer aqui.
Agora como posso usar? Tentei usar em OnPlayerUpdate, mas fica "floodando" direto! :(

zSuYaNw
20/05/2013, 04:44 PM
Obrigado, consegui fazer aqui.
Agora como posso usar? Tentei usar em OnPlayerUpdate, mas fica "floodando" direto! :(

Use variáveis boorleanas (true | false).

tonisantolia
25/05/2013, 07:58 PM
Como calcula porcentagem msm?

Delete_
26/05/2013, 12:19 AM
Como calcula porcentagem msm?

Valor*100

_____

Por que não geta a skin do player?

PlayerTextDrawSetPreviewModel(playerid, Boxstatus1[playerid], GetPlayerSkin(playerid));

Só geta a skin do CJ, ou seja, a skin 0.

tonisantolia
26/05/2013, 12:40 AM
Valor*100

_____

Por que não geta a skin do player?

PlayerTextDrawSetPreviewModel(playerid, Boxstatus1[playerid], GetPlayerSkin(playerid));

Só geta a skin do CJ, ou seja, a skin 0.

Valor*100 tenho certeza que não irá dar o valor da porcentagem.

Jason`
26/05/2013, 10:44 AM
Como calcula porcentagem msm?


#define percent(%0,%1) ((%1 * %0) / 100)



Uso:
percent(porcentagem, total)

Exemplo:
printf("%d", percent(20, 10)); // vinte por cento de dez

Jumper.
29/05/2013, 12:27 AM
Como faço para ver qual valor de uma variável é maior? Como um sistema de ranking??
Por exemplo:
Variavel[player1] = 50
Variavel[player2] = 10
Variavel[player3] = 25

Como saber qual player tem o valor maior?

Supera
29/05/2013, 01:52 AM
Como faço para ver qual valor de uma variável é maior? Como um sistema de ranking??
Por exemplo:
Variavel[player1] = 50
Variavel[player2] = 10
Variavel[player3] = 25

Como saber qual player tem o valor maior?

Exemplo

new GetarValor;
for(new i = 0; i != MAX_PLAYERS; i++)
{
if(GetarValor < GetPlayerScore(i))
{
GetarValor = GetPlayerScore(i);
}
}

Jumper.
30/05/2013, 03:00 AM
Exemplo

new GetarValor;
for(new i = 0; i != MAX_PLAYERS; i++)
{
if(GetarValor < GetPlayerScore(i))
{
GetarValor = GetPlayerScore(i);
}
}

Acho que entendi, mas de inicio, o "getarvalor" assume o valor zero e qualquer um pode ficar a cima sem ser o maior, mas isso se normaliza apartir da segunda utilização certo?

mau.tito
30/05/2013, 01:06 PM
Como indentifico se o player fico com o veiculo 10 segundos parado no mesmo lugar ???

Maklister
30/05/2013, 03:11 PM
Como indentifico se o player fico com o veiculo 10 segundos parado no mesmo lugar ???

se quiser usar settimer é fácil,

SetTimerEx
strcmp
GetPlayerPos
GetPlayerVehicleID
GetPlayerVelocity

tonisantolia
31/05/2013, 04:12 AM
Como se faz para que a textdraw clicavel só faça a ação designada a mesma quando clicar exatamente em cima dela? Porque quando clico muito ao lado dela ela faz a ação do msm jeito :s
Barra[playerid][1] = CreatePlayerTextDraw(playerid, 98.000000, 434.000000, "~w~GPS");
PlayerTextDrawBackgroundColor(playerid, Barra[playerid][1], 255);
PlayerTextDrawFont(playerid, Barra[playerid][1], 2);
PlayerTextDrawLetterSize(playerid, Barra[playerid][1], 0.180000, 1.000000);
PlayerTextDrawColor(playerid, Barra[playerid][1], -1);
PlayerTextDrawSetOutline(playerid, Barra[playerid][1], 0);
PlayerTextDrawSetProportional(playerid, Barra[playerid][1], 1);
PlayerTextDrawSetShadow(playerid, Barra[playerid][1], 1);

Help?

Jason`
01/06/2013, 05:45 PM
Os ícones em vermelho em Last Reputation Received tratam-se de pontos negativos, certo?

SampSampa
01/06/2013, 05:47 PM
Os ícones em vermelho em Last Reputation Received tratam-se de pontos negativos, certo?

Sim, e os verdes positivos, e os cinZas, incontáveis!

Jason`
01/06/2013, 05:50 PM
Reputação não me interessa, mas observei que venho recebendo pontos negativos por coisas que contesto e até em um release que fiz. Isso mostra que parte dos membros realmente são providos de uma mentalidade altamente pueril.

tonisantolia
02/06/2013, 03:29 AM
Como se faz para que a textdraw clicavel só faça a ação designada a mesma quando clicar exatamente em cima dela? Porque quando clico muito ao lado dela ela faz a ação do msm jeito :s
Barra[playerid][1] = CreatePlayerTextDraw(playerid, 98.000000, 434.000000, "~w~GPS");
PlayerTextDrawBackgroundColor(playerid, Barra[playerid][1], 255);
PlayerTextDrawFont(playerid, Barra[playerid][1], 2);
PlayerTextDrawLetterSize(playerid, Barra[playerid][1], 0.180000, 1.000000);
PlayerTextDrawColor(playerid, Barra[playerid][1], -1);
PlayerTextDrawSetOutline(playerid, Barra[playerid][1], 0);
PlayerTextDrawSetProportional(playerid, Barra[playerid][1], 1);
PlayerTextDrawSetShadow(playerid, Barra[playerid][1], 1);

Help?


Help?

mau.tito
02/06/2013, 01:23 PM
Como se faz para que a textdraw clicavel só faça a ação designada a mesma quando clicar exatamente em cima dela? Porque quando clico muito ao lado dela ela faz a ação do msm jeito :s
Barra[playerid][1] = CreatePlayerTextDraw(playerid, 98.000000, 434.000000, "~w~GPS");
PlayerTextDrawBackgroundColor(playerid, Barra[playerid][1], 255);
PlayerTextDrawFont(playerid, Barra[playerid][1], 2);
PlayerTextDrawLetterSize(playerid, Barra[playerid][1], 0.180000, 1.000000);
PlayerTextDrawColor(playerid, Barra[playerid][1], -1);
PlayerTextDrawSetOutline(playerid, Barra[playerid][1], 0);
PlayerTextDrawSetProportional(playerid, Barra[playerid][1], 1);
PlayerTextDrawSetShadow(playerid, Barra[playerid][1], 1);

Help?

Si eu intendi , é isto???

TextDrawSetSelectable(TXD, false/true);

Jason`
02/06/2013, 04:57 PM
Não, ele quer limitar a área de clique. Acredito que, até então, não é possível.

AlucardSnow
02/06/2013, 05:07 PM
Ae galera, como desativa quando morre perder U$100,00 ??
Isso já vem no new.pwn, mais eu nem sei como tirar.
Obs: Tem nada na OnPlayerDeath de dinheiro...

mau.tito
02/06/2013, 05:15 PM
Ae galera, como desativa quando morre perder U$100,00 ??
Isso já vem no new.pwn, mais eu nem sei como tirar.
Obs: Tem nada na OnPlayerDeath de dinheiro...

isto não vem com new.pwn veja se seu gm não tem FS que tenha isto !

Supera
02/06/2013, 06:03 PM
Como se faz para que a textdraw clicavel só faça a ação designada a mesma quando clicar exatamente em cima dela? Porque quando clico muito ao lado dela ela faz a ação do msm jeito :s
Barra[playerid][1] = CreatePlayerTextDraw(playerid, 98.000000, 434.000000, "~w~GPS");
PlayerTextDrawBackgroundColor(playerid, Barra[playerid][1], 255);
PlayerTextDrawFont(playerid, Barra[playerid][1], 2);
PlayerTextDrawLetterSize(playerid, Barra[playerid][1], 0.180000, 1.000000);
PlayerTextDrawColor(playerid, Barra[playerid][1], -1);
PlayerTextDrawSetOutline(playerid, Barra[playerid][1], 0);
PlayerTextDrawSetProportional(playerid, Barra[playerid][1], 1);
PlayerTextDrawSetShadow(playerid, Barra[playerid][1], 1);

Help?


Isso acontece porque você está usando a função " CreatePlayerTextdraw ", nela não é possivel definir um eixo X e Y para tornar clicavel . Crie a textdraw usando " CreateTextDraw " e ai você define o eixo X e Y para tornar clicavel na função " TextDrawTextSize "

Jason`
02/06/2013, 06:42 PM
Isso acontece porque você está usando a função " CreatePlayerTextdraw ", nela não é possivel definir um eixo X e Y para tornar clicavel . Crie a textdraw usando " CreateTextDraw " e ai você define o eixo X e Y para tornar clicavel na função " TextDrawTextSize "


PlayerTextDrawTextSize
Note: This function defines the clickable area for use with PlayerTextDrawSetSelectable, whether a box is shown or not.

AlucardSnow
02/06/2013, 06:48 PM
isto não vem com new.pwn veja se seu gm não tem FS que tenha isto !

Não tem nenhum FS meu gm.
Não sei se vem no new.pwn, mais toda vez que morro perco U$100,00.

BreakDriFT
02/06/2013, 06:52 PM
É normal isso coloque para dar 100 quando dar o spawn assim fica normal. :p

AlucardSnow
02/06/2013, 07:53 PM
É normal isso coloque para dar 100 quando dar o spawn assim fica normal. :p
Vlw, eu tava pensando nisso, mais achei que tinha como desativar essa função tipo quando desativamos:
EnableStuntBonusForAll(0);
DisableInteriorEnterExits();

Obrigado Break.

tonisantolia
03/06/2013, 01:30 AM
TogglePlayerClock é o relogio padrão do GTA SA?

AlucardSnow
03/06/2013, 01:39 AM
TogglePlayerClock é o relogio padrão do GTA SA?
Sim.
Cada 1 minuto na vida real é uma hora lá...
Nem sabia da existência dele, joguei na Wiki e testei na OnPlayerConnect, legal ele =)

tonisantolia
03/06/2013, 01:41 AM
Sim.
Cada 1 minuto na vida real é uma hora lá...
Nem sabia da existência dele, joguei na Wiki e testei na OnPlayerConnect, legal ele =)

Descobri a agora tambem kk, estava sem nada para fazer e fui ver os primeiros topicos do forum e vi esta função :)

Obrigado pelo esclarecimento

Jumper.
05/06/2013, 01:54 AM
É possível colocar um progresso de uma progress bar com base em uma variável??
Por exemplo:
Variável = 528 ---> Barra Cheia
Variável = 0 ---> Barra Vazia

E que o progresso varie, estando definido o inicio e o final, se for possível, como faço??

Falcon.
05/06/2013, 02:56 PM
new Float:minha_var;

forward minhaCallback();
public minhaCallback()
{
minha_var = minha_var >= 100.0 ? 0.0 : (minha_var + 10.0);
SetProgressBarValue(barid, minha_var);
UpdateProgressBar(barid, playerid);
//show progress bar...
return (1);
}

Kuddy
05/06/2013, 03:48 PM
É possível colocar um progresso de uma progress bar com base em uma variável??
Por exemplo:
Variável = 528 ---> Barra Cheia
Variável = 0 ---> Barra Vazia

E que o progresso varie, estando definido o inicio e o final, se for possível, como faço??

(100 * x) / 528, tal que X é o input.

Rijin
07/06/2013, 07:44 AM
Qual a diferença de eu colocar:

Teste(string[]) e Teste(const string[]) ?

Jason`
07/06/2013, 07:09 PM
Utilizando const você não vai poder alterar a string na função, posto que esta é constante.

RogerMP
08/06/2013, 04:12 AM
oi pessoal, to procurando um editor pra atachar objetos em veículos, objetos em objetos e objetos no player, se não tiver um que faça tudo pelo menos um bom que atache objetos em veículos por favor.

obs: tive pensando um atachar o casco de um navio num veleiro pra torná-lo navegável, da pra fazer isso com um editor?
vlw abg abs a todos!!

Delete_
08/06/2013, 04:31 PM
http://forum.sa-mp.com/showthread.php?t=282883&highlight=attachments

Rijin
11/06/2013, 08:40 PM
[17:32:45] Loading plugin: streamer
[17:32:45] Failed (plugins/streamer: cannot open shared object file: No such file or directory)
[17:32:45] Loaded 0 plugins.

Por que ta dando esse erro?

Eu comprei um host, coloquei tudo certinho, mas quando eu ligo o mesmo aparece isso.
Eu coloquei o streamer.dll e o streamer.so na pasta plugins do host, mas mesmo assim aparece.

Aí acaba que meu server não normalmente por falta do plugin que não é carregado.
O mode aparece como Unknown.

Lembrando que no meu PC funciona perfeitamente.

mau.tito
11/06/2013, 09:32 PM
Seu host deve ser linux deve ser passado plugins linux e bota no server.cfg
streamer.so

Rapha3L
13/06/2013, 03:14 PM
Podem-me ajudar aqui nesta dúvida ?

C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 029: invalid expression, assumed zero
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 017: undefined symbol "cmd_mp3"
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 029: invalid expression, assumed zero
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


A linha (15) é a seguinte:

CMD:mp3(playerid) cmdtext, true, 10) == 0);

Obrigado ???

Delete_
13/06/2013, 03:44 PM
CMD:mp3(playerid, params[])

Rapha3L
13/06/2013, 03:49 PM
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 029: invalid expression, assumed zero
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 017: undefined symbol "cmd_mp3"
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 029: invalid expression, assumed zero
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


Continua dando..

public OnPlayerCommandText(playerid, cmdtext[])
{
CMD:mp3(playerid) cmdtext, true, 21) == 0);
{
ShowPlayerDialog(playerid, DIALOG_MP3, DIALOG_STYLE_LIST, "Leitor de MP3 V1.0", "SHM - Don't you worry Child\nAvicii - Levels (Original Mix)\nDavid Guetta - She Wolf\nSHM - Save The World Tonight\nM-3ox ft Heidrun - Beating of my heart\nSkrillex - First of the year (Equinox)\nAfrojack ft Shermanology - Can't Stop Me now\nSean Paul - She Doesn't Mind\nSebastian Ingrosso - Calling", "Tocar", "Cancelar");
return 1;
}

Veja agora

mau.tito
13/06/2013, 04:10 PM
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 029: invalid expression, assumed zero
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 017: undefined symbol "cmd_mp3"
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : error 029: invalid expression, assumed zero
C:\Users\Rapha3L\Desktop\pawn\filterscripts\mp3.pw n(15) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


Continua dando..

public OnPlayerCommandText(playerid, cmdtext[])
{
CMD:mp3(playerid) cmdtext, true, 21) == 0);
{
ShowPlayerDialog(playerid, DIALOG_MP3, DIALOG_STYLE_LIST, "Leitor de MP3 V1.0", "SHM - Don't you worry Child\nAvicii - Levels (Original Mix)\nDavid Guetta - She Wolf\nSHM - Save The World Tonight\nM-3ox ft Heidrun - Beating of my heart\nSkrillex - First of the year (Equinox)\nAfrojack ft Shermanology - Can't Stop Me now\nSean Paul - She Doesn't Mind\nSebastian Ingrosso - Calling", "Tocar", "Cancelar");
return 1;
}

Veja agora

zcmd e sempre fora de callback .

Rapha3L
13/06/2013, 04:51 PM
Porra, nem sei como me esqueci desse pormenor.
Obrigado mau.tito, +rep para ti !

Cleitonboy23
13/06/2013, 09:28 PM
Como eu faço o score que é mostrado apertando tab,pelo numero de mortes?
PlayerDados[playerid][Matou]

Falcon.
14/06/2013, 12:08 AM
Como eu faço o score que é mostrado apertando tab,pelo numero de mortes?
PlayerDados[playerid][Matou]


public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerScore(killerid, ++ PlayerDados[killerid][Matou]);
return 1;
}


já aumenta o número de mortes e atualiza a pontuação no tab

AlucardSnow
14/06/2013, 02:51 PM
Como eu faço para automaticamente ao conectar no jogo (o player) usar o comando /headmove.

Não quero que ele digite, só que seja automático.

/headmove é um comando padrão do SA:MP... (ele fica girando a cabeça para onde olha)

Maklister
14/06/2013, 03:07 PM
Como eu faço para automaticamente ao conectar no jogo (o player) usar o comando /headmove.

Não quero que ele digite, só que seja automático.

/headmove é um comando padrão do SA:MP... (ele fica girando a cabeça para onde olha)


public OnPlayerSpawn(playerid)
{
if(PrimeiroSpawn[playerid] == true) // EXEMPLO, SE ESSE FOR O PRIMEIRO SPAWN DELE NO SERVIDOR
{
cmd_headmove(playerid, "");
}
return 1;
}

AlucardSnow
14/06/2013, 03:41 PM
public OnPlayerSpawn(playerid)
{
if(PrimeiroSpawn[playerid] == true) // EXEMPLO, SE ESSE FOR O PRIMEIRO SPAWN DELE NO SERVIDOR
{
cmd_headmove(playerid, "");
}
return 1;
}

Está dando undefined cmd_headmove...

Eu uso o processador de comandos ZCMD.

Tentei resolver mais nada.

Wendell
14/06/2013, 04:06 PM
Olá pessoal , quero saber se tem algum tutorial/programa pra pegar as coordenadas da camera .

SetPlayerCameraPos
SetPlayerCameraLookAt

Maklister
14/06/2013, 04:07 PM
Está dando undefined cmd_headmove...

Eu uso o processador de comandos ZCMD.

Tentei resolver mais nada.

Poste o comando ai ...

AlucardSnow
14/06/2013, 04:12 PM
Poste o comando ai ...

É /headmove...

Ele á padrão do SA:MP.
Nem sei se o ZCMD interfere, já que é padrão acho que usa strcmp, sei lá...

DarckWilly
14/06/2013, 04:28 PM
Boas,

Alguém poderia explicar ou mandar uma explicação para saber o que é isso: "tmp = strtok(cmdtext, idx);" ?

Obrigado!

AlucardSnow
14/06/2013, 04:31 PM
Boas,

Alguém poderia explicar ou mandar uma explicação para saber o que é isso: "tmp = strtok(cmdtext, idx);" ?

Obrigado!

Strtok (http://wiki.sa-mp.com/wiki/Strtok)

DarckWilly
14/06/2013, 04:36 PM
Strtok (http://wiki.sa-mp.com/wiki/Strtok)


Muito obrigado !

ProKillerpa
14/06/2013, 06:08 PM
Como verificar se o player está agachado e de pé?

DarckWilly
15/06/2013, 03:58 PM
Alguém sabe me dizer a diferença entre (!IsPlayerAdmin) e (IsPlayerAdmin) ?

Obrigado !

Delete_
15/06/2013, 04:31 PM
Alguém sabe me dizer a diferença entre (!IsPlayerAdmin) e (IsPlayerAdmin) ?

Obrigado !

! : se não for.

sem o ! : se for.

_____

!IsPlayerAdmin: se não for adminstrador.

IsPlayerAdmin: se for administrador.

DarckWilly
15/06/2013, 05:13 PM
! : se não for.

sem o ! : se for.

_____

!IsPlayerAdmin: se não for adminstrador.

IsPlayerAdmin: se for administrador.

Isso é a mesma coisa que "else" certo ? Muito obrigado por responder ! :)

arakuta
15/06/2013, 05:49 PM
Como verificar se o player está agachado e de pé?

Para saber se está apé ou de carro:

http://wiki.sa-mp.com/wiki/Playerstates

Para saber se ele está agachado:

http://wiki.sa-mp.com/wiki/SpecialActions

ProKillerpa
15/06/2013, 07:21 PM
Para saber se está apé ou de carro:

http://wiki.sa-mp.com/wiki/Playerstates

Para saber se ele está agachado:

http://wiki.sa-mp.com/wiki/SpecialActions

Vlw

+REP

BielCOP
16/06/2013, 07:59 PM
É possível eu pegar a string de uma página HTML ?

Jason`
17/06/2013, 01:19 AM
Acredito que via HTTP é possível, não tenho certeza.

Cleitonboy23
18/06/2013, 01:17 AM
Galera como eu faço pro player só poder compra colete e vida a cada 5 minutos?


CMD:vida(playerid, params[])
{
GivePlayerMoney (playerid, -1000);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SendClientMessage(playerid,COLOR_RED, "Você Comprou Vida Por 500 Reais");
return 1;
}

CMD:colete(playerid, params[])
{
GivePlayerMoney (playerid, -1000);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SendClientMessage(playerid,COLOR_RED, "Você Comprou colete Por 1000 Reais");
}

Gustavo_Carvalho
18/06/2013, 02:27 PM
static
Tempo[MAX_PLAYERS]
;

CMD:vida(playerid)
{
if(Tempo[playerid] > gettime()) return SendClientMessage(playerid, -1, "Você poderá usar este comando novamente daqui à 5 minutos.");

PlayerPlaySound(playerid, 1056, 0, 0, 0);

GivePlayerMoney(playerid, -1000);

Tempo[playerid] = gettime() + 300;

SendClientMessage(playerid, -1, "Você Comprou Vida Por 500 Reais");
return 1;
}

Faça o mesmo com o outro comando.

Maklister
19/06/2013, 05:52 AM
static
Tempo[MAX_PLAYERS]
;

CMD:vida(playerid)
{
if(Tempo[playerid] > gettime()) return SendClientMessage(playerid, -1, "Você poderá usar este comando novamente daqui à 5 minutos.");

PlayerPlaySound(playerid, 1056, 0, 0, 0);

GivePlayerMoney(playerid, -1000);

Tempo[playerid] = gettime() + 300;

SendClientMessage(playerid, -1, "Você Comprou Vida Por 500 Reais");
return 1;
}

Faça o mesmo com o outro comando.


SetPlayerHealth(playerid, 100);


???

[S]Kimimaro
19/06/2013, 07:48 PM
Pequena Duvida aqui, PLAYER_STATE_ONFOOT é quando o player está a pé?

Gustavo_Carvalho
19/06/2013, 08:33 PM
Sim.

Cleitonboy23
19/06/2013, 10:56 PM
Criar algumas exceções de interiores exemplo
quem tiver em lc pode ir pra sf

CMD:lc(playerid, params[])
{
if(Block[playerid]==true) return SendClientMessage(playerid,vermelho,"[INFO]: {FFFFFF}Você está em um evento, use apenas o comando: /SAIR");
// if(GetPlayerInterior(playerid) > 0)return SendClientMessage(playerid, vermelho, "Você está em um interior,saia dele primeiro antes de se teleporta");
if(IsPlayerInRace) return SendClientMessage(playerid, vermelho, "Voce esta em uma corrida, digite /saircorrida");
GameTextForPlayer(playerid,"~w~Bem Vindo a ~n~~r~Liberty City",5000,5);
SetVehiclePosEx(playerid, -732.0,504.0,1372.5);
SetPlayerInterior(playerid,1);
ShowInfoTextDraw(playerid, "lc");
return 1;
}



CMD:sf(playerid, params[])
{
if(Block[playerid]==true) return SendClientMessage(playerid,vermelho,"[INFO]: {FFFFFF}Você está em um evento, use apenas o comando: /SAIR");
if(GetPlayerInterior(playerid) > 0,1)return SendClientMessage(playerid, vermelho, "Você está em um interior,saia dele primeiro antes de se teleporta");
if(IsPlayerInRace) return SendClientMessage(playerid, vermelho, "Voce esta em uma corrida, digite /saircorrida");
GameTextForPlayer(playerid,"~w~Bem Vindo a ~n~~r~San Fierro",5000,5);
SetVehiclePosEx(playerid, -1498.8904,799.6949,7.1875);
ShowInfoTextDraw(playerid, "SF");
return 1;
}

Knight97
20/06/2013, 11:40 PM
Galera como eu faço pro player só poder compra colete e vida a cada 5 minutos?


CMD:vida(playerid, params[])
{
GivePlayerMoney (playerid, -1000);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SendClientMessage(playerid,COLOR_RED, "Você Comprou Vida Por 500 Reais");
return 1;
}

CMD:colete(playerid, params[])
{
GivePlayerMoney (playerid, -1000);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SendClientMessage(playerid,COLOR_RED, "Você Comprou colete Por 1000 Reais");
}


new tC[MAX_PLAYERS];

CMD:vida(playerid)
{
if(tickcount() - tC[playerid] < /*TEMPOAQUI*/)
{
new sStringFrm[75]; /*troque o número para o número de cells que irá usar*/
format(sStringFrm, sizeof(sStringFrm), "Tem de esperar %d para voltar a usar o comando.", /*TEMPOAQUI*/ - (tickcount() - tC[playerid])/1000);
return SendClientMessage(playerid, 0xFFF000AA, sStringFrm);
}
tC[playerid] = tickcount();
/*coloque aqui o resto do comando*/

return true;
}

AlucardSnow
21/06/2013, 11:32 PM
Como faço ao conectar o player utilizar um comando padrão do SA:MP??

Ele é o /headmove ( Ele já vem no SA:MP, todos servidores tem )


cmd_headmove(playerid, "");
cmd_headmove(playerid);
=
Undefined symbol cmd_headmove


Alguém sabe fazer?

BreakDriFT
21/06/2013, 11:43 PM
Até onde sei é impossivel forçar o jogador executar comandos nativos do SA:MP.

Vi muitos membros falando o mesmo.

arakuta
22/06/2013, 02:07 AM
Até onde sei é impossivel forçar o jogador executar comandos nativos do SA:MP.

Vi muitos membros falando o mesmo.

Exatamente.

smiiir
22/06/2013, 03:07 PM
alguem sabe todos os comandos nativo do samp?

tipo: /pagesize, /fpslimit etc...

Jason`
22/06/2013, 03:27 PM
alguem sabe todos os comandos nativo do samp?

tipo: /pagesize, /fpslimit etc...

http://wiki.sa-mp.com/wiki/Client_Commands

Caio_Freeze
22/06/2013, 06:39 PM
queria saber qual é a função disso:


#define isnull(%1,%2) ((!(%1[%2])) || (((%1[%2]) == '\1') && (!(%1[%2+1]))))

AlucardSnow
22/06/2013, 09:49 PM
Até onde sei é impossivel forçar o jogador executar comandos nativos do SA:MP.

Vi muitos membros falando o mesmo.

Os servidores RolePlay tem essa função do /headmove.
A cabeça fica girando para onde olha...

Será que é include, public, plugin?

Schocc
22/06/2013, 10:10 PM
queria saber qual é a função disso:


#define isnull(%1,%2) ((!(%1[%2])) || (((%1[%2]) == '\1') && (!(%1[%2+1]))))


Verifica se a célula esta vazia

Caio_Freeze
22/06/2013, 10:27 PM
Verifica se a célula esta vazia

e se a célula estiver vazia?

é bom ter isso no gm?

Schocc
22/06/2013, 11:38 PM
Se éla estiver vazia retorna false!


if(isnull(string))
{
//Caso retorne true
SCM("Deve inserir algo na string");
}
else
{
SCM("vc inseriu algo na string");
//Caso retorne false
}



Faz um teste e caso eu esteja errado me corrijam

Caio_Freeze
23/06/2013, 12:00 AM
Se éla estiver vazia retorna false!


if(isnull(string))
{
//Caso retorne true
SCM("Deve inserir algo na string");
}
else
{
SCM("vc inseriu algo na string");
//Caso retorne false
}



Faz um teste e caso eu esteja errado me corrijam

hm... obrigado agora me diz uma coisa é bom ter isso no gm?

Jason`
23/06/2013, 03:43 AM
hm... obrigado agora me diz uma coisa é bom ter isso no gm?

Como dizer se é bom?
Se você for usar, ótimo. Caso não, é desnecessário. Você já sabe qual a serventia, cabe a você ver se será necessário ou não.

Emanuel17
24/06/2013, 11:11 AM
Como coloco nitro infinito para admins ? Sendo que quando um admin entrar em um veiculo é só apertar o nitro e depois sai nitro infinito ? Me ajudem pfv

Knight97
24/06/2013, 11:57 AM
Encontrei um sistema e alterei ele de forma a que possa ser mais fácil você entender:

#include <a_samp>

forward CallNitro();

public OnFilterScriptInit()
{
SetTimer("CallNitro", 1000, 1);
//blablabla

return true;
}


public CallNitro()
{
for(new x = 0; x < GetMaxPlayers(); x++)
{
if(IsPlayerConnected(x) && IsPlayerAdmin(x))
{
if(GetPlayerState(x) == 2)
{
if(Veiculo(GetPlayerVehicleID(x)))
AddVehicleComponent(GetPlayerVehicleID(x), 1010);

}
}
}

return true;
}

stock Veiculo(vehicleid)
{
#define MaxVeiculosInvalidos 13

new VeiculosInvalidos[] =
{
522,481,441,468,448,446,513,521,510,430,520,476,46 3
};

for(new y = 0; y < MaxVeiculosInvalidos; y++)
{
if(GetVehicleModel(vehicleid) == VeiculosInvalidos[y])
return false;
}

return true;
}

Altere a variável
IsPlayerAdmin

pela variável que usa no seu gamemode para administradores.

ProKillerpa
24/06/2013, 03:08 PM
Como verificar o folego do player?

RogerMP
26/06/2013, 08:09 PM
como personalizar a quantidade de vagas de uma org militar?
tipo quero por 3 sub-lideres e subir pra 60 vagas, qual função devo procurar pra editar isso?
se nao der pra por 3 sub pelo menos saber como editar a quantidade ja resolve a questão!
flw obs abs!

Cleitonboy23
27/06/2013, 01:10 PM
Como eu crio exceções de alguns veiculos no ant db? tipo pra hunters,hydras e rhinos

//Ant DB
if(IsPlayerInAnyVehicle(killerid)) {
format(String, sizeof(String), "{FF0000}%s Foi preso [motivo: Matou com o veiculo ] [Tempo: 1 Minuto ]",getPlayerName(killerid));
SendClientMessageToAll(-1, String);
Prisao[killerid] = true;
PC_DarDinheiro(killerid, -3500);
SetPlayerPosEx(killerid, 197.6661, 173.8179, 1003.0233);
SetPlayerInterior(killerid, 3);
SetTimerEx("SetPlayerPrisao", 60000, 0, "i", killerid);
}

Knight97
27/06/2013, 01:26 PM
if(IsPlayerInAnyVehicle(killerid))
{
if(GetPlayerVehicleID(killerid) == /*ID*/ || GetPlayerVehicleID(killerid) == /*ID*/ || GetPlayerVehicleID(killerid) == /*ID*/)
return false;

format(String, sizeof(String), "{FF0000}%s Foi preso [motivo: Matou com o veiculo ] [Tempo: 1 Minuto ]",getPlayerName(killerid));
SendClientMessageToAll(-1, String);
Prisao[killerid] = true;
PC_DarDinheiro(killerid, -3500);
SetPlayerPosEx(killerid, 197.6661, 173.8179, 1003.0233);
SetPlayerInterior(killerid, 3);
SetTimerEx("SetPlayerPrisao", 60000, 0, "i", killerid);
return true;
}

Substitua o:
/*ID*/
pelo id dos veículos hydra, rhino e hunter.

Cleitonboy23
27/06/2013, 02:12 PM
if(IsPlayerInAnyVehicle(killerid))
{
if(GetPlayerVehicleID(killerid) == /*ID*/ || GetPlayerVehicleID(killerid) == /*ID*/ || GetPlayerVehicleID(killerid) == /*ID*/)
return false;

format(String, sizeof(String), "{FF0000}%s Foi preso [motivo: Matou com o veiculo ] [Tempo: 1 Minuto ]",getPlayerName(killerid));
SendClientMessageToAll(-1, String);
Prisao[killerid] = true;
PC_DarDinheiro(killerid, -3500);
SetPlayerPosEx(killerid, 197.6661, 173.8179, 1003.0233);
SetPlayerInterior(killerid, 3);
SetTimerEx("SetPlayerPrisao", 60000, 0, "i", killerid);
return true;
}

Substitua o:
/*ID*/
pelo id dos veículos hydra, rhino e hunter.

Quando eu atiro com o hunter e mato vou preso :/

NuTShoT
27/06/2013, 08:25 PM
Olá, alguém me ajuda ?!

Como faz para tipo... Onplayerentergangzone ?! Existe algo parecido ?!

Cleitonboy23
27/06/2013, 11:18 PM
if(IsPlayerInAnyVehicle(killerid))
{
if(GetPlayerVehicleID(killerid) == /*ID*/ || GetPlayerVehicleID(killerid) == /*ID*/ || GetPlayerVehicleID(killerid) == /*ID*/)
return false;

format(String, sizeof(String), "{FF0000}%s Foi preso [motivo: Matou com o veiculo ] [Tempo: 1 Minuto ]",getPlayerName(killerid));
SendClientMessageToAll(-1, String);
Prisao[killerid] = true;
PC_DarDinheiro(killerid, -3500);
SetPlayerPosEx(killerid, 197.6661, 173.8179, 1003.0233);
SetPlayerInterior(killerid, 3);
SetTimerEx("SetPlayerPrisao", 60000, 0, "i", killerid);
return true;
}

Substitua o:
/*ID*/
pelo id dos veículos hydra, rhino e hunter.


Teria como fazer pra o player ser preso quando mata alguem atropelado e com hélice de helicópteros?

Gustavo_Carvalho
28/06/2013, 06:48 AM
Quando uso static em strcat e ShowPlayerDialog:

Comando digitado uma vez: Exemplo
Comando digitado duas vezes: ExemploExemplo
Comando digitado três vezes ou mais: ExemploExemploExemplo

Quando uso new em strcat e ShowPlayerDialog:

Comando digitado uma vez: Exemplo
Comando digitado duas vezes: Exemplo
Comando digitado três vezes ou mais: Exemplo

Deu pra entender?

Eu gostaria de saber o porque disto.

Parka
28/06/2013, 07:06 AM
Quando uso static em strcat e ShowPlayerDialog:



Quando uso new em strcat e ShowPlayerDialog:



Deu pra entender?

Eu gostaria de saber o porque disto.


new Exemplo[128];
strcat( Exemplo, "Este é um exemplo");
Exemplo[0] = '\0';// elimina o texto supra.

Gustavo_Carvalho
28/06/2013, 03:10 PM
Bem, mas no caso você usou new.

Eu digo em static, quando utilizo o mesmo, sempre floda ao usar um comando com strcat e ShowPlayerDialog duas vezes ou mais e com o new não, sempre que uso o comando duas vezes ou mais aparece a string normalmente, sem flood.

Por isso gostaria de saber o porque disto, entendeu?

ProKillerpa
28/06/2013, 03:14 PM
Como verificar o folego do player?

Knight97
28/06/2013, 03:16 PM
Como verificar o folego do player?

Já viu algum sistema assim? Eu não, mas não afirmo que não existe pois não sei.

Lós
28/06/2013, 03:26 PM
Como verificar o folego do player?

Verificações de keys, distância percorridas e etc...

ProKillerpa
28/06/2013, 04:09 PM
Verificações de keys, distância percorridas e etc...

Estava pensando em criar uma progress, com a porcentagem que corresponde ao folego...

DarckWilly
28/06/2013, 11:09 PM
Boas,

Estava a tentar criar um comando /estatisticas || /stats e não funcionou :/

No compilador não deu erro nenhum, mas no jogo fica tudo "0" por exemplo o dinheiro. Tenho $1000 e na MSGBOX mostra que tenho 0.

O codigo que fiz:

CMD:estatisticas(playerid, params[])
{
new rsenha = pDados[playerid][Senha];
new rscore = pDados[playerid][Score];
new rdinheiro = pDados[playerid][Dinheiro];
new rmatou = pDados[playerid][Matou];
new rmortes = pDados[playerid][Mortes];
new string[250];
format(string, 250, "Senha: %s\nScore: %i\nDinheiro: %i €\nMatou: %i\nMortes: %i", rsenha, rscore, rdinheiro, rmatou, rmortes);
ShowPlayerDialog(playerid, dialogo_stats, DIALOG_STYLE_MSGBOX, "{FF9900}As tuas estatisticas", string, "OK", "");
return 1;
}

Eu uso a include DOF2. Por isso não sei se estou a fazer certo o comando.

Ainda tenho muitas duvidas em DOF2 :|

Obrigado.

Gustavo_Carvalho
29/06/2013, 12:04 AM
Gostaria de um exemplo de script em pawn que utilize o operador ^=

Knight97
29/06/2013, 12:34 AM
Gostaria de um exemplo de script em pawn que utilize o operador ^=

Tome amigo:
http://forum.sa-mp.com/showpost.php?p=1591593&postcount=1189

Rodney Francalim
29/06/2013, 12:42 AM
Boas,

Estava a tentar criar um comando /estatisticas || /stats e não funcionou :/

No compilador não deu erro nenhum, mas no jogo fica tudo "0" por exemplo o dinheiro. Tenho $1000 e na MSGBOX mostra que tenho 0.

O codigo que fiz:

CMD:estatisticas(playerid, params[])
{
new rsenha = pDados[playerid][Senha];
new rscore = pDados[playerid][Score];
new rdinheiro = pDados[playerid][Dinheiro];
new rmatou = pDados[playerid][Matou];
new rmortes = pDados[playerid][Mortes];
new string[250];
format(string, 250, "Senha: %s\nScore: %i\nDinheiro: %i €\nMatou: %i\nMortes: %i", rsenha, rscore, rdinheiro, rmatou, rmortes);
ShowPlayerDialog(playerid, dialogo_stats, DIALOG_STYLE_MSGBOX, "{FF9900}As tuas estatisticas", string, "OK", "");
return 1;
}

Eu uso a include DOF2. Por isso não sei se estou a fazer certo o comando.

Ainda tenho muitas duvidas em DOF2 :|

Obrigado.

USE:
DOF2_GetInt( /*Diretório da conta*/, "STAT");

Gostaria de um exemplo de script em pawn que utilize o operador ^=

Exemplo:
a ^= b;
Isso aí é aplicação de bit a bit OU EXCLUSIVO para a e b, e atribuirá o resultado em a. Pois ...
a ^= b
... é o mesmo que ...
a = a ^ b

Se quiser saber mais sobre isso, clica aqui (http://en.wikipedia.org/wiki/Bitwise_operation#XOR).

DarckWilly
29/06/2013, 03:10 PM
USE:
DOF2_GetInt( /*Diretório da conta*/, "STAT");

Seria assim por exemplo ?:

#define arquivo "Contas/%s.ini" //topo

new rsenha = DOF2_GetInt( arquivo, "Senha");


Tipo isso ? É que fiz isso e nao apareceu nada :/

Rodney Francalim
29/06/2013, 06:37 PM
Sim, mais ou menos isso.

Mas veja se no GM não tem algo mais ou menos assim:
stock pContas( playerid )
{
new
str[ 64 ];

format( str, 64, arquivo, pNome( playerid ));
return str;
}

Maklister
29/06/2013, 08:34 PM
Seria assim por exemplo ?:

#define arquivo "Contas/%s.ini" //topo

new rsenha = DOF2_GetInt( arquivo, "Senha");


Tipo isso ? É que fiz isso e nao apareceu nada :/


new rsenha[ 64 ];

format( rsenha, 64, "%s", DOF2_GetInt( arquivo, "Senha"));

Rodney Francalim
30/06/2013, 03:53 AM
new
str[ 129 ];

DOF2_CreateFile( ContaJogador( playerid ));
WP_Hash( str, sizeof( str ), inputtext );
print( str ); // 1º PRINT
DOF2_SetString( ContaJogador( playerid ), "Senha", str );
print( DOF2_GetString( ContaJogador( playerid ), "Senha" )); // 2º PRINT

Eu não entendo o que há de errado. Quando eu uso a senha: "vsffdp"
No primeiro print sai isso:
4584FEF7713F628922A7B9A576E4BFFB312C578614A8BA7382 E48A2FCC826E4E6AF540E11120BAA09483D788EEFEB0557F45 7E4CC6C6F4DD31FCA7213F814677
Mas no segundo, já com a string salva no arquivo, sai isso:
4584FEF7713F628922A7B9A576E4BFFB312C578614A8BA7382 E48A2FCC826E4E6AF540E11120BAA09483D788EEFEB0557F45 7E4CC6C6F4DD31FCA72
Ou seja, a diferença do primeiro para o segundo, é que no primeiro, tem essa parte a mais do que no segundo:
13F814677

Ou seja, ele simplesmente "come" 9 células.


Aumentei as céculas da string, mas não deu certo.

Lós
30/06/2013, 04:06 AM
new
str[ 129 ];

DOF2_CreateFile( ContaJogador( playerid ));
WP_Hash( str, sizeof( str ), inputtext );
print( str ); // 1º PRINT
DOF2_SetString( ContaJogador( playerid ), "Senha", str );
print( DOF2_GetString( ContaJogador( playerid ), "Senha" )); // 2º PRINT

Eu não entendo o que há de errado. Quando eu uso a senha: "vsffdp"
No primeiro print sai isso:
4584FEF7713F628922A7B9A576E4BFFB312C578614A8BA7382 E48A2FCC826E4E6AF540E11120BAA09483D788EEFEB0557F45 7E4CC6C6F4DD31FCA7213F814677
Mas no segundo, já com a string salva no arquivo, sai isso:
4584FEF7713F628922A7B9A576E4BFFB312C578614A8BA7382 E48A2FCC826E4E6AF540E11120BAA09483D788EEFEB0557F45 7E4CC6C6F4DD31FCA72
Ou seja, a diferença do primeiro para o segundo, é que no primeiro, tem essa parte a mais do que no segundo:
13F814677

Aumentei as céculas da string, mas não deu certo.

Verifique, dentro do arquivo qual é o texto, e então você vai saber se tem algo errado no script ou no arquivo.

Rodney Francalim
30/06/2013, 04:12 AM
4584FEF7713F628922A7B9A576E4BFFB312C578614A8BA7382 E48A2FCC826E4E6AF540E11120BAA09483D788EEFEB0557F45 7E4CC6C6F4DD31FCA72

É a mesma coisa do 2º print. Igualzinho.

@EDIT
Senha = 4584FEF7713F628922A7B9A576E4BFFB312C578614A8BA7382 E48A2FCC826E4E6AF540E11120BAA09483D788EEFEB0557F45 7E4CC6C6F4DD31FCA72

^ 127 células, não sei se inclui o null, mas enfim... Me intriga, ainda.

Rodney Francalim
30/06/2013, 04:59 AM
Enfim... Acabei usando o CreateFile com o parâmetro 'pass' mesmo, tive que usar o hash do DOF2.

Mas se alguém souber a solução, ficarei muito grato. Abraços.

RogerMP
30/06/2013, 07:29 AM
dúvida sobre o Fórum:
Na página do link "User CP" apareceu um comentário sobre um posto meu, mas eu não acho o comentário da pessoa aqui pra comentar nem sei o nick da pessoa, isso acontece quando o post é deletado? ou tem algum outro modo de achar o post?

Delete_
30/06/2013, 11:48 AM
dúvida sobre o Fórum:
Na página do link "User CP" apareceu um comentário sobre um posto meu, mas eu não acho o comentário da pessoa aqui pra comentar nem sei o nick da pessoa, isso acontece quando o post é deletado? ou tem algum outro modo de achar o post?

Isso é reputação. Não aparece quem mandou.

Lós
30/06/2013, 12:21 PM
Enfim... Acabei usando o CreateFile com o parâmetro 'pass' mesmo, tive que usar o hash do DOF2.

Mas se alguém souber a solução, ficarei muito grato. Abraços.

São 129 células o primeiro, e 117 o segundo. Você pode tentar alterar sua forma de codificar a senha.

ProKillerpa
01/07/2013, 04:11 PM
Como verificar o folego do player?

@ Link do Wiki please!