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

Luciano*
09/07/2012, 11:59 PM
@Edu33

Eu estava colocando na Public errada, mais funcionou!

Obrigado +rep.

Ades
10/07/2012, 12:10 AM
DOF2_SetInt :mrgreen:

(100) : warning 202: number of arguments does not match definition
(1246) : warning 202: number of arguments does not match definition
(1568) : warning 203: symbol is never used: "DOF2_Exit"

Linhas :

100 -

if(DOF2_SetInt("Banidos/Ips.txt", Ip))

1246 -

if(!DOF2_SetInt("Banidos/Ips.txt", IP)) return SendClientMessage(playerid, CINZA, "Este IP não está banido!");

1568 -

Não tem essa linha .

@Riichard
10/07/2012, 12:18 AM
(100) : warning 202: number of arguments does not match definition
(1246) : warning 202: number of arguments does not match definition
(1568) : warning 203: symbol is never used: "DOF2_Exit"

Linhas :

100 -

if(DOF2_SetInt("Banidos/Ips.txt", Ip))

1246 -

if(!DOF2_SetInt("Banidos/Ips.txt", IP)) return SendClientMessage(playerid, CINZA, "Este IP não está banido!");

1568 -

Não tem essa linha .


1: DOF2_SetInt("Banidos/Ips.txt", Ip);
2: if(!DOF2_GetInt("Banidos/Ips.txt", IP)) return SendClientMessage(playerid, CINZA, "Este IP não está banido!");
3: public OnGameModeExit()
{
DOF2_Exit();
return 1;
}

Tente ^^

Crueliz0n
10/07/2012, 12:20 AM
que eu saiba o IP é uma string :mrgreen:


if(DOF2_SetString("Banidos/Ips.txt", "IP",ip))

Ades
10/07/2012, 12:22 AM
1: DOF2_SetInt("Banidos/Ips.txt", Ip);
2: if(!DOF2_GetInt("Banidos/Ips.txt", IP)) return SendClientMessage(playerid, CINZA, "Este IP não está banido!");
3: public OnGameModeExit()
{
DOF2_Exit();
return 1;
}

Tente ^^

Agora é :

(101) : warning 202: number of arguments does not match definition
(107) : warning 225: unreachable code

101 -

DOF2_SetInt("Banidos/Ips.txt", Ip);

107 -

format(String, sizeof(String), "%s Conectou ao servidor", Nome(playerid));

zSuYaNw
10/07/2012, 01:24 AM
DOF2_SetInt("Banidos/Ips.txt","IPDOPLAYER", Ip);

Jason`
10/07/2012, 01:25 AM
Não deveria ser SetString? Que eu saiba o IP é uma string.

zSuYaNw
10/07/2012, 01:39 AM
Não deveria ser SetString? Que eu saiba o IP é uma string.

É sim, eu apenas esqueci de mudar o nome da função.

DOF2_SetString("Banidos/Ips.txt","IPDOPLAYER", Ip);

CidadeNovaRP
10/07/2012, 03:03 AM
Como getar o ID de um NPC após o mesmo ser criado? Agradeço desde já :p

Jason`
10/07/2012, 03:26 AM
Acho que é por playerid mesmo, afinal um NPC ocupa slots que eu saiba.

ipsBruno
10/07/2012, 03:31 AM
Como getar o ID de um NPC após o mesmo ser criado? Agradeço desde já :p



Sim é por ID normal mesmo :)

IsPlayerNPC checa se ele é realmente um jogador bot ou não.

LucasSilva
10/07/2012, 11:17 AM
qual a forma correta de formastar uma strings

andmeida10
10/07/2012, 11:47 AM
http://wiki.sa-mp.com/wiki/Format

LucasSilva
10/07/2012, 01:12 PM
http://wiki.sa-mp.com/wiki/Format

obrigado

eu posso criar uma string assim?

new string[1000];

para nao dar problema de comer palavra?

rjjj
10/07/2012, 01:34 PM
obrigado

eu posso criar uma string assim?

new string[1000];

para nao dar problema de comer palavra?


Sim, mas dependendo do tamanho da string a ser armazenada, a memória do computador seria consumida sem necessidade :p.



Se o texto for fixo, pode-se utilizar a função strlen para calcular o tamanho que a array que o conterá deve ter :mrgreen:.



Caso contrário você pode preparar a array para armazenar a maior string possível. Para mensagens no chat por exemplo, o tamanho dela deveria ser 128.



Espero ter ajudado :p.

CidadeNovaRP
10/07/2012, 02:35 PM
DraKiNs;1976502']Sim é por ID normal mesmo :)

IsPlayerNPC checa se ele é realmente um jogador bot ou não.

A sim :p Mas olhe, até otem estava filé, mas não sei porque, o NPC não está a setar a POSIÇÃO ^^ Acho que vou ter que fazer NPCInfo ^^

LucasSilva
10/07/2012, 05:14 PM
Sim, mas dependendo do tamanho da string a ser armazenada, a memória do computador seria consumida sem necessidade :p.



Se o texto for fixo, pode-se utilizar a função strlen para calcular o tamanho que a array que o conterá deve ter :mrgreen:.



Caso contrário você pode preparar a array para armazenar a maior string possível. Para mensagens no chat por exemplo, o tamanho dela deveria ser 128.



Espero ter ajudado :p.

entendi obg

Ades
10/07/2012, 05:20 PM
Alguém sabe uma FS de registro/admin junto ?

o comando para registrar seria : /registrar
e o de logar : /logar

E não seria direto quando se conecta-se , alguém sabe ?


Ps: Em dialog :D

@Riichard
10/07/2012, 05:22 PM
Alguém sabe uma FS de registro/admin junto ?

o comando para registrar seria : /registrar
e o de logar : /logar

E não seria direto quando se conecta-se , alguém sabe ?


Ps: Em dialog :D
http://forum.sa-mp.com/showthread.php?t=353604

Ades
10/07/2012, 05:26 PM
http://forum.sa-mp.com/showthread.php?t=353604

Leia dnv oque eu pedi .

@Riichard
10/07/2012, 05:27 PM
Leia dnv oque eu pedi .

Você pediu sistema de registro/login dialog, tem um
agora crie o admin :]

Ades
10/07/2012, 05:29 PM
Você pediu sistema de registro/login dialog, tem um
agora crie o admin :]

Sim mas eu pedi com :

/registrar
/logar

Quando tem "/" é comando sabia ?
Escravo Mal Criado -q

@Riichard
10/07/2012, 05:35 PM
Sim mas eu pedi com :

/registrar
/logar

Quando tem "/" é comando sabia ?
Escravo Mal Criado -q

http://forum.sa-mp.com/showpost.php?p=1741885&postcount=1 Comando sem adm

http://forum.sa-mp.com/showthread.php?t=328397 Obrigatorio com adm.
¬¬
preguiça e fo**!


Tudo da Aninha :p.

Ades
10/07/2012, 05:36 PM
http://forum.sa-mp.com/showpost.php?p=1741885&postcount=1 Comando sem adm

http://forum.sa-mp.com/showthread.php?t=328397 Obrigatorio com adm.
¬¬
preguiça e fo**!


Tudo da Aninha :p.

Ana é foda :D

+rep :D

LucasSilva
10/07/2012, 06:00 PM
oq é variavel bool? :O

Dolby
10/07/2012, 06:04 PM
oq é variavel bool? :O
http://forum.sa-mp.com/showthread.php?t=292185

Boa leitura ;)

Liba.Nakajima
10/07/2012, 06:23 PM
Tem como eu getar se o player está mirando com uma arma específica?
Tipo, eu quero fazer uma ação que só acontece se um player está mirando com uma Sniper.
Mas tem que estar mirando.

LucasSilva
10/07/2012, 06:37 PM
como eu vejo se o player esta perto de uma coordenada que eu tenho aqui?

ViniBorn
10/07/2012, 06:42 PM
como eu vejo se o player esta perto de uma coordenada que eu tenho aqui?
IsPlayerInRangeOfPoint

LucasSilva
10/07/2012, 07:07 PM
IsPlayerInRangeOfPoint

IsPlayerInRangeOfPoint(Cordx, Cordy,Cordz);
é assim?

Liba.Nakajima
10/07/2012, 07:08 PM
IsPlayerInRangeOfPoint(Cordx, Cordy,Cordz);
é assim?

IsPlayerInRangeOfPoint(Raio, Cordx, Cordy,Cordz);
Mas quando for assim espera alguem responder a minha dúvida cara, assim ninguem lembra dela.
"Tem como eu getar se o player está mirando com uma arma específica?
Tipo, eu quero fazer uma ação que só acontece se um player está mirando com uma Sniper.
Mas tem que estar mirando. "

LucasSilva
10/07/2012, 07:09 PM
vlw e foi mau

F_Cinco
10/07/2012, 08:05 PM
Oq a de errado com essa função?

MoveObject(PA, 7428.5, -1361.4000244141, 9, 2.00, 0, 0, 56.25);

warnings:
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (698) : warning 202: number of arguments does not match definition
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (698) : warning 202: number of arguments does not match definition
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (698) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Warnings.

@Riichard
10/07/2012, 08:09 PM
Oq a de errado com essa função?

MoveObject(PA, 7428.5, -1361.4000244141, 9, 2.00, 0, 0, 56.25);

warnings:
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (698) : warning 202: number of arguments does not match definition
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (698) : warning 202: number of arguments does not match definition
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (698) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Warnings.

Vejá a ordem :
http://wiki.sa-mp.com/wiki/MoveObject

LucasSilva
10/07/2012, 08:12 PM
qual a diferença do CreateObject para CreateDinamicObject? :(

F_Cinco
10/07/2012, 08:32 PM
Vejá a ordem :
http://wiki.sa-mp.com/wiki/MoveObject
fiz conforme a ordem.

@Riichard
10/07/2012, 08:37 PM
fiz conforme a ordem.

Está errada está coordenada.
Olha um exemplo meu :

MoveObject(PortaoMafia,-2565.3000488281, 617.09997558594, 16.200000762939,3);
/* X, Y, Z, Velocidade*/

LucasSilva
10/07/2012, 09:08 PM
"qual a diferença do CreateObject para CreateDinamicObject? "

alguem?

LucasSilva
10/07/2012, 09:22 PM
ninguem?

zbt
10/07/2012, 09:26 PM
native CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 300.0);
native CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 0.0);

F_Cinco
10/07/2012, 09:42 PM
if(sscanf(params,"u",nome)) return SCM(playerid, erro, "|USO| /prenderplayer [id]");

C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (700) : error 035: argument type mismatch (argument 1)

?

LucasSilva
10/07/2012, 09:49 PM
native CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 300.0);
native CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 0.0);

ata vlw

zbt
10/07/2012, 09:49 PM
O problema não é nessa linha, Fcinco.

Luciano*
10/07/2012, 11:56 PM
Quero bloquear o uso de armas dentro da Ammu-Nation, eu pensei em usar esta função:

SetPlayerArmedWeapon(playerid, 0);

Daria certo? como eu deveria fazer?

.FuneraL.
11/07/2012, 12:10 AM
Quero bloquear o uso de armas dentro da Ammu-Nation, eu pensei em usar esta função:

SetPlayerArmedWeapon(playerid, 0);

Daria certo? como eu deveria fazer?

Tente Pegar o Interior do Ammu e faça isso:

if(GetPlayerInterior(playerid) == 1)
{
SetPlayerArmedWeapon(playerid, 0);
return 1;
}

Ou Sem o return , sei lá, mas acho que funciona deste modo.

zbt
11/07/2012, 12:16 AM
SetPlayerArmedWeapon(playerid, 0); só muda para o soco, mais ele pode mudar para a arma novamente.

.FuneraL.
11/07/2012, 12:23 AM
SetPlayerArmedWeapon(playerid, 0); só muda para o soco, mais ele pode mudar para a arma novamente.

Usando GetPlayerWeaponData e GivePlayerWeapon?

zbt
11/07/2012, 12:24 AM
Sim.


new w[13][2];

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) {
switch(newinteriorid) {
case /*ids*/: {
for(new i; i < 13; ++i) {
GetPlayerWeaponData(playerid, i, w[i][0], w[i][1]);
}
ResetPlayerWeapons(playerid);
}
}
switch(oldinteriorid) {
case /*ids*/: {
for(new i; i < 13; i++) {
GivePlayerWeapon(playerid, w[i][0], w[i][1]);
}
}
}
return true;
}

Caso queira bloquear em todos interiores. use AllowInteriorWeapons

Luciano*
11/07/2012, 12:50 AM
ZBT, isso ai retira a arma do jogador.

F_Cinco
11/07/2012, 12:51 AM
forward PrisaoAdmin(playerid);

public PrisaoAdmin(playerid)
{
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi Preso pelo Administrador %s.", nome);
SCM(playerid, corouro, Str);
SetPlayerPos(playerid, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(playerid, 0);
return 1;
}

CMD:prenderplayer(playerid,params)
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou está logado na Rcon!");
new Float:x,Float:y,Float:z;
if(sscanf(params,"u",nome)) return SCM(playerid, erro, "|USO| /prenderplayer [id]");
GetPlayerPos(playerid, x,y,z);
SetPlayerPos(playerid, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(playerid, 0);
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi pelo pelo Administrador %s. Tempo: 30 minutos.",nome);
SCM(playerid, vermelho, Str);
SetTimerEx("PrisaoAdmin", 30*1000*60, false, "i", playerid);
return 1;
}

C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (691) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Aí está toda a função do meu script de prender o player. :S Já tentei usar params na forward e na public e, nadz. :S

BreakDriFT
11/07/2012, 12:52 AM
E Quando ele voltar pro interior que ele tava as armas voltam para ele.

.FuneraL.
11/07/2012, 12:54 AM
forward PrisaoAdmin(playerid);

public PrisaoAdmin(playerid)
{
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi Preso pelo Administrador %s.", nome);
SCM(playerid, corouro, Str);
SetPlayerPos(playerid, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(playerid, 0);
return 1;
}

CMD:prenderplayer(playerid,params)
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou está logado na Rcon!");
new Float:x,Float:y,Float:z;
if(sscanf(params,"u",nome)) return SCM(playerid, erro, "|USO| /prenderplayer [id]");
GetPlayerPos(playerid, x,y,z);
SetPlayerPos(playerid, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(playerid, 0);
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi pelo pelo Administrador %s. Tempo: 30 minutos.",nome);
SCM(playerid, vermelho, Str);
SetTimerEx("PrisaoAdmin", 30*1000*60, false, "i", playerid);
return 1;
}

C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (691) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Aí está toda a função do meu script de prender o player. :S Já tentei usar params na forward e na public e, nadz. :S

Poste apenas a Linha 691, para verificar-mos o erro.

@Riichard
11/07/2012, 12:57 AM
forward PrisaoAdmin(playerid);

public PrisaoAdmin(playerid)
{
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi Preso pelo Administrador %s.", nome);
SCM(playerid, corouro, Str);
SetPlayerPos(playerid, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(playerid, 0);
return 1;
}

CMD:prenderplayer(playerid,params)
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou está logado na Rcon!");
new Float:x,Float:y,Float:z;
if(sscanf(params,"u",nome)) return SCM(playerid, erro, "|USO| /prenderplayer [id]");
GetPlayerPos(playerid, x,y,z);
SetPlayerPos(playerid, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(playerid, 0);
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi pelo pelo Administrador %s. Tempo: 30 minutos.",nome);
SCM(playerid, vermelho, Str);
SetTimerEx("PrisaoAdmin", 30*1000*60, false, "i", playerid);
return 1;
}

C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (691) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Aí está toda a função do meu script de prender o player. :S Já tentei usar params na forward e na public e, nadz. :S

Você irá prender você mesmo LOOOL.

CMD:prenderplayer(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou está logado na Rcon!");
//new Float:x,Float:y,Float:z;
new PlayerID;
if(sscanf(params,"u",PlayerID)) return SCM(playerid, erro, "|USO| /prenderplayer [id]");
//GetPlayerPos(playerid, x,y,z);
SetPlayerPos(PlayerID, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(PlayerID, 0);
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi pelo pelo Administrador %s. Tempo: 30 minutos.",nome);
SCM(PlayerID, vermelho, Str);
SetTimerEx("PrisaoAdmin", 30*1000*60, false, "i", PlayerID);
return 1;
}

Para que getar a posição ?

F_Cinco
11/07/2012, 01:08 AM
Você irá prender você mesmo LOOOL.

CMD:prenderplayer(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou está logado na Rcon!");
//new Float:x,Float:y,Float:z;
new PlayerID;
if(sscanf(params,"u",PlayerID)) return SCM(playerid, erro, "|USO| /prenderplayer [id]");
//GetPlayerPos(playerid, x,y,z);
SetPlayerPos(PlayerID, 7429.4980,-1362.4636,11.5250);
SetPlayerInterior(PlayerID, 0);
format(Str,sizeof(Str), "|PRISÃO ADMIN| Você foi pelo pelo Administrador %s. Tempo: 30 minutos.",nome);
SCM(PlayerID, vermelho, Str);
SetTimerEx("PrisaoAdmin", 30*1000*60, false, "i", PlayerID);
return 1;
}

Para que getar a posição ?
n me liguei nesse detalhe, hihi

http://www.poisene.com.br/upload/cruz-credo-02.jpg

porém, msm erro :S

linha:
if(sscanf(params,"u",ID)) return SCM(playerid, erro, "|USO| /prenderplayer [id]");


;S

zbt
11/07/2012, 01:12 AM
Você deve usar o mesmo interiorid na entrada do interior, e na saída.

F_Cinco
11/07/2012, 01:17 AM
Você deve usar o mesmo interiorid na entrada do interior, e na saída.
O interior é 0 msm, estou usando só por costume. Enquanto ao erro, ele persiste. :/

zbt
11/07/2012, 01:19 AM
Eu me dirigi ao luciano Fcinco hehe.

F_Cinco
11/07/2012, 01:24 AM
Eu me dirigi ao luciano Fcinco hehe.
kkk, sem problemas! da próx. tenta assim: @Luciano mensagem... Ninguém tá em twitter, mais só para n se confundir. ;)

Ades
11/07/2012, 02:05 AM
~~> Duvida <~~

http://i49.tinypic.com/okag7t.png

Como deixo a câmera de selecionar Skin assim ?

aqui coords do player :
AddPlayerClass(0,-2677.0771,1602.9396,3.2226,180.0000,0,0,0,0,0,0);

Jason`
11/07/2012, 02:07 AM
SetPlayerCameraPos
SetPlayerCameraLookAt

Ades
11/07/2012, 02:10 AM
SetPlayerCameraPos
SetPlayerCameraLookAt

To ligado , mas tipo como pego as coords disso ?

BlueX
11/07/2012, 02:15 AM
To ligado , mas tipo como pego as coords disso ?

http://wiki.sa-mp.com/wiki/GetPlayerFacingAngle
http://wiki.sa-mp.com/wiki/GetPlayerCameraPos

Tente.

Ades
11/07/2012, 02:25 AM
http://wiki.sa-mp.com/wiki/GetPlayerFacingAngle
http://wiki.sa-mp.com/wiki/GetPlayerCameraPos

Tente.

GetPlayerFacingAngle - Voltar ângulo de direção que o jogador está enfrentando.

GetPlayerCameraPos - Descobrir onde câmera do jogador esta .





---------------
Não entendi D:

@Riichard
11/07/2012, 03:30 AM
~~> Duvida <~~

http://i49.tinypic.com/okag7t.png

Como deixo a câmera de selecionar Skin assim ?

aqui coords do player :
AddPlayerClass(0,-2677.0771,1602.9396,3.2226,180.0000,0,0,0,0,0,0);

FEDEPÊ.

Ta tentando fazer igual ao meu ? ¬¬'

CidadeNovaRP
11/07/2012, 03:32 AM
GetPlayerFacingAngle - Voltar ângulo de direção que o jogador está enfrentando.

GetPlayerCameraPos - Descobrir onde câmera do jogador esta .





---------------
Não entendi D:
Use Google Tradutor se não for very good in inglish:
http://forum.sa-mp.com/showthread.php?t=69019

Espero ter ajudado.

FireCat
11/07/2012, 01:27 PM
/*
Params:
- file: the file name you want to search in.
- word: the word you want to search.
- ignorecase: ignore if the words is case sensitive.
*/
fwords( file[], word[], bool: ignorecase = true)//By: Firecat
{
new string[ 156 ],
File:Main = fopen( file, io_read ),
count
;

while( fread( Main, string ) )
{
if( strfind( string, word, ignorecase) != -1) count++;
}

return count;
}

O y_less perguntou-me:
E se tiver mais de uma palavra na linha?
Ou se a palavra for inside e ele está a procura da palavra side?

Como é que detecto isso? e.e

steki.
11/07/2012, 01:58 PM
/*
Params:
- file: the file name you want to search in.
- word: the word you want to search.
- ignorecase: ignore if the words is case sensitive.
*/
fwords( file[], word[], bool: ignorecase = true)//By: Firecat
{
new string[ 156 ],
File:Main = fopen( file, io_read ),
count
;

while( fread( Main, string ) )
{
if( strfind( string, word, ignorecase) != -1) count++;
}

return count;
}

O y_less perguntou-me:
E se tiver mais de uma palavra na linha?
Ou se a palavra for inside e ele está a procura da palavra side?

Como é que detecto isso? e.e

Pra mais de uma palavra vai de sua preferência pra exibir os dados, mas para checar se a palavra não está dentro de outra, verifique a ocorrência de caracteres que não sejam letras que estejam ao redor da palavra.

leonardo1434
11/07/2012, 02:02 PM
Firecat, pelo o que eu entendi queres que ache apenas uma palavra desejada certo ? ou são todas que estão no arquivo?

FireCat
11/07/2012, 02:42 PM
Firecat, pelo o que eu entendi queres que ache apenas uma palavra desejada certo ? ou são todas que estão no arquivo?

Todas

Truck
11/07/2012, 02:45 PM
Alguem tem um anti flood - Chat Kill, Cmd?

Edu33
11/07/2012, 03:07 PM
/\ Que? '-'
Search po ;)

Truck
11/07/2012, 03:31 PM
/\ Que? '-'
Search po ;)

KKKKK, okay. Como estava nesse tópico e surgiu essa ideia minha de procurar anti flood, postei aqui mesmo kk. Vô procurar, eu tava usando uma include se não me engano do bruno, mas bugava em meu server.

billy the kid
11/07/2012, 03:46 PM
// On top of script:
new Text:Inicio;

// In OnGameModeInit
Inicio = TextDrawCreate(282 ,454 , "teste !");
TextDrawFont(Inicio , 2);
TextDrawLetterSize(Inicio , 0.6, 4.2);
TextDrawColor(Inicio , 0xff0000FF);
TextDrawSetOutline(Inicio , false);
TextDrawSetProportional(Inicio , true);
TextDrawSetShadow(Inicio , 1);




erro ae nao aparece a palavra ja usei o zamaroth e o bsn editor

obs se eu colocar no gm as palavras nao aparece se eu colocar em fs separado funciona perfeito!
por que sera alguem sabe por que ?


esse exemplo acima e o do bsn editor! > AGUARDANDO A AJUDA DE VOÇES AE <

.FuneraL.
11/07/2012, 03:51 PM
// On top of script:
new Text:Inicio;

// In OnGameModeInit
Inicio = TextDrawCreate(282 ,454 , "teste !");
TextDrawFont(Inicio , 2);
TextDrawLetterSize(Inicio , 0.6, 4.2);
TextDrawColor(Inicio , 0xff0000FF);
TextDrawSetOutline(Inicio , false);
TextDrawSetProportional(Inicio , true);
TextDrawSetShadow(Inicio , 1);




erro ae nao aparece a palavra ja usei o zamaroth e o bsn editor

obs se eu colocar no gm as palavras nao aparece se eu colocar em fs separado funciona perfeito!
por que sera alguem sabe por que ?


esse exemplo acima e o do bsn editor! > AGUARDANDO A AJUDA DE VOÇES AE <

Falta de um TextDrawShowForPlayer?

Coloque no OnPlayerSpawn

TextDrawShowForPlayer(playerid, Inicio);

billy the kid
11/07/2012, 03:58 PM
e eu coloquei na public onplayerspawn nao funciono
coloquei junto com o codigo na ongamemodeinit tanbem nao funciono!

F_Cinco
11/07/2012, 04:57 PM
F = CreateVehicle(404,26.8984,-2637.6877,40.1543,94.5500,0,0,0); //F_Cinco
SetVehicleNumberPlate(F, "F_Cinco");
format(texto, sizeof(texto),"F_Cinco");
FC = Create3DTextLabel(texto,F, 0.0,0.0,0.0,50.0,0,1);
Attach3DTextLabelToVehicle(FC,F,0.0,0.0,0.0+1);

TextDraw n está sendo aplicada no veículo. :S

BreakDriFT
11/07/2012, 05:25 PM
http://wiki.sa-mp.com/wiki/Attach3DTextLabelToVehicle

F_Cinco
11/07/2012, 07:17 PM
F = CreateVehicle(404,26.8984,-2637.6877,40.1543,94.5500,0,0,0); //F_Cinco
SetVehicleNumberPlate(F, "F_Cinco");
FC[F] = Create3DTextLabel("F_Cinco", laranja, 0.0,0.0,0.0,10.0,0,1); // linha 104
Attach3DTextLabelToVehicle(FC[F],F, 0.0,0.0,0.2.0);

C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : error 028: invalid subscript (not an array or too many subscripts): "FC"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : warning 215: expression has no effect
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : error 001: expected token: ";", but found "]"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : error 029: invalid expression, assumed zero
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : 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.

@Riichard
11/07/2012, 07:20 PM
F = CreateVehicle(404,26.8984,-2637.6877,40.1543,94.5500,0,0,0); //F_Cinco
SetVehicleNumberPlate(F, "F_Cinco");
FC[F] = Create3DTextLabel("F_Cinco", laranja, 0.0,0.0,0.0,10.0,0,1); // linha 104
Attach3DTextLabelToVehicle(FC[F],F, 0.0,0.0,0.2.0);

C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : error 028: invalid subscript (not an array or too many subscripts): "FC"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : warning 215: expression has no effect
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : error 001: expected token: ";", but found "]"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : error 029: invalid expression, assumed zero
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : 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 variavel : FC está definida como [MAX_PLAYERS]?

Se for mude seu codigo para este :
F = CreateVehicle(404,26.8984,-2637.6877,40.1543,94.5500,0,0,0); //F_Cinco
SetVehicleNumberPlate(F, "F_Cinco");
FC[playerid] = Create3DTextLabel("F_Cinco", laranja, 0.0,0.0,0.0,10.0,0,1); // linha 104
Attach3DTextLabelToVehicle(FC[playerid],F, 0.0,0.0,0.2.0);

F_Cinco
11/07/2012, 07:29 PM
A variavel : FC está definida como [MAX_PLAYERS]?

Se for mude seu codigo para este :
F = CreateVehicle(404,26.8984,-2637.6877,40.1543,94.5500,0,0,0); //F_Cinco
SetVehicleNumberPlate(F, "F_Cinco");
FC[playerid] = Create3DTextLabel("F_Cinco", laranja, 0.0,0.0,0.0,10.0,0,1); // linha 104
Attach3DTextLabelToVehicle(FC[playerid],F, 0.0,0.0,0.2.0);
n estava, definir, porém, mais 1 erro
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (104) : error 017: undefined symbol "playerid"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (105) : error 017: undefined symbol "playerid"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (105) : error 029: invalid expression, assumed zero
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (105) : warning 215: expression has no effect
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (105) : error 001: expected token: ";", but found ")"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (105) : fatal error 107: too many error messages on one line

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


5 Errors.

linhas:
FC[playerid] = Create3DTextLabel("F_Cinco", laranja, 0.0,0.0,0.0,10.0,0,1);
Attach3DTextLabelToVehicle(FC[playerid],F, 0.0,0.0,0.2.0);

@Riichard
11/07/2012, 07:32 PM
Ta pondo isso aonde?

OnGameModeInit?

F_Cinco
11/07/2012, 07:42 PM
Ta pondo isso aonde?

OnGameModeInit?
Sim.

@Riichard
11/07/2012, 07:48 PM
Use um loop então.
E troque o "playerid" pela letra do loop.

Ades
11/07/2012, 07:59 PM
Duvida rapidinha qual é o ID do deserto de Las Venturas ?

O objeto da pista de deserto , alguém sabe ?
Ja cassei na net mas só acho pedras , caso alguém saiba fala ae :P

Luciano*
11/07/2012, 09:27 PM
Você deve usar o mesmo interiorid na entrada do interior, e na saída.


Vish ZBT, nem consegui manolo, isso reseta as armas do player.

Outro detalhe, as armas que o cara comprar nao pode ser usada la dentro também, seria possivel?

---------------------------------------
Pra quem queira ajudar...

Eu quero bloquear todas as armas dentro da Ammu-Nation, mais ao sair da loja ele retornar com as mesmas armas novamente inclusive com as que ele comprar la!

zbt
11/07/2012, 09:37 PM
//ongamemodeinit
SetTimer("ammu", tempo, true);

forward ammu();
public ammu() {
for(new i; i < MAX_PLAYERS; ++i) {
switch(GetPlayerInterior(i)) {
case /*ids*/: {
SetPlayerArmedWeapon(i, 0);
}
}
}
return true;
}


Vai checar constantemente, logo as que ele comprar lá dentro, também serão "bloqueadas"

Luciano*
11/07/2012, 10:16 PM
Funcionou ZBT! muito obrigado.

Tem problema se eu deixar o SetTimer em 1000?

FireCat
11/07/2012, 10:20 PM
Funcionou ZBT! muito obrigado.

Tem problema se eu deixar o SetTimer em 1000?

Não.

Luciano*
11/07/2012, 10:23 PM
OK, vlw!

+rep Zbteta.

zbt
11/07/2012, 10:23 PM
1 segundo é o tempo exato. Se fosse maior, ainda daria para fazer um cbug sem mira.

Luciano*
12/07/2012, 12:42 AM
Outra duvida aqui, eu adcionei uns icones no mapa mais so aparece quando quer...
Eu fiz dessa maneira veja.

SetPlayerMapIcon(playerid, 1, 1178.0472,-1323.2557,14.1008,22, 0);//
SetPlayerMapIcon(playerid, 2, 1368.0690,-1279.7832,13.5469,6, 0);//
SetPlayerMapIcon(playerid, 3, 1791.7339,-1163.3142,23.8281,6, 0);//
SetPlayerMapIcon(playerid, 4, 1022.3602,-1121.4287,23.8701,23, 0);//
O que esta errado. (Meu teclado bugou, por isso o mal portugues)

Bruno Pereira
12/07/2012, 12:50 AM
Tenta assim:

SetPlayerMapIcon(playerid, 1, 1178.0472,-1323.2557,14.1008,22, 1);//
SetPlayerMapIcon(playerid, 2, 1368.0690,-1279.7832,13.5469,6, 1);//
SetPlayerMapIcon(playerid, 3, 1791.7339,-1163.3142,23.8281,6, 1);//
SetPlayerMapIcon(playerid, 4, 1022.3602,-1121.4287,23.8701,23, 1);//

Luciano*
12/07/2012, 12:58 AM
Nao adiantou.

- Coloquei em OnGameModeInit, esta correto ne?

sanalex
12/07/2012, 12:59 AM
Bota em OnPlayerConnect, do jeito que tava antes.

paulor
12/07/2012, 01:04 AM
Outra duvida aqui, eu adcionei uns icones no mapa mais so aparece quando quer...
Eu fiz dessa maneira veja.

SetPlayerMapIcon(playerid, 1, 1178.0472,-1323.2557,14.1008,22, 0);//
SetPlayerMapIcon(playerid, 2, 1368.0690,-1279.7832,13.5469,6, 0);//
SetPlayerMapIcon(playerid, 3, 1791.7339,-1163.3142,23.8281,6, 0);//
SetPlayerMapIcon(playerid, 4, 1022.3602,-1121.4287,23.8701,23, 0);//
O que esta errado. (Meu teclado bugou, por isso o mal portugues)


SetPlayerMapIcon(playerid, 1, 1178.0472,-1323.2557,14.1008,22, 0, MAPICON_GLOBAL);//
SetPlayerMapIcon(playerid, 2, 1368.0690,-1279.7832,13.5469,6, 0, MAPICON_GLOBAL);//
SetPlayerMapIcon(playerid, 3, 1791.7339,-1163.3142,23.8281,6, 0, MAPICON_GLOBAL);//
SetPlayerMapIcon(playerid, 4, 1022.3602,-1121.4287,23.8701,23, 0, MAPICON_GLOBAL);//

Luciano*
12/07/2012, 01:21 AM
Obrigado a voces 2, funcionou agora!

Coloquei em OnPlayerConnect e coloquei MAPICON_LOCAL.

So nao dou rep. porque bugou aqui, nao tem como dar.

F_Cinco
12/07/2012, 01:26 AM
SetPlayerMapIcon(playerid, 0, 1178.0472,-1323.2557,14.1008,22, 0, MAPICON_GLOBAL);//
SetPlayerMapIcon(playerid, 1, 1368.0690,-1279.7832,13.5469,6, 0, MAPICON_GLOBAL);//
SetPlayerMapIcon(playerid, 2, 1791.7339,-1163.3142,23.8281,6, 0, MAPICON_GLOBAL);//
SetPlayerMapIcon(playerid, 3, 1022.3602,-1121.4287,23.8701,23, 0, MAPICON_GLOBAL);//

ipsBruno
12/07/2012, 01:49 AM
/*
Params:
- file: the file name you want to search in.
- word: the word you want to search.
- ignorecase: ignore if the words is case sensitive.
*/
fwords( file[], word[], bool: ignorecase = true)//By: Firecat
{
new string[ 156 ],
File:Main = fopen( file, io_read ),
count
;

while( fread( Main, string ) )
{
if( strfind( string, word, ignorecase) != -1) count++;
}

return count;
}

O y_less perguntou-me:
E se tiver mais de uma palavra na linha?
Ou se a palavra for inside e ele está a procura da palavra side?

Como é que detecto isso? e.e

A função está perfeita. Não liga pra tudo o que ele diz, as vezes é "achar erro onde não tem" mesmo.

strfind PROCURA a primeira ocorrência da string. fword deve procurar a primeira ocorrência.

Em relação a "inside" e "side" coloque um espaço no final. Como " inside " e " side" ASSIM procura uma palavra mesmo. Ou mude o nome da função para "ffind" ou focurrences :mrgreen:

Em relação a dúvida: :p

f_ocurrences(file[], word[], bool: ignorecase = true) {

#if !defined MAX_LINHA
#define MAX_LINHA 255
#endif

static
string[MAX_LINHA],
File:cache, l, c, f, b;

cache = fopen(file, io_read);
l = strlen(word), c = 0;

while(fread(cache, string)) {
b = 0;
while((f = strfind(string, word, ignorecase, b)) != -1) {
c++;
b = f + l;
}
}
return fclose(cache), c;
}

#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 " ", %2)



O f_words não busca quando a palavra estiver "palavra", como só ela em uma linha, mas já deu pra pegar o sistema, né? Para pesquisar as que estão em uma linha basta:

#define f_words(%0,%1,%2) \
f_ocurrences(%0, %1 "\r\n", %2)

#define f_words(%0,%1,%2) \
f_ocurrences(%0, %1 "\n", %2)

#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 "\n", %2)


#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 "\r\n", %2)

#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 " ", %2)


São todas as excessões :)
Assim atende aos seus pedidos :o.

FireCat
12/07/2012, 10:43 AM
DraKiNs;1981106']A função está perfeita. Não liga pra tudo o que ele diz, as vezes é "achar erro onde não tem" mesmo.

strfind PROCURA a primeira ocorrência da string. fword deve procurar a primeira ocorrência.

Em relação a "inside" e "side" coloque um espaço no final. Como " inside " e " side" ASSIM procura uma palavra mesmo. Ou mude o nome da função para "ffind" ou focurrences :mrgreen:

Em relação a dúvida: :p

f_ocurrences(file[], word[], bool: ignorecase = true) {

#if !defined MAX_LINHA
#define MAX_LINHA 255
#endif

static
string[MAX_LINHA],
File:cache, l, c, f, b;

cache = fopen(file, io_read);
l = strlen(word), c = 0;

while(fread(cache, string)) {
b = 0;
while((f = strfind(string, word, ignorecase, b)) != -1) {
c++;
b = f + l;
}
}
return fclose(cache), c;
}

#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 " ", %2)



O f_words não busca quando a palavra estiver "palavra", como só ela em uma linha, mas já deu pra pegar o sistema, né? Para pesquisar as que estão em uma linha basta:

#define f_words(%0,%1,%2) \
f_ocurrences(%0, %1 "\r\n", %2)

#define f_words(%0,%1,%2) \
f_ocurrences(%0, %1 "\n", %2)

#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 "\n", %2)


#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 "\r\n", %2)

#define f_words(%0,%1,%2) \
f_ocurrences(%0, " " %1 " ", %2)


São todas as excessões :)
Assim atende aos seus pedidos :o.

Hehehe obrigado pelo exclarecimento! (:

F_Cinco
12/07/2012, 11:30 PM
Como seria essa função em ZCMD?

if(!strcmp(var0, "/reload", true))
{
if(!strlen(cmdtext + 32))
{
return SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
}
if(!strcmp("deagle", cmdtext + 32, true))
{
function31C(playerid, "COLT45", "colt45_reload", 4.0, 0, 0, 0, 0, 1);
}
else if(!strcmp("smg", cmdtext + 32, true) || !strcmp("ak", cmdtext + 32, true) || !strcmp("m4", cmdtext + 32, true))
{
function31C(playerid, "UZI", "UZI_reload", 4.0, 0, 0, 0, 0, 0);
}
else
{
SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
}
return 1;
}

Essas funções: var0 e function31C é das includes core e float, só ignorar o function31, e colocar ApplyAnimation.

BlueX
12/07/2012, 11:42 PM
Como seria essa função em ZCMD?

if(!strcmp(var0, "/reload", true))
{
if(!strlen(cmdtext + 32))
{
return SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
}
if(!strcmp("deagle", cmdtext + 32, true))
{
function31C(playerid, "COLT45", "colt45_reload", 4.0, 0, 0, 0, 0, 1);
}
else if(!strcmp("smg", cmdtext + 32, true) || !strcmp("ak", cmdtext + 32, true) || !strcmp("m4", cmdtext + 32, true))
{
function31C(playerid, "UZI", "UZI_reload", 4.0, 0, 0, 0, 0, 0);
}
else
{
SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
}
return 1;
}

Essas funções: var0 e function31C é das includes core e float, só ignorar o function31, e colocar ApplyAnimation.

Assim, não sei se voce queria que eu alterasse o function31C para ApplyAnimation, por isso deixei assim.

CMD:reload(playerid,params[]){
if(isnull(params))
return SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
if(!strcmp("deagle", params, true))
function31C(playerid, "COLT45", "colt45_reload", 4.0, 0, 0, 0, 0, 1);
else if(!strcmp("smg", params, true) || !strcmp("ak", params, true) || !strcmp("m4", params, true))
function31C(playerid, "UZI", "UZI_reload", 4.0, 0, 0, 0, 0, 0);
else
SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
return 1;
}

F_Cinco
12/07/2012, 11:45 PM
Assim, não sei se voce queria que eu alterasse o function31C para ApplyAnimation, por isso deixei assim.

CMD:reload(playerid,params[]){
if(isnull(params))
return SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
if(!strcmp("deagle", params, true))
function31C(playerid, "COLT45", "colt45_reload", 4.0, 0, 0, 0, 0, 1);
else if(!strcmp("smg", params, true) || !strcmp("ak", params, true) || !strcmp("m4", params, true))
function31C(playerid, "UZI", "UZI_reload", 4.0, 0, 0, 0, 0, 0);
else
SendClientMessage(playerid, 0xEFEFF7AA, "USAGE: /reload [deagle/smg/ak/m4]");
return 1;
}
Hum, era exatamente assim q eu queria, só para tê uma base de como fazer msm. Tem algo q explique o uso desse "isnull"?

FireCat
12/07/2012, 11:49 PM
Hum, era exatamente assim q eu queria, só para tê uma base de como fazer msm. Tem algo q explique o uso desse "isnull"?

Verifica se os parametros são null ou EOS
So for null faz return 1

F_Cinco
12/07/2012, 11:56 PM
Verifica se os parametros são null ou EOS
So for null faz return 1
Hum. Fiquei boiando aq. Não conheço esses parâmetros(null e EOS) ainda :/.

Dolby
12/07/2012, 11:59 PM
Hum. Fiquei boiando aq. Não conheço esses parâmetros(null e EOS) ainda :/.
isnull verifica se é nulo,ou seja,não foi identificado/digitado nada como 'parâmetro' no caso.

Luciano*
13/07/2012, 12:03 AM
Como eu faço pra adcionar vida ao player ao envéz de setar uma certa quantidade?
Tipo as comidas de lanchonete do jogo.

Dolby
13/07/2012, 12:07 AM
Como eu faço pra adcionar vida ao player ao envéz de setar uma certa quantidade?
Tipo as comidas de lanchonete do jogo.

stock GivePlayerHealth(playerid,float:health);
{
new float:HT;
GetPlayerHealth(playerid,HT);
SetPlayerHealth(playerid,HT+health);
return 1;
}

teste assim.

F_Cinco
13/07/2012, 12:08 AM
isnull verifica se é nulo,ou seja,não foi identificado/digitado nada como 'parâmetro' no caso.
Entendir! e esse EOS, qual a função desse parâmetro?

Como eu faço pra adcionar vida ao player ao envéz de setar uma certa quantidade?
Tipo as comidas de lanchonete do jogo.
Adicionar/Setar é a mesma coisa.

BlueX
13/07/2012, 12:11 AM
Entendir! e esse EOS, qual a função desse parâmetro?

EOS não é função, é apenas um rest de string, EOS = End Of String, é normalmente usando em strings.

exemplo


string[0] = EOS;


Assim o EOS torna a string nula o seja, resta as celulas.

Dolby
13/07/2012, 12:11 AM
Entendir! e esse EOS, qual a função desse parâmetro?

EOS = End Of String
ou seja: null ou ' /0 '

F_Cinco
13/07/2012, 12:19 AM
EOS não é função, é apenas um rest de string, EOS = End Of String, é normalmente usando em strings.

exemplo


string[0] = EOS;


Assim o EOS torna a string nula o seja, resta as celulas.
Vlws!

EOS = End Of String
ou seja: null ou ' /0 '
Vlws!

---
Esclareceram minhas dúvidas. ;) Achei q fosse algo mais complexo. :)

Luciano*
13/07/2012, 12:24 AM
Adicionar/Setar é a mesma coisa.

Adcionar, eu quero dizer o seguinte, se voce comer alguma coisa se sua vida tiver 10 ela será aumentada pra 20 no caso, e setar se o cara comer e eu usar SetPlayerHealth a vida dele nunca vai subir e sim ficar naquela saude setada.

@Gustavo Araujo

Desculpe-me mais nao entendi como devo usar aquele cod. é porque ainda estou aprendendo muita coisa.

Dolby
13/07/2012, 12:27 AM
stock GivePlayerHealth(playerid,float:health);
{
new float:HT;
GetPlayerHealth(playerid,HT);
SetPlayerHealth(playerid,HT+health);
return 1;
}

teste assim.
^^
4char

F_Cinco
13/07/2012, 12:42 AM
Adcionar, eu quero dizer o seguinte, se voce comer alguma coisa se sua vida tiver 10 ela será aumentada pra 20 no caso, e setar se o cara comer e eu usar SetPlayerHealth a vida dele nunca vai subir e sim ficar naquela saude setada.
No meu CMD de /darvida, eu uso SetPlayerHealth, e n tenho nenhum problema. Ou vc possui um sistema definido em X tempo para a vida do player ir aumentando? Ou vc quis dizer q ao executar o cmd a vida do player n é aumentada? :confused:

Luciano*
13/07/2012, 12:44 AM
Como devo usar este cod.? é porque ainda estou aprendendo muita coisa rs.


Obs: Fiz um menu em dialog das comidas

.FuneraL.
13/07/2012, 12:44 AM
Executar algum comando seria isto aqui que você está querendo:

new Float:Vida;
GetPlayerHealth(playerid, Vida);
SetPlayerHealth(playerid, Vida+20); // Troque o +20 pelo quanto quiser

Isto no comando a ser executado, assim setando apenas quando utilizar o comando, seria isto?

BreakDriFT
13/07/2012, 12:45 AM
F_cinco , Acontece que ao setar a vida do jogaador a vida dele muda para qual voce pois , ele quer que peguei o tanto de vida do cara e Almenta de acordo com o tanto que o cara pois.

F_Cinco
13/07/2012, 12:56 AM
Como devo usar este cod.? é porque ainda estou aprendendo muita coisa rs.


Obs: Fiz um menu em dialog das comidas
Vc já sabe criar comandos? Se n, veja esse tuto (http://forum.sa-mp.com/showthread.php?t=277842).

F_cinco , Acontece que ao setar a vida do jogaador a vida dele muda para qual voce pois , ele quer que peguei o tanto de vida do cara e Almenta de acordo com o tanto que o cara pois.
Deve ser alguma variável q está sendo usada de maneira incorreta, sendo assim, o valor da vida é armazenado de maneira incorreta. :confused:

Dolby
13/07/2012, 12:59 AM
stock GivePlayerHealth(playerid,float:health);
{
new float:HT;
GetPlayerHealth(playerid,HT);
SetPlayerHealth(playerid,HT+health);
return 1;
}


Apenas coloque isto no fim do gamemode e em vez de SetPlayerHealth use GivePlayerHealth.

F_Cinco
13/07/2012, 01:02 AM
Como q seria um comando criado apartir de envez de definirmos o id, definiremos letras para executar uma X função?

Ex.
/jogar [A~E]

Ades
13/07/2012, 01:03 AM
Duvida rapidinha qual é o ID do deserto de Las Venturas ?

O objeto da pista de deserto , alguém sabe ?
Ja cassei na net mas só acho pedras , caso alguém saiba fala ae :P

@UP .

F_Cinco
13/07/2012, 01:05 AM
@UP .
Tipo: aquele contêiner enorme, q se põe veículos do tipo aviões, lá?

Dolby
13/07/2012, 01:07 AM
Como q seria um comando criado apartir de envez de definirmos o id, definiremos letras para executar uma X função?

Ex.
/jogar [A~E]
Não intendi muito bem,você quer,exemplo,que no Comando, A equivale a SetPlayerSkin,B equivale a SendClientMessage e por ai vai...?

Luciano*
13/07/2012, 01:09 AM
Deu esses erros, tentei resolver mais nao consegui.

(5097) : error 004: function "GivePlayerHealth" is not implemented
(7289) : error 055: start of function body without function header
(7291) : error 021: symbol already defined: "GetPlayerHealth"
(7293) : error 010: invalid function or declaration
(7295) : warning 203: symbol is never used: "HT"

Dolby
13/07/2012, 01:10 AM
Deu esses erros, tentei resolver mais nao consegui.

(5097) : error 004: function "GivePlayerHealth" is not implemented
(7289) : error 055: start of function body without function header
(7291) : error 021: symbol already defined: "GetPlayerHealth"
(7293) : error 010: invalid function or declaration
(7295) : warning 203: symbol is never used: "HT"

stock GivePlayerHealth(playerid,float:health)
{
new float:HT;
GetPlayerHealth(playerid,HT);
SetPlayerHealth(playerid,HT+health);
return 1;
}

Eita.

F_Cinco
13/07/2012, 01:13 AM
Não intendi muito bem,você quer,exemplo,que no Comando, A equivale a SetPlayerSkin,B equivale a SendClientMessage e por ai vai...?
Isso msm, Gustavo. Aí, quando eu digitar /skin A, eu setaria minha skin para X, /skin B, ou skin, enfim, só exemplos.

Deu esses erros, tentei resolver mais nao consegui.

(5097) : error 004: function "GivePlayerHealth" is not implemented
(7289) : error 055: start of function body without function header
(7291) : error 021: symbol already defined: "GetPlayerHealth"
(7293) : error 010: invalid function or declaration
(7295) : warning 203: symbol is never used: "HT"
No início ou topo do comando
new HT;
aconselho no início do comando, pois definirá o valor da vida a ser setado e, em qualquer lugar poderá ser usado.

Dolby
13/07/2012, 01:18 AM
Isso msm, Gustavo. Aí, quando eu digitar /skin A, eu setaria minha skin para X, /skin B, ou skin, enfim, só exemplos.


No início ou topo do comando
new HT;
aconselho no início do comando, pois definirá o valor da vida a ser setado e, em qualquer lugar poderá ser usado.
Você poderá utilizar Switch + Case.

F_Cinco
13/07/2012, 01:21 AM
Você poderá utilizar Switch + Case.
Poderia me da um simples exemplo? Com por ex. usando a função SetPlayerSkin.

Dolby
13/07/2012, 01:25 AM
Poderia me da um simples exemplo? Com por ex. usando a função SetPlayerSkin.
Pensando bem,no caso que seria Letras,deverá utilizar strcmp:

if(!strcmp(params,"A",false,2) SetPlayerSkin(playerid,N);
if(!strcmp(params,"B",false,2) SendClientMessage(playerid,-1,"AAAA");

caso fosse numeros poderia utilizar Switch,pode ate haver outra forma,mas minha cabeça doendo não me deixa pensar em outra coisa.

F_Cinco
13/07/2012, 01:38 AM
Pensando bem,no caso que seria Letras,deverá utilizar strcmp:

if(!strcmp(params,"A",false,2) SetPlayerSkin(playerid,N);
if(!strcmp(params,"B",false,2) SendClientMessage(playerid,-1,"AAAA");

caso fosse numeros poderia utilizar Switch,pode ate haver outra forma,mas minha cabeça doendo não me deixa pensar em outra coisa.
Vlw!

---
Com base nisso, fiz o seguinte:
CMD:strip(playerid,params[])
{
if(!strcmp(params,"a",true,1))
ApplyAnimation(playerid, "STRIP", "strip_A", 4.0999, 1, 1, 1, 1, 1);
if(!strcmp(params,"b",true,1))
ApplyAnimation(playerid, "STRIP", "strip_B", 4.0999, 1, 1, 1, 1, 1);
if(!strcmp(params,"c",true,1))
ApplyAnimation(playerid, "STRIP", "strip_C", 4.0999, 1, 1, 1, 1, 1);
if(!strcmp(params,"d",true,1))
ApplyAnimation(playerid, "STRIP", "strip_D", 4.0999, 1, 1, 1, 1, 1);
if(!strcmp(params,"e",true,1))
ApplyAnimation(playerid, "STRIP", "strip_E", 4.0999, 1, 1, 1, 1, 1);
if(!strcmp(params,"f",true,1))
ApplyAnimation(playerid, "STRIP", "strip_F", 4.0999, 1, 1, 1, 1, 1);
if(!strcmp(params,"g",true,1))
ApplyAnimation(playerid, "STRIP", "strip_G", 4.0999, 1, 1, 1, 1, 1);
else return SCM(playerid, erro, "|USO| /strip [A~G]");
return 1;
}
Porém, ao executar ex. /strip f, executa o anim e em seguida retorna a mensagem :/ ;S

ipsBruno
13/07/2012, 01:43 AM
EOS definitivamente não torna a string NULA.

string[1] = 56;
string[0] = EOS; ou string[0] = '\0';

Agora de:
printf("%d", string[1]);

E o valor vai continuar o mesmo. O que ocorre é que as funções de sa:mp reconhecem uma string como array e ele pega o valor da "array" enquanto ela for diferente de zero (como caractere)

Por este motivo str[0] = 0 torna string "nula", pois indicará que o resto da string não importará mais. Logo [1] não será incluido como parte da string

:) Editado 23:39

ViniBorn
13/07/2012, 04:04 AM
stock GivePlayerHealth(playerid,float:health)
{
new float:HT;
GetPlayerHealth(playerid,HT);
SetPlayerHealth(playerid,HT+health);
return 1;
}

Eita.

new float:HT;
new Float:HT;

Ades
13/07/2012, 05:14 AM
Tipo: aquele contêiner enorme, q se põe veículos do tipo aviões, lá?

não po o deserto , saca o deserto o chão o solo sei lá como explica hsahashshsahs

Tenso , é o piso do deserto .

Luciano*
13/07/2012, 02:19 PM
Vlw galera, mais nem consegui usar rs. Usei esse que o RedKill me ensinou e funcionou perfeitamente, além de ser mais simples.


new Float:vida;
GetPlayerHealth(playerid,vida);
SetPlayerHealth(playerid,vida+10);

zbt
13/07/2012, 02:27 PM
Não tem segredo nenhum luciano.


CMD:comer(playerid) {
SendClientMessage(playerid, -1, "Você comeu");
GivePlayerHealth(playerid, 10);
return true;
}

stock GivePlayerHealth(playerid, Float:health)
{
new Float:HT;
GetPlayerHealth(playerid,HT);
SetPlayerHealth(playerid,HT+health);
return 1;
}

Usar a stock vai ser melhor do que ficar colocando tudo isso em todas funções.

F_Cinco
13/07/2012, 04:58 PM
É possível colocar 85 nomes em DIALOG_STYLE_LIST, usando strcat? Pq se for pra por normalmente n funciona. Se sim, gostaria de uma pequena base pra porder adaptar aq.

sanalex
13/07/2012, 05:01 PM
Sim.

Base:

new dialog[128]; // aumente de acordo com os textos...
strcat(dialog,"textotextotexto\n");
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", dialog, "Ok", "Cancelar");


Pode-se usar também DIALOG_STYLE_MSGBOX.

zbt
13/07/2012, 05:11 PM
É possível colocar 85 nomes em DIALOG_STYLE_LIST, usando strcat? Pq se for pra por normalmente n funciona. Se sim, gostaria de uma pequena base pra porder adaptar aq.

Normal não dá mesmo hehe. use uma variável.


new a[] = "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n"
;
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "a" , a, "a", "");

F_Cinco
13/07/2012, 05:15 PM
Sim.

Base:

new dialog[128]; // aumente de acordo com os textos...
strcat(dialog,"textotextotexto\n");
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", dialog, "Ok", "Cancelar");


Pode-se usar também DIALOG_STYLE_MSGBOX.
Vlw!

sanalex
13/07/2012, 05:22 PM
Nada, só lembrando que o modo de uso é assim:


new dialog[128]; // aumente de acordo com os textos...
strcat(dialog,"textotextotexto\n");
strcat(dialog,"textotextotexto\n");
strcat(dialog,"textotextotexto\n");
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", dialog, "Ok", "Cancelar");


.

F_Cinco
13/07/2012, 05:41 PM
Normal não dá mesmo hehe. use uma variável.


new a[] = "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n"
;
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "a" , a, "a", "");

Sim.

Base:

new dialog[128]; // aumente de acordo com os textos...
strcat(dialog,"textotextotexto\n");
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", dialog, "Ok", "Cancelar");


Pode-se usar também DIALOG_STYLE_MSGBOX.
Bom, já tentei fazer de ambas maneiras, porém, ambas acusam os mesmos erros. :S

CMDs:
CMD:anims(playerid)
{
new NomesAnims[] = "1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n84 - dancar [1~4]\n85 - negociar2"
;
ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_LIST, "Lista de Anims" , NomesAnims, "OK", "Sair");
return 1;
}

CMD:anims(playerid)
{
new NomesAnims[1268];
strcat(NomesAnims,1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n84 - dancar [1~4]\n85 - negociar2);
ShowPlayerDialog(playerid,5000,DIALOG_STYLE_LIST,"Lista de Anims", NomesAnims,"OK","Fechar");
return 1;
}

Erros:
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(55) : error 075: input line too long (after substitutions)
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(56) : error 037: invalid string (possibly non-terminated string)
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(56) : error 017: undefined symbol "saircarro"
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(56) : error 029: invalid expression, assumed zero
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(56) : fatal error 107: too many error messages on one line

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


5 Errors.

Linhas:
{ // linha 55
new NomesAnims[] = "1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n84 - dancar [1~4]\n85 - negociar2" //linha 56

zbt
13/07/2012, 05:45 PM
Velho usa \n\ para pular para a próxima linha.


new NomesAnims[] = "1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n\
5desligarcell\n6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n11 - dordecoluna\n\
//assim por diante.

sanalex
13/07/2012, 05:46 PM
Você está fazendo errado.


new dialog[128]; // aumente de acordo com os textos...
strcat(dialog,"1 - saircarro\n");
strcat(dialog,"2 - saircarro2\n");
strcat(dialog,"3 - handsup\n");
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", dialog, "Ok", "Cancelar");


continue...

---

E a propósito o do zbt daria no mesmo, use strcat, como acima.

F_Cinco
13/07/2012, 05:50 PM
Velho usa \n\ para pular para a próxima linha.


new NomesAnims[] = "1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n\
5desligarcell\n6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n11 - dordecoluna\n\
//assim por diante.
Estou fazendo exatamente assim, cara. :S

Você está fazendo errado.


new dialog[128]; // aumente de acordo com os textos...
strcat(dialog,"1 - saircarro\n");
strcat(dialog,"2 - saircarro2\n");
strcat(dialog,"3 - handsup\n");
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", dialog, "Ok", "Cancelar");


continue...

---

E a próposito o do zbt daria no mesmo, use strcat, como acima.
Nossa! Isso dará muito trabalho, mais enfim. Vou fazendo. Vlws!²

zbt
13/07/2012, 05:52 PM
isso

CMD:anims(playerid)
{
new NomesAnims[] = "1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n84 - dancar [1~4]\n85 - negociar2"
;
ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_LIST, "Lista de Anims" , NomesAnims, "OK", "Sair");
return 1;
}

é exatamente igual a isso ?


new a[] = "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n"
;

?? cade a quebra de linha no seu? Ai da erro mesmo.

F_Cinco
13/07/2012, 05:58 PM
isso

CMD:anims(playerid)
{
new NomesAnims[] = "1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n84 - dancar [1~4]\n85 - negociar2"
;
ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_LIST, "Lista de Anims" , NomesAnims, "OK", "Sair");
return 1;
}

é exatamente igual a isso ?


new a[] = "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n\
1\n1\n1\n1\n1\n"
;

?? cade a quebra de linha no seu? Ai da erro mesmo.
Você se refere a esse modelo?

CMD:
CMD:anims(playerid)
{
new NomesAnims[] = "1 - saircarro\n
2 - saircarro2\n
3 - handsup\n
4 - ligarcell\n
;

BlueX
13/07/2012, 06:14 PM
Você está fazendo errado.


new dialog[128]; // aumente de acordo com os textos...
strcat(dialog,"1 - saircarro\n");
strcat(dialog,"2 - saircarro2\n");
strcat(dialog,"3 - handsup\n");
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", dialog, "Ok", "Cancelar");


continue...

Seria meio inutil estar criando 85 strcat's para isso e sem falar que strcat normalmente buga a string, o melhor é usar format assim.


new sdialog[128];

format(sdialog,sizeof(sdialog),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n\
31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n"
);

format(sdialog,sizeof(sdialog),
"%s 46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n\
61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",sdialog
);

ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", sdialog, "Ok", "Cancelar");


Assim é muito simples e rápido de fazer.

Tenha atenção as linhas, normalmente o máximo de linhas é 12, eu faço isso cada vez que uso MySQL, o Query é muito grande, logo tenho que fazer fromats com strings que tem 1500 células.

Espero ter ajudado.

F_Cinco
13/07/2012, 06:51 PM
Seria meio inutil estar criando 85 strcat's para isso e sem falar que strcat normalmente buga a string, o melhor é usar format assim.


new sdialog[128];

format(sdialog,sizeof(sdialog),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n\
31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n"
);

format(sdialog,sizeof(sdialog),
"%s 46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n\
61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",sdialog
);

ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", sdialog, "Ok", "Cancelar");


Assim é muito simples e rápido de fazer.

Tenha atenção as linhas, normalmente o máximo de linhas é 12, eu faço isso cada vez que uso MySQL, o Query é muito grande, logo tenho que fazer fromats com strings que tem 1500 células.

Espero ter ajudado.
Cheguei a lembrar dos formats, mais n sabia como usá-los para essa ocasião. Dentre todas as formas q testei por hj, todas apresentam o msm erro, inclusive essa:

C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(67 -- 73) : error 075: input line too long (after substitutions)
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : error 017: undefined symbol "saircarro"
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : error 029: invalid expression, assumed zero
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : error 017: undefined symbol "n2"
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : fatal error 107: too many error messages on one line

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


5 Errors.

linhas:
31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\ // 74
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n\ //67 --73

BlueX
13/07/2012, 06:54 PM
Seria meio inutil estar criando 85 strcat's para isso e sem falar que strcat normalmente buga a string, o melhor é usar format assim.


new sdialog[128];

format(sdialog,sizeof(sdialog),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n\
31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n"
);

format(sdialog,sizeof(sdialog),
"%s 46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n\
61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",sdialog
);

ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Titulo", sdialog, "Ok", "Cancelar");


Assim é muito simples e rápido de fazer.

Tenha atenção as linhas, normalmente o máximo de linhas é 12, eu faço isso cada vez que uso MySQL, o Query é muito grande, logo tenho que fazer fromats com strings que tem 1500 células.

Espero ter ajudado.

Cheguei a lembrar dos formats, mais n sabia como usá-los para essa ocasião. Dentre todas as formas q testei por hj, todas apresentam o msm erro, inclusive essa:

C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(67 -- 73) : error 075: input line too long (after substitutions)
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : error 017: undefined symbol "saircarro"
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : error 029: invalid expression, assumed zero
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : error 017: undefined symbol "n2"
C:\Users\LuisGabriel\Desktop\SAMP\filterscripts\FA nims.pwn(74) : fatal error 107: too many error messages on one line

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


5 Errors.

linhas:
31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\ // 74
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n\ //67 --73


Manda o comando todo...

BreakDriFT
13/07/2012, 06:59 PM
Não falta o " ?

F_Cinco
13/07/2012, 07:05 PM
Manda o comando todo...

CMD:anims(playerid)
{
new Anims[1268];
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n\
31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n");

format(Anims,sizeof(Anims),
"%s 46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n\
61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",Anims);
ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_LIST, "Lista de Anims", Anims, "Ok", "Cancelar");
return 1;
}

BlueX
13/07/2012, 07:11 PM
CMD:anims(playerid)
{
new Anims[1268];
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n\
31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n");

format(Anims,sizeof(Anims),
"%s 46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56 - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n\
61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",Anims);
ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_LIST, "Lista de Anims", Anims, "Ok", "Cancelar");
return 1;
}


Tente assim


CMD:anims(playerid)
{
new Anims[1268];
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n"
);

format(Anims,sizeof(Anims),
"%s 31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n
46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56. - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n",Anims
);

format(Anims,sizeof(Anims),
"%s 61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",Anims
);

ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_LIST, "Lista de Anims", Anims, "Ok", "Cancelar");
return 1;
}

F_Cinco
13/07/2012, 07:17 PM
Tente assim


CMD:anims(playerid)
{
new Anims[1268];
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n"
);

format(Anims,sizeof(Anims),
"%s 31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n
46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56. - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n",Anims
);

format(Anims,sizeof(Anims),
"%s 61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",Anims
);

ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_LIST, "Lista de Anims", Anims, "Ok", "Cancelar");
return 1;
}
Os erros persistem, acho q vou tê q me virá de outra maneira, pq tá fial tentar por strings em dialog. :/
Vlws pela ajuda!

zbt
13/07/2012, 07:33 PM
Começa a prestar atenção no código também, é vidente que falta uma barra no anim médico.
Erros básicos que você mesmo pode corrigir.

CMD:anims(playerid)
{
new Anims[1268];
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n"
);

format(Anims,sizeof(Anims),
"%s 31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n\
46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56. - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n",Anims
);

format(Anims,sizeof(Anims),
"%s 61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",Anims
);

ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_LIST, "Lista de Anims", Anims, "Ok", "Cancelar");
return 1;
}

F_Cinco
13/07/2012, 07:52 PM
Começa a prestar atenção no código também, é vidente que falta uma barra no anim médico.
Erros básicos que você mesmo pode corrigir.

CMD:anims(playerid)
{
new Anims[1268];
format(Anims,sizeof(Anims),
"1 - saircarro\n2 - saircarro2\n3 - handsup\n4 - ligarcell\n5 - desligarcell\n\
6 - bebum\n7 - machoandando\n8 - andarcagando\n9 - bomba\n10 - mirar\n\
11 - dordecoluna\n12 - bundalele\n13 - bananeira\n14 - tapao\n15 - tomartapa\n\
16 - rir\n17 - vigia\n18 - mirar2\n19 - crossarms\n20 - deitar\n\
21 - medo\n22 - vomito\n23 - beber\n24 - agitar\n25 - tapinha\n\
26 - negociar\n27 - crack\n28 - smoke [1~4]\n29 - sentar ou gro\n30 - chat\n"
);

format(Anims,sizeof(Anims),
"%s 31 - ahva\n32 - taichi\n33 - chairsit\n34 - cair\n35 - retroceder\n\
36 - beijo\n37 - ferido\n38 - trago [1~3]\n39 - rap [1~4]\n40 - empurrar\n\
41 - chutar\n42 - cotovelada1\n43 - spray\n44 - cabecada\n45 - medico\n\
46 - koface\n47 - morte\n48 - saltar\n49 - exausto\n50 - maozada\n\
51 - rolar\n52 - abrir\n53 - roubarcarro\n54 - roubarcarro2\n55 - roubarcarro3\n\
56. - roubarcarro4\n57 - revistado\n58 - fumar\n59 - fumar2\n60 - bastao\n",Anims
);

format(Anims,sizeof(Anims),
"%s 61 - box\n62 - relaxar\n63 - comemorar\n64 - dedo\n65 - gritar\n\
66 - cop\n67 - cotovelada2\n68 - pontape\n69 - preparado\n70 - socar\n\
71 - chutao\n 72 - gkick\n73 - jogarbaixo\n 74 - lancar\n75 - negocio\n\
76 - xixi\n77 - knife [1~4]\n78 - basket [1~6]\n79 - carregar [deagle/smg/ak/m4]\n\
80 - andarmalandro [1~2]\n81 - apontar [1~3]\n82 - encostar [1~2]\n83 - strip [A~G]\n\
84 - dancar [1~4]\n85 - negociar2",Anims
);

ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_LIST, "Lista de Anims", Anims, "Ok", "Cancelar");
return 1;
}
Pode deixar. Não estava notando a barra. :/

@Riichard
14/07/2012, 12:38 AM
É possivel,fazer a seleção de skin, colocando o player dentro de um avião?

Fiz o codigo aqui, porém o veículo não apareçe.

zbt
14/07/2012, 12:41 AM
Não riichard, veículos não são exibidos na seleção de skins. infelizmente.

Ades
14/07/2012, 12:42 AM
É possivel,fazer a seleção de skin, colocando o player dentro de um avião?

Fiz o codigo aqui, porém o veículo não apareçe.

Dentro de um avião seria no interior ?

Caso sim creio que seja possível .

@Riichard
14/07/2012, 12:43 AM
Dentro de um avião seria no interior ?

Caso sim creio que seja possível .

Interior não.
O Player dirigindo mesmo..


@zbt
Vixi :\

zbt
14/07/2012, 12:44 AM
Veja esse tópico

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

Segundo o dugi não é possível.

Dolby
14/07/2012, 12:47 AM
Não,ate neste ponto o seu personagem não é 'Controlável'.

Ades
14/07/2012, 12:50 AM
Interior não.
O Player dirigindo mesmo..
Como os outros diseram não é possível caso fosse também queria pro meu '-'

zbt
14/07/2012, 12:52 AM
Veículos não aparecem de forma alguma no OnPlayerRequestclass, seja dentro dele ou usado como paisagem.

@Riichard
14/07/2012, 01:07 AM
Veículos não aparecem de forma alguma no OnPlayerRequestclass, seja dentro dele ou usado como paisagem.

Tenso...

Tem que falar com o Kalcor,para colocar uma função desse modo.

F_Cinco
14/07/2012, 12:55 PM
:S
CMD:idarmas(playerid)
{
new IDArmas[703]; // linha 614
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou está logado na Rcon!");
format(IDArmas,703, //616
"ID > 1 - Soqueira\nID > 2 - Taco de Golf\nID > 3 - Cassetete\nID > 4 - Faca\n\
ID > 5 - Taco de Bassball\nID > 6 - Pá\nID > 7 - Taco de sinuca\nID > 8 - Katana\n\
ID > 9 - Serra elétrica\nID > 10 - Double Dildo\nID > 11 - Dildo\nID > 12 - Vibrador\n\
ID > 13 - Vibrador Prata\nID > 14 - Buquê de Flores\nID > 15 - Cana\nID > 16 - Granada\n\
ID > 17 - Gás Lacrimogênio\n"
);

format(IDArmas,703, //624
"%s ID > 18 - Coquitel Molotov\nID > 22 - 9mm\nID > 23 - 9mm Silenciosa\n\
ID > 24 - Desert Eagle\nID > 25 - Shotgun\nID > 26 - Sawnoff Shotgun\n\
ID > 27 - Combat Shotgun\nID > 28 - Micro SMG/Uzi\nID > 29 - MP5\nID > 30 - AK-47\n\
ID > 31 - M4A1\nID > 32 - Tec-9\nID > 33 - Country Rifle\nID > 34 - Sniper Rifle\n",IDArmas
);

ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "ID - Armas",IDArmas, "Ok", "Fechar"); //631
return 1;
}

C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (614) : error 001: expected token: "-identifier-", but found "-integer value-"
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (616) : error 035: argument type mismatch (argument 1)
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (624) : error 035: argument type mismatch (argument 1)
C:\Users\LuisGabriel\Desktop\SAMP\gamemodes\HR.pwn (631) : error 035: argument type mismatch (argument 5)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

sanalex
14/07/2012, 01:05 PM
Cara tu ainda continua tentando assim, usa strcat pqp ^^.

F_Cinco
14/07/2012, 01:18 PM
Cara tu ainda continua tentando assim, usa strcat pqp ^^.
kkk, com a ajuda dos mlks eu conseguir fazer ontem, e sem falar q assim é simples e rápido. '-'

@EDIT
Já resolvir! :)

@Riichard
14/07/2012, 08:29 PM
Dúvida

- Bom, é possivel,quando o player connectar-se, criar certa QUANTIDADE de veículos, em alguns lugares,
e quando ele spawna-se os veículos fossem destruidos?

- Se sim, é se 2 player connectar-se no mesmo momento, os veículos não vão bugar?

- Resumindo: É possivel fazer que quando um player conectar no servidor, apareçe um certo veículo em TAL posição. Ai quando ele spawna-se o veículo sumia. Más.. quando outro player connectar, apareça os veículos novamente.

F_Cinco
14/07/2012, 08:43 PM
Bom, criei esse cmd de comprar drogas.

new Drogas[500];

CMD:comprardrogas(playerid,params[])
{
new QuantidadeDrogas;
if(sscanf(params,"i",QuantidadeDrogas)) return SCM(playerid, erro, "|USO| /comprardrogas [quantidade]");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2070.6321,-1551.8961,13.4258)) return SCM(playerid, vermelho,"Você não está no território do Tráfico para comprar Drogas.");
if(1 <(QuantidadeDrogas)> 50) return SCM(playerid, erro, "|TRÁFICO| Você só pode comprar 50 Drogas de cada vez.");
GetPlayerName(playerid,nome, sizeof(nome));
format(Str,sizeof(Str), "|TRÁFICO| Você comprou %i Drogas.",QuantidadeDrogas);
SCM(playerid, amarelo, Str);
Drogas[playerid] = QuantidadeDrogas;
GivePlayerMoney(playerid, -20);
return 1;
}

Como eu defino o preço de cada droga? O cara digita /comprardroas 5, supondo q cada drogas seja 50$, ou seja, ele vai gastar 200$ comprando 5 drogas.

Dolby
14/07/2012, 09:21 PM
Bom, criei esse cmd de comprar drogas.

new Drogas[500];

CMD:comprardrogas(playerid,params[])
{
new QuantidadeDrogas;
if(sscanf(params,"i",QuantidadeDrogas)) return SCM(playerid, erro, "|USO| /comprardrogas [quantidade]");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2070.6321,-1551.8961,13.4258)) return SCM(playerid, vermelho,"Você não está no território do Tráfico para comprar Drogas.");
if(1 <(QuantidadeDrogas)> 50) return SCM(playerid, erro, "|TRÁFICO| Você só pode comprar 50 Drogas de cada vez.");
GetPlayerName(playerid,nome, sizeof(nome));
format(Str,sizeof(Str), "|TRÁFICO| Você comprou %i Drogas.",QuantidadeDrogas);
SCM(playerid, amarelo, Str);
Drogas[playerid] = QuantidadeDrogas;
GivePlayerMoney(playerid, -20);
return 1;
}

Como eu defino o preço de cada droga? O cara digita /comprardroas 5, supondo q cada drogas seja 50$, ou seja, ele vai gastar 200$ comprando 5 drogas.
Cada droga não custa $20? então,apenas use uma simples formula para multiplicar 20 pelo tanto de drogas que ele comprou:

GivePlayerMoney(playerid, -(20*QuantidadeDrogas));

Alias,tem uma coisinha ai que me parece estar errada,o if.

Ades
14/07/2012, 10:47 PM
> Duvida <

Bom como liga um servidor de MTA , vi varios tutoriais e nada D:
é para eu fazer um mapa em grupo com uns amigos meus .



Ps : Mta para min é um ferramenta para samp pois cria maps caso pra você não ***** o dedo no **

Edu33
15/07/2012, 01:08 AM
/\ Ninguém te quer nb.

@Dúvida:
Como faz pra criar um comando pra quando o cara digitar /algo
aparecer um menu escolhendo qual gamemode entrar, dai quando ele clica muda pra o gamemode 08 por exemplo?
Alguém tem alguma idéia?

BreakDriFT
15/07/2012, 01:32 AM
Desse jeito vai Mudar para todos , Se for assim
Apenas coloque os Gm no server.cfg

e SendRconCommand. GMX


@EDIIIT
Ou Se quiser fazer com Virtual world , Apenas use o Virtual id como se fosse um gm Objetos nele Poder usar comando nele =), Ver chat so de quem ta em tal VW ;D

F_Cinco
15/07/2012, 03:14 AM
Cada droga não custa $20? então,apenas use uma simples formula para multiplicar 20 pelo tanto de drogas que ele comprou:

GivePlayerMoney(playerid, -(20*QuantidadeDrogas));

Alias,tem uma coisinha ai que me parece estar errada,o if.
O 50$, foi só um exemplo. A if IsPlayerIn.. já coloquei no inicio do cmd, tava apressado, pq tava de saída, então n observei bem. A sua vista, qual if está errada? :S, enfim, vlw!

ipsBruno
15/07/2012, 06:21 AM
Pra que format?



new bla [] = "oi \n oi \n oi";

Quando chegar em INPUT MAX. Você dá strcat

strcat(bla, "oi 41486 \n oi \n ");

@ 3500 posts :mrgreen:

BlueX
15/07/2012, 02:35 PM
DraKiNs;1987948']Pra que format?



new bla [] = "oi \n oi \n oi";

Quando chegar em INPUT MAX. Você dá strcat

strcat(bla, "oi 41486 \n oi \n ");

Bruno as vezes o strcat não é muito satisfatorio, na minha opinião, pois ele chega a bugar a sua string e fazendo com que os valores dela não sejam nulos, um exemplo é tipo, eu quando dava strcat no meu query tinha que toda hora dar um EOS na string, depois o ricop ensinou-me sobre o format e tornou-se mais facil, eu lembro que quando não dava EOS no query ele ficava tipo assim

OSELECT * FROM ...

Ou seja, ele tinha sempre um valor atrás, mas enfim, eu realizei um teste de velocidade e o strcat é mais rápido mas buga.

Benchmark

[15:41:32] BENCHMARKING...
[15:41:32] [strcat] Result: Hello WorldHello WorldHello WorldHello WorldHello WorldHello Wo - Functions: 100000 - Temp: 45
[15:41:32] [format] Result: Hello World - Functions: 100000 - Temp: 97


Código - http://pastebin.com/raw.php?i=HgSzGwiP

Estes resultados são variáveis, eu fiz uma media, ou seja, 3 resultados, mas como podem verificar o strcat buga completamente.

Por isso eu acho que é melhor usar format, ex da benchmark


format(stringformat,sizeof(stringformat),"Hello");
format(stringformat,sizeof(stringformat),"%s World",stringformat);

sanalex
15/07/2012, 02:50 PM
Olá pessoal, estou tentando fazer assim, mas ele não executa de jeito nenhum...



CMD:teste(playerid)
{
Blah[playerid][Qualquercoisa] = true;
return 1;
}

// Stock

stock GetBlah(playerid)
{
if(Blah[playerid][Qualquercoisa] == true)
{
GivePlayerMoney(playerid, 1000);
}
}


Nesse caso ele não ganharia o valor, alguém sabe me dizer oq está errado? /:

.FuneraL.
15/07/2012, 04:01 PM
CMD:teste(playerid)
{
Blah[playerid][Qualquercoisa] = true;
return 1;
}

// Stock

stock GetBlah(playerid)
{
if(Blah[playerid][Qualquercoisa] == true)
{
GivePlayerMoney(playerid, 1000);
}
}

Assim:

CMD:teste(playerid)
{
if(Variável[playerid] == true)
{
GivePlayerMoney(playerid, 1000);
}
return 1;
}

Bem mais simples, apenas usando o comando :mrgreen:

sanalex
15/07/2012, 04:04 PM
Sim, eu já tinha feito assim Funeral mas só que estou fazendo em stock pra simplificar, pois são várias coisas.

Já tentei tbm chamar a stock em OnPlayerConnect, mas não executa, o jeito vai ser fazer assim mesmo /:

.FuneraL.
15/07/2012, 04:08 PM
Sim, eu já tinha feito assim Funeral mas só que estou fazendo em stock pra simplificar, pois são várias coisas.

Já tentei tbm chamar a stock em OnPlayerConnect, mas não executa, o jeito vai ser fazer assim mesmo /:

Ou pode fazer assim também sanalex:

GetFunc(playerid)
{
if(Variavel[playerid] == true)
{
GivePlayerMoney(playerid, 1000);
}
return 1;
}

// Comando:

CMD:teste(playerid)
{
GetFunc(playerid);
return 1;
}

Testa aí :mrgreen:

sanalex
15/07/2012, 04:14 PM
Creio que funcionaria, mas a questão é como eu faria pra ele reconhecer um 2,3,4 if sem precisar criar outra stock.

Exemplo:


GetFunc(playerid)
{
if(Variavel[playerid][Dinheiro] == true) // modo de uso >> Variavel[playerid][Dinheiro] = true; // Daria dinheiro
{
GivePlayerMoney(playerid, 1000);
}
else if(Variavel[playerid][Arma] == true) // modo de uso Variavel[playerid][Arma] = true; // Daria arma
{
GivePlayerWeapon(playerid, 26);
}
return 1;
}


Como estou fazendo mas não funciona...

leonardo1434
15/07/2012, 04:16 PM
Bruno as vezes o strcat não é muito satisfatorio, na minha opinião, pois ele chega a bugar a sua string e fazendo com que os valores dela não sejam nulos, um exemplo é tipo, eu quando dava strcat no meu query tinha que toda hora dar um EOS na string, depois o ricop ensinou-me sobre o format e tornou-se mais facil, eu lembro que quando não dava EOS no query ele ficava tipo assim

OSELECT * FROM ...

Ou seja, ele tinha sempre um valor atrás, mas enfim, eu realizei um teste de velocidade e o strcat é mais rápido mas buga.

Benchmark

[15:41:32] BENCHMARKING...
[15:41:32] [strcat] Result: Hello WorldHello WorldHello WorldHello WorldHello WorldHello Wo - Functions: 100000 - Temp: 45
[15:41:32] [format] Result: Hello World - Functions: 100000 - Temp: 97


Código - http://pastebin.com/raw.php?i=HgSzGwiP

Estes resultados são variáveis, eu fiz uma media, ou seja, 3 resultados, mas como podem verificar o strcat buga completamente.

Por isso eu acho que é melhor usar format, ex da benchmark


format(stringformat,sizeof(stringformat),"Hello");
format(stringformat,sizeof(stringformat),"%s World",stringformat);



O mais eficiente seria assim: http://pastebin.com/d5cNhMTV


[13:20:27] Bench for stringformat: executes, by average, 1894.07 times/ms.
[13:20:29] Bench for stringstrcat: executes, by average, 2964.69 times/ms.

.FuneraL.
15/07/2012, 04:16 PM
Creio que funcionaria, mas a questão é como eu faria pra ele reconhecer um 2,3,4 if.

Exemplo:


GetFunc(playerid)
{
if(Variavel[playerid][Dinheiro] == true) // modo de uso >> Variavel[playerid][Dinheiro] = true; // Daria dinheiro
{
GivePlayerMoney(playerid, 1000);
}
else if(Variavel[playerid][Arma] == true) // modo de uso Variavel[playerid][Arma] = true; // Daria arma
{
GivePlayerWeapon(playerid, 26);
}
return 1;
}


Como estou fazendo mas não funciona...


Creio que seja por meio de elseif sim, pois quando você colocar GetFunc(playerid); em algum comando ou public, ele verificará tudo dentro da mesma e assim setará. Basta você testar :mrgreen:

sanalex
15/07/2012, 04:18 PM
Exatamente, mas não sei porque não funciona, já testei.

ViniBorn
15/07/2012, 04:23 PM
Que tal assim ?

GiveFunc(playerid, ToSet[])
{
if(!strcmp(ToSet,"arma"))
GivePlayerWeapon(playerid, 29, 100);
else if(!strcmp(ToSet,"vida"))
SetPlayerHealth(playerid, 100);
else if(!strcmp(ToSet,"colete"))
SetPlayerArmour(playerid, 100);
}

// No Comando
GiveFunc(playerid, "colete");

sanalex
15/07/2012, 04:26 PM
Hum, tinha pensado nisso, mas não sabia como fazer, muito bom, Ah entendir!

Valeu Vini, excelente.

leonardo1434
15/07/2012, 04:29 PM
@Viniborn, eu estava escrevendo um exemplo como este Q_Q

sanalex, não. o strcmp está comparando a string, caso seja verdade, ele continua.

Leo_Lost
15/07/2012, 04:57 PM
Bom tava vendo um sistema de remover o player do veiculo bem interessante, ele funciona o seguinte quando o player vai para abrir a porta de um carro ele ja e removido para fora do veiculo difente do RemovePlayerFromVehicleEx que ele entra no veiculo para depois ser removido se alguem tiver o sistema ou poder ajudar.

ViniBorn
15/07/2012, 04:59 PM
Bom tava vendo um sistema de remover o player do veiculo bem interessante, ele funciona o seguinte quando o player vai para abrir a porta de um carro ele ja e removido para fora do veiculo difente do RemovePlayerFromVehicleEx que ele entra no veiculo para depois ser removido se alguem tiver o sistema ou poder ajudar.

Basta usar SetPlayerPos em OnPlayerEnterVehicle

Leo_Lost
15/07/2012, 05:04 PM
Basta usar SetPlayerPos em OnPlayerEnterVehicle

Obrigado mas o OnPlayerEnterVehicle ira remover o player que tiver de passageiro neh? queria que remove-se so o motorista.

ViniBorn
15/07/2012, 05:09 PM
Obrigado mas o OnPlayerEnterVehicle ira remover o player que tiver de passageiro neh? queria que remove-se so o motorista.

Não, não. Só remove o passageiro usando o 'ispassenger'

Ex:


public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new Float:VBPos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
return true;
}

Leo_Lost
15/07/2012, 05:12 PM
Não, não. Só remove o passageiro usando o 'ispassenger'

Ex:


public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new Float:VBPos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
return true;
}


Okays vlw ae brother.

Leo_Lost
15/07/2012, 06:24 PM
Tentei faser desse tipo ae nem funciono.


public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new newcar = GetPlayerVehicleID(playerid);
if(IsAHudCar(newcar))
{
if(!IsAHud(playerid))
{
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
}
}
return 1;
}

ViniBorn
15/07/2012, 06:33 PM
IsAHudCar trata do ID ou Modelo do veículo?


// Por Modelo
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(IsAHudCar(GetVehicleModel(vehicleid)))
{
if(!IsAHud(playerid))
{
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
}
}
return 1;
}

// Por ID
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(IsAHudCar(vehicleid))
{
if(!IsAHud(playerid))
{
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
}
}
return 1;
}

Leo_Lost
15/07/2012, 06:35 PM
IsAHudCar trata do ID ou Modelo do veículo?


// Por Modelo
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(IsAHudCar(GetVehicleModel(vehicleid)))
{
if(!IsAHud(playerid))
{
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
}
}
return 1;
}

// Por ID
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(IsAHudCar(vehicleid))
{
if(!IsAHud(playerid))
{
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
}
}
return 1;
}

ID do Veiculo, agora deu certo obrigado mas uma vez =D.

Jason_King
15/07/2012, 07:15 PM
Aqui, antes eu usava o Hold Studio para editar objetos no player e agora eu estou usando este aqui: http://forum.sa-mp.com/showthread.php?t=209234&highlight=AttachObjectToPlayer. Eles funcionavam de boa na versão 0.3c, mas agora que estou usando a 0.3e não ta mais funcionando. Algum sabe porquê? Não gosta daquele FS que já vem na pasta de filterscripts "attachments".

Grato!

ipsBruno
15/07/2012, 08:04 PM
Bruno as vezes o strcat não é muito satisfatorio, na minha opinião, pois ele chega a bugar a sua string e fazendo com que os valores dela não sejam nulos, um exemplo é tipo, eu quando dava strcat no meu query tinha que toda hora dar um EOS na string, depois o ricop ensinou-me sobre o format e tornou-se mais facil, eu lembro que quando não dava EOS no query ele ficava tipo assim


É muito satisfatório, é só saber usar. O exemplo que dei funciona e é melhor usar strcat. Os teste de leonardo apontaram que strcat é 2 vezes mais rápida ..

Só vocês mesmo, concatenar string com format ...


// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>
#define maxloop (100000) //loops para teste

static stringformat[64];
static stringstrcat[64];

public OnFilterScriptInit()
{
printf("BENCH MARKING..");

new
dCount = GetTickCount();

for(new i; i<maxloop; ++i){
strcat(stringstrcat,"Hello ",sizeof(stringstrcat));
strcat(stringstrcat,"World",sizeof(stringstrcat));
}
printf("[strcat] Result: %s - Functions: %d - Temp: %d",stringstrcat,maxloop,(GetTickCount() - dCount));

new
bCount = GetTickCount();

for(new i; i<maxloop; ++i){
format(stringformat,sizeof(stringformat),"Hello");
format(stringformat,sizeof(stringformat),"%s World",stringformat);
}
printf("[format] Result: %s - Functions: %d - Temp: %d",stringformat,maxloop,(GetTickCount() - bCount));
return 1;
}

public OnFilterScriptExit()
{
return 1;
}


Olhao que você fez aí, OBVIO que vai bugar. Como quer que funcione se você não soube usa-la?

Fazer aquilo que vocês fez vai deixar a string "Hello WorldHello WorldHello World"


stringstrcat[0] = EOS; // LIMPARA A STRING
strcat(stringstrcat,"Hello ",sizeof(stringstrcat));
strcat(stringstrcat,"World",sizeof(stringstrcat));

@Riichard
15/07/2012, 11:16 PM
Alguem que usa Map Editor ai, sabe como resolver o erro:

Fica a tela azul e cheio de pontos vermelhos.

Alguém sabe como resolver? ._.

- Os arquivos já estão na pasta do GTA

Sampizito
15/07/2012, 11:18 PM
Por qual motivo acontece, de uma dialog response, não "setar" uma varíavel?

Ex:

Classe[playerid] = classe1;

paulor
16/07/2012, 01:15 AM
Por qual motivo acontece, de uma dialog response, não "setar" uma varíavel?

Ex:

Classe[playerid] = classe1;

Explica melhor ae!

WaGnerLiima
16/07/2012, 12:25 PM
Alguem que usa Map Editor ai, sabe como resolver o erro:

Fica a tela azul e cheio de pontos vermelhos.

Alguém sabe como resolver? ._.

- Os arquivos já estão na pasta do GTA

Botão direto => Executar como administrador. :)

F_Cinco
16/07/2012, 02:54 PM
Como fazer tipo, o cara chega um x lugar, e digita: /pegarprof, aê como faço para q ao digitar esse comando a dialog seja chamada no onplayerdialogresponse? kria só uma base.

ViniBorn
16/07/2012, 03:19 PM
Não seria ShowPlayerDialog ?

OnDialogResponse vai ser chamada quando você fizer alguma ação ...

@Riichard
16/07/2012, 05:20 PM
Botão direto => Executar como administrador. :)

Não é win 7.

WaGnerLiima
16/07/2012, 05:23 PM
Não é win 7.
Como assim? mais o mesmo Vale para Win Xp.

@Riichard
16/07/2012, 05:26 PM
Como assim? mais o mesmo Vale para Win Xp.

Mesmo assim... não adiantou.


This forum requires that you wait 120 seconds between posts. Please try again in 18 seconds.

WaGnerLiima
16/07/2012, 05:28 PM
Mesmo assim... não adiantou.
hm... deve ser seu Pc,aki sempre funfa,e ja ajudei outras pessoas com esse metodo.

Jason_King
16/07/2012, 06:02 PM
Aqui, antes eu usava o Hold Studio para editar objetos no player e agora eu estou usando este aqui: http://forum.sa-mp.com/showthread.php?t=209234&highlight=AttachObjectToPlayer. Eles funcionavam de boa na versão 0.3c, mas agora que estou usando a 0.3e não ta mais funcionando. Algum sabe porquê? Não gosta daquele FS que já vem na pasta de filterscripts "attachments".

Grato!

F_Cinco
16/07/2012, 08:59 PM
Não está setando o emprego.
CMD:procuraremprego(playerid)
{
ShowPlayerDialog(playerid,Empregos,DIALOG_STYLE_LI ST,"Empregos", "Mendingo","Aceitar","Sair");
return 1;
}

if(dialogid == Empregos)
{
if(!response) return SCM(playerid, vermelho, "|INFO| Busca de Emprego Cancelada!");
{
if(listitem == 0)
{
Profissao[playerid] = MENDINGO;
SCM(playerid, verde, "|INFO| Emprego Aceito. Parabéns!");
return 1;
}
}
}

:S

CidadeNovaRP
16/07/2012, 09:03 PM
if(dialogid == Empregos)
{
if(!response) return SCM(playerid, vermelho, "|INFO| Busca de Emprego Cancelada!");
else
{
if(listitem == 0)
{
Profissao[playerid] = MENDINGO;
SCM(playerid, verde, "|INFO| Emprego Aceito. Parabéns!");
return 1;
}
}
}

F_Cinco
16/07/2012, 09:12 PM
if(dialogid == Empregos)
{
if(!response) return SCM(playerid, vermelho, "|INFO| Busca de Emprego Cancelada!");
else
{
if(listitem == 0)
{
Profissao[playerid] = MENDINGO;
SCM(playerid, verde, "|INFO| Emprego Aceito. Parabéns!");
return 1;
}
}
}
Mesma coisa, man.

@OFF - Cidade
Sign LoL, kkk - sempre achei esse carinha arrogante, apesar de n conhecê-lo, até posso está errado, mais por seus posts, enfim.

F_Cinco
16/07/2012, 11:43 PM
Eu executo um X comando, aê como enviar a mensagem desse comando para os players q estão acerca de 5m de distância dele?

ViniBorn
17/07/2012, 12:01 AM
loop + IsPlayerInRangeOfPoint + SendClientMessage

F_Cinco
17/07/2012, 12:11 AM
loop + IsPlayerInRangeOfPoint + SendClientMessage
Vlw, Vini!

---
Poderia esclarecer minha dúvida anterior, de setar o emprego, logo acima?

CidadeNovaRP
17/07/2012, 12:45 AM
Mesma coisa, man.

@OFF - Cidade
Sign LoL, kkk - sempre achei esse carinha arrogante, apesar de n conhecê-lo, até posso está errado, mais por seus posts, enfim.

kkk
Mostra o SHOWPLAYERDIALOG ai...

ou tenta:
if(dialogid == Empregos)
{
if(!response) return SCM(playerid, vermelho, "|INFO| Busca de Emprego Cancelada!");
if(listitem == 0)
{
Profissao[playerid] = MENDINGO;
SCM(playerid, verde, "|INFO| Emprego Aceito. Parabéns!");
return 1;
}
}

Panico622
17/07/2012, 11:26 PM
como faço para acrecentar score?

assim ta setando:

GivePlayerScore(playerid,DriftPointsNow[playerid]);



@edit tava setplayerscore, nao give... kk ctrl+c errado

.FuneraL.
17/07/2012, 11:38 PM
como faço para acrecentar score?

assim ta setando:

GivePlayerScore(playerid,DriftPointsNow[playerid]);


GivePlayerScore(playerid,GetPlayerScore(playerid) +1);

Seria isto, só que com a var, se é que você a usa :mrgreen:

Panico622
17/07/2012, 11:41 PM
ja tentei e da undefined symbol

.FuneraL.
17/07/2012, 11:43 PM
ja tentei e da undefined symbol

Você definiu a variável?

Panico622
17/07/2012, 11:45 PM
da na funcao nao na variavel(GivePlayerScore)

.FuneraL.
17/07/2012, 11:52 PM
da na funcao nao na variavel(GivePlayerScore)

Tenta:

SetPlayerScore(playerid, GetPlayerScore(playerid) +1); :mrgreen:

Panico622
17/07/2012, 11:54 PM
xD vlw

OakleyBrasil
18/07/2012, 04:37 AM
if(strcmp(cmdtext, "/comando", true) == 0) //-- Comando


oque tem de errado neste codigo?
que esta dando esse erro:

warning 225: unreachable code

ja tentei botar "

if(strcmp(cmd, "/comando", true)
if(strcmp(text, "/comando", true)

so que fica o mesmo erro?

ViniBorn
18/07/2012, 05:19 AM
Qual a continuação desse comando??
É provável que você não esteja usando return corretamente ...

blacktrindade
18/07/2012, 06:51 PM
Alguem sabe o site onde é possivel criar uma textdraw em sua posição no jogo?

é que estou no serviço e queria criar uma draw por aqui em sua pos

BreakDriFT
18/07/2012, 06:52 PM
http://forum.sa-mp.com/showthread.php?t=254315

blacktrindade
18/07/2012, 07:04 PM
http://forum.sa-mp.com/showthread.php?t=254315

vlw eu havia procurado este topico mais nao tinha conseguido achar Thanks

(nao estou conseguindo te dar rep nao sei pq)

F_Cinco
18/07/2012, 07:08 PM
http://forum.sa-mp.com/showthread.php?t=254315
Nossa! :o

sanalex
18/07/2012, 11:10 PM
Olá pessoal, estou terminando uma parada aqui, mas estou com uma dúvida, como que eu faço mesmo pra substuir um texto digitado por algo.

Exemplo: /t

I love you :D

Por exemplo:

I love + :D

Sei que terei que utilizar strfind, mas o resto não consigo pensar agora... ???

ViniBorn
18/07/2012, 11:21 PM
Tente strins

sanalex
18/07/2012, 11:23 PM
Beleza.

FrostGF
19/07/2012, 12:28 AM
tem como mudar o valor de uma bool com pvar? se tiver alguem poste como que faz?

ipsBruno
19/07/2012, 02:28 AM
tem como mudar o valor de uma bool com pvar? se tiver alguem poste como que faz?

Não existe SetPVarBool :mrgreen:

SetPVarInt(playerid, "PVAR", _:true); -> sim
SetPVarInt(playerid, "PVAR", _:false); -> não


ou:

#define SetPVarBool(%0,%1,%2) SetPVarInt(%0,%1, _:(%2))

Leo_Lost
19/07/2012, 02:28 AM
Bom queria ajuda de voces parar setar de 20000 a 50000 nesta random, ja tentei alguns valores mas nao vai de geito algum.

new rgrana = Valor + random(Valor);
GivePlayerMoney(i, rgrana);

ipsBruno
19/07/2012, 02:30 AM
Bom queria que nessa random setasse de 20000 a 50000, ja tentei alguns valores mas nao vai de geito algum.

new rgrana = Valor + random(Valor);
GivePlayerMoney(i, rgrana);

GivePlayerMoney(i, random(50000 - 20000) + 20000);


Olá pessoal, estou terminando uma parada aqui, mas estou com uma dúvida, como que eu faço mesmo pra substuir um texto digitado por algo.

Exemplo: /t

I love you :D

Por exemplo:

I love + :D

Sei que terei que utilizar strfind, mas o resto não consigo pensar agora... ???

Use str_replace de Slice. Busca aí, boa sorte :p.

Leo_Lost
19/07/2012, 02:44 AM
Queria que mostrasse na mensagem o valor que vai sair na random como faço.



GivePlayerMoney(i, random(50000 - 20000) + 20000);
format(gstring, sizeof(gstring), "Você ganhou R$:%d",grana);
SendClientMessage(i, COLOR_YELLOW, gstring);

@Riichard
19/07/2012, 03:02 AM
Queria que mostrasse na mensagem o valor que vai sair na random como faço.



GivePlayerMoney(i, random(50000 - 20000) + 20000);
format(gstring, sizeof(gstring), "Você ganhou R$:%d",grana);
SendClientMessage(i, COLOR_YELLOW, gstring);

Acho que ficaria assim:
GivePlayerMoney(i, random(50000 - 20000) + 20000);
format(gstring, sizeof(gstring), "Você ganhou R$:%d", random);
SendClientMessage(i, COLOR_YELLOW, gstring);

Jason`
19/07/2012, 03:21 AM
Acho que ficaria assim:
GivePlayerMoney(i, random(50000 - 20000) + 20000);
format(gstring, sizeof(gstring), "Você ganhou R$:%d", random);
SendClientMessage(i, COLOR_YELLOW, gstring);

Errado.


new money = random(50000 - 20000) + 20000;
GivePlayerMoney(i, money);
format(gstring, sizeof gstring, "Você ganhou R$:%d", money);
SendClientMessage(i, COLOR_YELLOW, gstring);

@Riichard
19/07/2012, 03:22 AM
Errado.


new money = random(50000 - 20000) + 20000;
GivePlayerMoney(i, money);
format(gstring, sizeof gstring, "Você ganhou R$:%d", money);
SendClientMessage(i, COLOR_YELLOW, gstring);


LOL, nem percebi isso '-'
Obrigado Pedro. :p

FrostGF
19/07/2012, 04:11 AM
DraKiNs;1996426']Não existe SetPVarBool :mrgreen:

SetPVarInt(playerid, "PVAR", _:true); -> sim
SetPVarInt(playerid, "PVAR", _:false); -> não


ou:

#define SetPVarBool(%0,%1,%2) SetPVarInt(%0,%1, _:(%2))

muito obrigado :D:D:D

Leo_Lost
19/07/2012, 03:23 PM
Gostaria de saber como funciona esse SetPlayerWorldBounds ja tentei varias vezes criar um area para os players nao poder sair dela, mas nao da certo sempre bugava os kra so ficava vuando, obs: eu peguei as cordenadas que nem de gz.

SetPlayerWorldBounds(playerid, 20.0, 0.0, 20.0, 0.0);

ViniBorn
19/07/2012, 03:27 PM
A_____B
|_____|
|_____|
D_____C

Pegue as coordenadas dos pontos B e D, e então coloque no padrão abaixo :

SetPlayerWorldBounds(playerid,Float:x_max,Float:x_ min,Float:y_max,Float:y_min)

Leo_Lost
19/07/2012, 04:37 PM
Tipow quero adicionar essa cordenada abaixo para os players nao sair dessa area como ficaria ne SetPlayerWorldBounds.

GangZoneCreate(-487.675048, 2167.620605, -335.675048, 2295.620605);

ViniBorn
19/07/2012, 04:42 PM
SetPlayerWorldBounds(playerid, -335.675048, -487.675048, 2295.620605, 2167.620605)

Leo_Lost
19/07/2012, 04:50 PM
SetPlayerWorldBounds(playerid, -335.675048, -487.675048, 2295.620605, 2167.620605)

vlw ae mano mas uma vez :p.

F_Cinco
19/07/2012, 08:36 PM
Bom, quando eu spawno no servidor, eu sou setado para o int da prefeitura. :S

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SPRINT) //F
{
cmd_AbrirPrisaoAdmin(playerid);

/*=-=- Entrar Ints -=-=*/
cmd_binco(playerid);
cmd_barbearia1(playerid);
cmd_pizzaria(playerid);
cmd_barbearia2(playerid);
cmd_tatto(playerid);
cmd_academiagyn(playerid);
cmd_lanchonete(playerid);
cmd_lanchonete2(playerid);
cmd_ammonationpequena(playerid);
cmd_mercadopostogasosa(playerid);
cmd_dp(playerid);
cmd_lojinha(playerid);
cmd_prefeitura(playerid);
}
...
CMD:lojinha(playerid) //24/7, próxima a DP
{
if(!IsPlayerInRangeOfPoint(playerid,1.0, 1352.3152,-1757.7267,13.5078))
{
SetPlayerPos(playerid, -25.837535, -186.457077, 1003.546875);
SetPlayerFacingAngle(playerid, 359.013244);
SetPlayerInterior(playerid, 17);
}
return 1;
}

CMD:prefeitura(playerid) //Prefeitura
{
if(!IsPlayerInRangeOfPoint(playerid,1.0, 1123.2412,-2037.0558,69.8876))
{
SetPlayerPos(playerid, 389.0714,173.8597,1008.3828);
SetPlayerFacingAngle(playerid, 88.7135);
SetPlayerInterior(playerid, 3);
}
return 1;
}

Se eu deixar o int da prefeitura inativo, aí eu sou setado para o int da "lojinha". :S

Victor'
20/07/2012, 12:38 AM
if(!IsPlayerInRangeOfPoint(playerid,1.0, x,y,z))

Troque por:

if(IsPlayerInRangeOfPoint(playerid,1.0, x,y,z))

F_Cinco
20/07/2012, 12:44 AM
if(!IsPlayerInRangeOfPoint(playerid,1.0, x,y,z))

Troque por:

if(IsPlayerInRangeOfPoint(playerid,1.0, x,y,z))

Funcionou!

Qual a real função do ! antes de alguma função, n é msm diferenciar? Pois bem, pq estava bugando?

@EDIT
Fail Owned!
Tinha definido a Key Space, por isso quando eu corria chamava o cmd, kkk. Ai, ai, ai. :mad:

F_Cinco
21/07/2012, 09:03 PM
Comando não está funcionando

bcmd:v(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou não está logado na Rcon!");
new carro, IDC, Float:X, Float:Y, Float:Z, Float:FA, cor1, cor2;
if(sscanf(params,"ddd",carro,cor1,cor2)) return SCM(playerid, erro, "|USO| /v [modelo] [cor1] [cor2]");
if(400 < (carro) > 611) return SCM(playerid, erro, "O modelo deve ser entre 400 e 611");
if(0 <(cor1)> 252) return SCM(playerid, erro, "Cores entre o ID 0 ~ 252.");
if(0 <(cor2)> 252) return SCM(playerid, erro, "Cores entre o ID 0 ~ 252.");
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, FA);
IDC = CreateVehicle(carro, X, Y, Z+2, FA, 0, 0, 30000);
ChangeVehicleColor(IDC,cor1,cor2);
SetVehicleNumberPlate(IDC, "Admin");
PutPlayerInVehicle(playerid, IDC, 0);
return 1;
}

Esse cmd tava funcionando de boa, porém, dps q convertir pra bcmd n está mais funcionando, acho tbm q n pode ser isso. :S Sei lá...

sanalex
21/07/2012, 09:12 PM
Comando não está funcionando

bcmd:v(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,vermelho,"|INFO| Tu não é Admin ou não está logado na Rcon!");
new carro, IDC, Float:X, Float:Y, Float:Z, Float:FA, cor1, cor2;
if(sscanf(params,"ddd",carro,cor1,cor2)) return SCM(playerid, erro, "|USO| /v [modelo] [cor1] [cor2]");
if(400 < (carro) > 611) return SCM(playerid, erro, "O modelo deve ser entre 400 e 611");
if(0 <(cor1)> 252) return SCM(playerid, erro, "Cores entre o ID 0 ~ 252.");
if(0 <(cor2)> 252) return SCM(playerid, erro, "Cores entre o ID 0 ~ 252.");
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, FA);
IDC = CreateVehicle(carro, X, Y, Z+2, FA, 0, 0, 30000);
ChangeVehicleColor(IDC,cor1,cor2);
SetVehicleNumberPlate(IDC, "Admin");
PutPlayerInVehicle(playerid, IDC, 0);
return 1;
}

Esse cmd tava funcionando de boa, porém, dps q convertir pra bcmd n está mais funcionando, acho tbm q n pode ser isso. :S Sei lá...

Pode ser isto...