PDA

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


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

russo666
16/05/2010, 06:52 PM
Poxa,minha duvida é tao dificil assim?2 ou 3 pessoas postaram depois de mim e tiveram suas duvidas respondidas...eu nao


Já pensaste em usar o Search?

Quase todas as dúvidas que temos, já alguém no fórum teve a mesma dúvida e perguntou.

lucas_loky
16/05/2010, 07:00 PM
Obrigado pela dica amigo :mrgreen:,mas nao consegui achar o que eu queria.

Rick_DR
16/05/2010, 07:24 PM
Pessoal no meu Server os carros de reboque não dão para rebocar. mas ja vi pelo menos um server que dava.

não sabem como fazer isso ?

SuB_ZeRo0_
16/05/2010, 07:30 PM
Pessoal no meu Server os carros de reboque não dão para rebocar. mas ja vi pelo menos um server que dava.

não sabem como fazer isso ?


usa Search.. eu sei que tem, se usar o Search acha!

russo666
16/05/2010, 08:38 PM
@lucas: Andas a dormir mesmo. :roll:


Pessoal no meu Server os carros de reboque não dão para rebocar. mas ja vi pelo menos um server que dava.

não sabem como fazer isso ?


Vai aqui (http://forum.sa-mp.com/index.php?topic=28865.0) e/ou aqui (http://forum.sa-mp.com/index.php?topic=167582.0).

Search é maravilhoso. :lol:

lucas_loky
16/05/2010, 10:18 PM
Respondam minhas perguntas anteriores por favor...estou me matando aki rsrs...Essa tbm:

Onde consigo o id de uma grade?Sem ser no SA:MP Wiki,por que la nao consigo ver se a grade é boa,e muito menos achar uma sem dificuldade...

[H]unter
16/05/2010, 10:23 PM
alguem consegue fazer isso? quando o player for acertado por um tiro, aparesa a pickup do coração em cima da skin indicando perda de life, e caso o player tenha colete, quando for acertado e perca o colete apareca o pickup do colete em cima da skin.

SuB_ZeRo0_
16/05/2010, 10:26 PM
Respondam minhas perguntas anteriores por favor...estou me matando aki rsrs...Essa tbm:

Onde consigo o id de uma grade?Sem ser no SA:MP Wiki,por que la nao consigo ver se a grade é boa,e muito menos achar uma sem dificuldade...





Usa Mta!!

[H]unter
16/05/2010, 10:50 PM
unter ]
alguem consegue fazer isso? quando o player for acertado por um tiro, aparesa a pickup do coração em cima da skin indicando perda de life, e caso o player tenha colete, quando for acertado e perca o colete apareca o pickup do colete em cima da skin.

alguem sabe fazer ou tem ideiaaA?

blackinhu214
17/05/2010, 03:09 AM
dae galera =D olha eu to começando agora a intender a linguagem...
qria pedir uma ajudinha como faço pra botar tempo no /carandiru eu qria dxa tipo assim /carandiru (ir) (tempo). ta ae o codigo


if(strcmp(cmd, "/carandiru",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 3)
{
SendClientMessage(playerid, COLOR_GREY, " Voce não esta autorizado para usar este comando!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /presidio [ id ]");
return 1;
}
if(admtrampando[playerid] < 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Você não está trabalhando! (/profadmin)");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Voce Colocou o(a) %s No Guantanamo.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "* Voce foi colocado no Guantanamo Pelo Admin %s.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
GameTextForPlayer(giveplayerid, "~b~Bem Vindo ao ~n~~r~Guantanamo", 5000, 3);
WantedPoints[giveplayerid] = 0;
WantedLevel[giveplayerid] = 0;
PlayerInfo[giveplayerid][pJailed] = 2;
PlayerInfo[giveplayerid][pJailTime] = 3600;
SetPlayerPos(giveplayerid, 107.2300,1920.6311,18.5208);
SetPlayerWorldBounds(giveplayerid, 337.5694,101.5826,1940.9759,1798.7453); //285.3481,96.9720,1940.9755,1799.0811
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " O Player esta off !");
return 1;
}
}
return 1;
}


vlw =D

[H]unter
17/05/2010, 04:01 PM
PlayerInfo[giveplayerid][pJailTime] = 3600;// time 3600 só vc mudar :D

lucas_loky
17/05/2010, 06:42 PM
Eu queria criar um sistema de admins,mas tou com uns problemas...Queria que fosse mais ou menos assim:


if (strcmp("/daradm", cmdtext, true, 10) == 0)
{
// OBS: quando alguem digitar apenas /adm, vai falar +/- assim : Uso correto: /daradmin [id]
//O comando só pode ser usado por adms logados na RCON
//Eu criei um sistema de level de ADM,no começo coloquei new LevelADM[MAX_PLAYERS] eu fui totalmente no chute,nao faço a minima ideia de se isso ta certo...dai o que eu coloquei ficou mais ou menos assim
LevelADM[playerid]++;//Nesse caso,vai aumentar o level de ADM de quem usar o comando,mas eu queria que fosse do ID que o ADM escolhesse
SendClientMensage(playerid,azul,"Parabens,agora voce e um ADM lvl X")//A mensagem é mandada pra quem evoluiu de level,nao quem upou o comando
SendClientMensageToAll(Nao sei direito o que fica aqui,mas queria que fosse verde e falasse Mais ou menos assim:tal player virou adm,o adm que virou ele foi tal )
//Caso o id nao tivesse on,falava alguakm coisa do tipo:ID invalido
}
return 1;
}

//acho que é só issso,qualquer coisa edito depois



Outra duvida é qual a diferença entre SetCameraPos e SetCameraLookAt (alguma coisa assim)

Só isso,obrigado

Ambrósio
17/05/2010, 08:14 PM
Outra duvida é qual a diferença entre SetCameraPos e SetCameraLookAt (alguma coisa assim)


SetCameraPos= Posição da câmera.
SetCameraLookAt= Lugar que a câmera irá filmar.

lucas_loky
18/05/2010, 12:03 AM
Como assim,lugar que a camera ira filmar?
POr exemplo,eu quero colocar a camera pra olhar em tal lugar na sele~çao de gangues,eu uso o Pos ou LookAt?

russo666
18/05/2010, 12:08 AM
Como assim,lugar que a camera ira filmar?
POr exemplo,eu quero colocar a camera pra olhar em tal lugar na sele~çao de gangues,eu uso o Pos ou LookAt?


LookAt.

lucas_loky
18/05/2010, 04:45 PM
Ok,obrigado...e do comando?Como fica?

russo666
18/05/2010, 05:20 PM
O comando fiz à pressa, pode ter algum erro, mas é só postares ou eu ou outro ajudamos.

O valor das strings eu deixei a 128 caso queiras alterar alguma coisa.

if (strcmp("/daradmin", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) //Se quem usou o comando não estiver logado com a RCON, receberá a mensagem abaixo.
{
return SendClientMessage(playerid,COLOR_RED,"Tens que ser admin RCON para poder dar admin."); //Mensagem referida acima.
}
new alvo,nivel;
if(sscanf(params,"ud",alvo,nivel)) //Caso quem usou o comando não usar correctamente (/daradmin id nivel), receberá a mensagem abaixo.
{
return SendClientMessage(playerid,COLOR_RED,"/daradmin id nivel"); //Mensagem referida acima.
}
PlayerInfo[alvo][admin] = nivel; //Aqui os dados do 'alvo' serão alterados para Administrador nível tal. Esta linha deverá ser alterada consoante o seu Script.
new string[128],
string2[128],
jogador[MAX_PLAYER_NAME],
admin[MAX_PLAYER_NAME];
GetPlayerName(alvo,jogador,sizeof(jogador));
GetPlayerName(playerid,admin,sizeof(admin));
format(string,sizeof(string),"Parabéns %s, foste promovido a Administrador nível %d por %s!",jogador,nivel,admin);
format(string2,sizeof(string2),"%s foi promovido a Administrador por %s.",jogador,admin);
SendClientMessage(alvo,COLOR_GREEN,string);
SendClientMessageToAll(COLOR_GREEN,string2);
return 1;
}


sscanf by Y_Less:

/*----------------------------------------------------------------------------*-
Function:
sscanf
Params:
string[] - String to extract parameters from.
format[] - Parameter types to get.
{Float,_}:... - Data return variables.
Return:
0 - Successful, not 0 - fail.
Notes:
A fail is either insufficient variables to store the data or insufficient
data for the format string - excess data is disgarded.

A string in the middle of the input data is extracted as a single word, a
string at the end of the data collects all remaining text.

The format codes are:

c - A character.
d, i - An integer.
h, x - A hex number (e.g. a colour).
f - A float.
s - A string.
z - An optional string.
pX - An additional delimiter where X is another character.
'' - Encloses a litteral string to locate.
u - User, takes a name, part of a name or an id and returns the id if they're connected.

Now has IsNumeric integrated into the code.

Added additional delimiters in the form of all whitespace and an
optioanlly specified one in the format string.
-*----------------------------------------------------------------------------*/

stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{

new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}

lucas_loky
18/05/2010, 05:42 PM
Mto obrigado,mas o que a coisa de baixo tem a ver comigo..?xD fiquei em duvida se ´´e pra mim ou nao rsrs


@edit

Sabendo ou nao,eu peguei akilo e coloquei no final do GM...
Tao dando os seguintes erros:

C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\Tiroteio.pwn (373) : error 017: undefined symbol "params"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\Tiroteio.pwn (377) : error 017: undefined symbol "PlayerInfo"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\Tiroteio.pwn (377) : warning 215: expression has no effect
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\Tiroteio.pwn (377) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\Tiroteio.pwn (377) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\Tiroteio.pwn (377) : 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.


if (strcmp("/daradmin", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) //Se quem usou o comando não estiver logado com a RCON, receberá a mensagem abaixo.
{
return SendClientMessage(playerid,vermelho,"Tens que ser admin RCON para poder dar admin."); //Mensagem referida acima.
}
new alvo,nivel;
if(sscanf(params,"ud",alvo,nivel)) //Caso quem usou o comando não usar correctamente (/daradmin id nivel), receberá a mensagem abaixo.
{
return SendClientMessage(playerid,vermelho,"/daradmin id nivel"); //Mensagem referida acima.
}
377: PlayerInfo[alvo][Admin] = nivel; //Aqui os dados do 'alvo' serão alterados para Administrador nível tal. Esta linha deverá ser alterada consoante o seu Script.
new string[128],
string2[128],
jogador[MAX_PLAYER_NAME],
admin[MAX_PLAYER_NAME];
GetPlayerName(alvo,jogador,sizeof(jogador));
GetPlayerName(playerid,admin,sizeof(admin));
format(string,sizeof(string),"Parabéns %s, foste promovido a Administrador nível %d por %s!",jogador,nivel,admin);
format(string2,sizeof(string2),"%s foi promovido a Administrador por %s.",jogador,admin);
SendClientMessage(alvo,COLOR_GREEN,string);
SendClientMessageToAll(COLOR_GREEN,string2);
return 1;
}

russo666
18/05/2010, 05:50 PM
É por causa que eu usei o sscanf no comando para verificar se o comando foi usado correctamente.

Reparei que no comando vai te dar quase de certeza o erro undefined params, pois no OnPlayerCommandText não há isso. Eu estou acustumado a zcmd e dcmd e depois dá nisto. -.-'
E se a tua info de admin for PlayerInfo[alvo][admin] tipo o que importa é esta parte 'admin' que estará no teu enum, se for admin, terás que alterar o admin[MAX_PLAYER_NAME] para qualquercoisa[MAX_PLAYER_NAME] e de seguida no GetPlayerName e nas strings. Agora não me lembro se alteras params para cmdtext ou lá o que é que é. Estou confuso. O:

lucas_loky
18/05/2010, 05:55 PM
Editei meu post acima...
Da uma olhada la

onde coloco o comando gigante que voce passou?(a segunda coisa)


Nao entendi o que voce disse muito bem,pode me explicar melhor?

PS:Mexo no pawn a no max 4 dias

russo666
18/05/2010, 06:00 PM
Entendo.

No comando que te fiz a coisa do PlayerInfo era para editares consoante o teu gamemode. Se estás a fazer um do início eu não sei como te hei-de explicar. Vai aqui: http://wiki.sa-mp.com/wiki/Creating_A_Simple_Administration_FilterScript e vê a parte que diz Enumeration e/ou então segue esse tutorial. Quando ao undefined params eu já tinha dito o porquê disso no meu post anterior. Lê ele e vais entender.

Edit: O sscanf é o que se pode chamar de extractor de parâmetros, ou seja para o comando funcionar tens que utilizar /daradmin id nivel. Se usares só /daradmin id, ele vai ver que só usaste o comando /daradmin id e não usaste o parâmetro de nível, então irá te alertar para usares o comando correctamente. Isto é um exemplo, espero que entendas.

Edit 2: Quando eu disse consoate eu queria dizer conforme.

lucas_loky
18/05/2010, 08:48 PM
Nao consegui resolver o erro...Nao entendi muito bem o que tenho que modificar rsrs..mudei o params pra cmdtext mas outros erros continuavam...

Fiz um novo GM,mas agora o pawno ta zuando comigo....
No começo do GM eu tenho

#define amarelo 0xF6F600AA

Olha o erro que aparece

C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(98) : error 017: undefined symbol "amarelo"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

russo666
18/05/2010, 09:46 PM
Viste o link que te mandei? Se vires e leres a parte que eu te disse, irás entender.

O pawno não está a zuar contigo, tens esse #define no lugar errado. Tem que ser fora do 'if defined'. Tem que estar após o #include <a_samp>

Peedro_Felix
19/05/2010, 02:22 PM
Eu To Com 2 Dúvidas,

1° Qual a Diferença de CreateObject e CreateDynamicObject ?

2° Pq Quando Eu Ponho Muitos Objetos no Gm Pelo MTA, Não Aparece Todos ?

russo666
19/05/2010, 02:27 PM
Eu To Com 2 Dúvidas,

1° Qual a Diferença de CreateObject e CreateDynamicObject ?

2° Pq Quando Eu Ponho Muitos Objetos no Gm Pelo MTA, Não Aparece Todos ?


CreateObject é uma função nativa do sa-mp que cria objectos. O CreateDynamicObject é uma função 'nativa' de um streamer.

Não aparecem todos porque o SA-MP tem um limite de objectos, por isso podes usar um streamer para contronar isso.

lucas_loky
19/05/2010, 04:18 PM
Obrigado russo,te acho um membro muito experiente =)

Problema rsolvido

@edit

Como coloco um carro só pra tal gangue?Eu sei como fazer isso,mas só colocando o id por exemplo 500 só pra tal gangue...eu queria que um carro na cordenada x y z pudesse só a grove(exemplo) e outro carro na cordenada x2 y2 z2 (exemplo) só os ballas piderem pegar...

russo666
19/05/2010, 04:46 PM
Experiente? Nada disso. Fico feliz por ter ajudado.

Sobre a tua pergunta, vai aqui: http://forum.sa-mp.com/index.php?topic=132845.0

:D

lucas_loky
19/05/2010, 04:57 PM
Obrigado,éra o que eu queria...

Para que serve SetPlayerInterior(playerid, 0);?

russo666
19/05/2010, 05:07 PM
Isso serve para alterar o Interior de um e um só jogador de uma vez.

Nesse caso ele vai alterar o interior do jogador para o interior 0. Que neste caso é o 'exterior' salvo erro é sempre.

lucas_loky
19/05/2010, 05:12 PM
Voce deve me odiar por nunca usar o search rsrs...
Dessa vez eu juro que usei,coloquei Como salvar gangue e dono,mas nao achei nada...

Como salva as gangues e os donos(e membros) delas?

russo666
19/05/2010, 05:57 PM
Voce deve me odiar por nunca usar o search rsrs...
Dessa vez eu juro que usei,coloquei Como salvar gangue e dono,mas nao achei nada...

Como salva as gangues e os donos(e membros) delas?


Essa já é mais complicada, tens que usar as File functions ou Dini ou outra coisa que te permita guardar/carregar dados. E eu não tenho tempo para fazer tutoriais xD. Estou agora mais o Airton testando umas coisas e tal. Vê o tutorial do DraKoN ou procura algum tutorial de criar sistema de registo com Dini e vais entender como gravar os Gangs.

andmeida10
19/05/2010, 06:59 PM
o DraKOn tem um tuto muito util sobre isso.... Vê-o

lucas_loky
19/05/2010, 08:16 PM
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(27) : error 001: expected token: "}", but found "-identifier-"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(57) : error 017: undefined symbol "Faggio2"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(58) : error 017: undefined symbol "Faggio3"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(143) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(160) : error 017: undefined symbol "Faggio2"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

enum AluguelCarros
{
Faggio
Faggio2
Faggio3
}

Carros[Faggio] = CreateVehicle(462,1561.1545,-2322.1140,13.5479,269.3857,-1,-1,50000); // faggio 1
Carros[Faggio2] = CreateVehicle(462,1560.8850,-2325.5154,13.5472,270.6391,-1,-1,50000); // faggio 2
Carros[Faggio3] = AddStaticVehicle(462,1560.6271,-2328.6116,13.5469,277.2191,-1,-1); // faggio 3
return 1;
}

if (strcmp("/sairdocarro", cmdtext, true, 10) == 0)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
}
return 1;
}
143: return 0; //Um return é que acaba o ocmando e outro é que acaba o OnPlayerComandText
}


Oque fazer para resolver os erros?

andmeida10
19/05/2010, 08:30 PM
tenta:


enum AluguelCarros
{
Faggio,
Faggio2,
Faggio3
};

russo666
19/05/2010, 08:31 PM
Em relação a isso eu agora fiquei confuso admito.

No enum, tem que ser:

enum AluguelCarros
{
Faggio,
Faggio2,
Faggio3
};

O que me está a fazer confusão é esse Carros[Faggio], não estou bem certo de que forma é que isso está scriptado.

Em relação ao comando, não vejo aí nada de errado além dos caracteres do comando, ou apagas esse 10 ou alteras para o número de caracteres.

lucas_loky
19/05/2010, 10:29 PM
enum AluguelCarros
{Faggio,Faggio2,Faggio3};
new Carros[AluguelCarros];
Coloquei assim,tem problema?

C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(51) : error 017: undefined symbol "Carros"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(51) : error 017: undefined symbol "Faggio2"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(51) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(51) : 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.


50: Carros[Faggio] = CreateVehicle(462,1561.1545,-2322.1140,13.5479,269.3857,-1,-1,50000); // faggio 1
Carros[Faggio2] = CreateVehicle(462,1560.8850,-2325.5154,13.5472,270.6391,-1,-1,50000); // faggio 2
Carros[Faggio3] = AddStaticVehicle(462,1560.6271,-2328.6116,13.5469,277.2191,-1,-1); // faggio 3
return 1;
}


Nao adiantou muita coisa,o erro do Comando sumiu do nada,fora isso continuaram os outros erros

andmeida10
20/05/2010, 06:09 AM
olha, eu agora vou para a escola, mas daqui a umas 6h resovo-te isso...

Rick_DR
20/05/2010, 12:12 PM
Pessoal alguém sabe as coordenadas e o virtual World daquele estádio em LV ? andei a procura e ate hoje não encontrei

russo666
20/05/2010, 12:15 PM
Pessoal alguém sabe as coordenadas e o virtual World daquele estádio em LV ? andei a procura e ate hoje não encontrei


Não sei qual é, anyway o VirtualWorld não interessa, mas sim o interior.

Tenta aqui: http://weedarr.wikidot.com/interior

Rick_DR
20/05/2010, 12:30 PM
Então quer dizer que posso meter qualquer valor no virtual world ?

já encontrei o que queria.. mas gostava de saber mais sobre isso

russo666
20/05/2010, 12:40 PM
Sim. O VirtualWorld são apenas outros mundos por assim dizer, outras dimensões iguais à principal/primeira.

Mas por exemplo os VirtualWorlds não se comunicam, não consegues estar no 1 e ver pessoas no 2, carros, etc.

Atenção que pode acontecer Estarem dois jogadores no 1, o 2º vai para o VirtualWorld 2, e o que está no 1º mata-o depois de ele ir, isso pode acontecer porque demora um pouquito de nada até as alterações serem feitas.

Rick_DR
20/05/2010, 12:55 PM
e para adicionar carros nesses mundos ?

o MTA não da no meu pc . tentei meter la umas motas mas elas ficam sempre no mundo 0

russo666
20/05/2010, 01:02 PM
O MTA aqui também não dá.

Eu nunca experimentei a colocar carros em outros VW, mas sempre podes tentar adicionar uns carros no gamemode e depois no OnVehicleSpawn por exemplo usas se GetVehicleVirtualWorld == 0 return SetVehicleVirtualWorld == 1.

Rick_DR
20/05/2010, 02:11 PM
Não consegui colocar os veículos no Interior ! Alguém pode ajudar?

andmeida10
20/05/2010, 02:15 PM
new AluguelCarros [3]
{
Faggio,
Faggio,
Faggio
};




Faggio[0] = CreateVehicle(462,1561.1545,-2322.1140,13.5479,269.3857,-1,-1,50000); // faggio 1
Faggio[1]= CreateVehicle(462,1560.8850,-2325.5154,13.5472,270.6391,-1,-1,50000); // faggio 2
Faggio[2] = AddStaticVehicle(462,1560.6271,-2328.6116,13.5469,277.2191,-1,-1); // faggio 3
return 1;
}



if (strcmp("/sairdocarro", cmdtext, true, 10) == 0)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);
}
return 1;
}
}



PS: Não foi testado... tenta e fala se deu


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%



Não consegui colocar os veículos no Interior ! Alguém pode ajudar?



LinkVehicleToInterior ---> http://wiki.sa-mp.com/wiki/LinkVehicleToInterior

russo666
20/05/2010, 02:42 PM
@Rick_Dr eu não me expliquei bem desculpa, e sinceramente eu nunca liguei muito às funções nativas sobre veículos, e o OnVehicleSpawn é diferente do que o que eu pensava.

Vou te dar um exemplo que funciona, é um exemplo simples e que pode ser scriptado de uma maneira melhor e para muitos mais veículos sem ter que fazer um a um.

Está aqui um FS de testes se quiseres testar ou então simplesmente para entenderes.

#define FILTERSCRIPT

#include <a_samp>

new carro;

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
carro = AddStaticVehicle(411,790.2798,1677.8364,5.0168,270 .9201,106,1);
SetVehicleVirtualWorld(carro, 2);
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

#endif

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/w2", cmdtext, true) == 0)
{
SetPlayerVirtualWorld(playerid, 2);
SetPlayerPos(playerid, 795.6039, 1689.2346, 5.2813);
return 1;
}
return 0;
}

O carro encontra-se aqui mas junto à casa: http://i48.tinypic.com/21juixc.png
Testa no teu VW actual e depois usas o script que te dei para veres.

lucas_loky
20/05/2010, 04:23 PM
Testei com o new e nao deu certo...Talves seja o mesmo problema de outra vez,os new/enum tem que ficar acdima de onde e ambaixo de onde?

russo666
20/05/2010, 04:29 PM
Testei com o new e nao deu certo...Talves seja o mesmo problema de outra vez,os new/enum tem que ficar acdima de onde e ambaixo de onde?


Se tiveres no teu .pwn 'if defined filterscript'. Acima disso.

Tem que ficar abaixo dos teus includes. #include <QualquerCoisaAqui>

lucas_loky
20/05/2010, 04:35 PM
Vlw gente,obrigado andmeida e russo,deu tudo certo

@edit
{
if(newstate == 2)
{
new CarCheck = GetPlayerVehicleID(playerid);
if(CarCheck == Carros[Faggio] || CarCheck == Carros[Faggio2] || CarCheck == Carros[Faggio3] )
{
SendClientMessage(playerid,vermelho, "Digite /alugarmoto para poder usar essa moto(Faggio)");
TogglePlayerControllable(playerid,false);
return 1;
}
else
{
return 1;
}
}

return 1;
}


Novo problema...porque nao funciona?

russo666
20/05/2010, 04:53 PM
Quanto ao post que fizeste na página 21 que foi apagado, tenta assim.


new Faggio[3];


Faggio[0] = tal tal tal
Faggio[1]= tal tal tal
Faggio[2] = tal tal tal


Edit: Vou ver um filme filho.

lucas_loky
20/05/2010, 05:02 PM
Ok jaja resolvo isso,agora:

{
if (strcmp("/alugarveiculo", cmdtext, true, 10) == 0)
{
new ChecarGrana =GetPlayerMoney(playerid);
new CarCheck = GetPlayerVehicleID(playerid);
if(CarCheck == Carros[Faggio] || CarCheck == Carros[Faggio2] || CarCheck == Carros[Faggio3] )
{
if(ChecarGrana > 100)

SendClientMessage(playerid,vermelho, "Veiculo alugado com sucesso!");
GivePlayerMoney(playerid,-100);
TogglePlayerControllable(playerid,true);
return 1;
}
TogglePlayerControllable(playerid,1);}
}
return 1;
}

Oque há de errado nesse comando?

Só deu um warning,mas sei que nao é só isso...deu um warning de unrecheable code,na primeira linha que postei


@edit

Problema das faggios resolvido,agora só o do comando mesmo

russo666
20/05/2010, 05:33 PM
if (strcmp("/alugarveiculo", cmdtext, true) == 0) // Aqui eu removi o número '10', pois 10 é o número de caracteres, então para não andares sempre a alterar, deixas os comandos assim.
{
new ChecarGrana = GetPlayerMoney(playerid); // Aqui ele cria uma digamos uma 'palavra' que vai substituir tal função.
new CarCheck = GetPlayerVehicleID(playerid); // Mesmo que a cima.
if(CarCheck == Carros[Faggio] || CarCheck == Carros[Faggio2] || CarCheck == Carros[Faggio3]) // Depende de como tens scriptado as faggios.
{
if(ChecarGrana > 100) // Aqui 'checa a grana', se for maior que 100 prosegue
{
GivePlayerMoney(playerid,-100); // Tira 100$ ao jogador por alugar o carro
SendClientMessage(playerid,vermelho, "Veiculo alugado com sucesso!"); // Manda mensagem em vermelho a dizer que o carro foi alugado com sucesso
TogglePlayerControllable(playerid,1); // Descongela o jogador.
}
else // Aqui é a continuação do 'ChecarGrana'. Isto quer dizer que se o jogador não tiver 100$, serão aplicadas estas medidas. (Ou seja, o else quer dizer 'caso contrário').
{
TogglePlayerControllable(playerid,0); // Congela o jogador
SendClientMessage(playerid,vermelho, "Use /sairdocarro para sair do carro."); // Manda mensagem em vermelho a dizer para usar o comando /sairdocarro para sair do carro.
}
}
else // Aqui é a continuação do 'CarCheck', tal como o else anterior. Aqui ele diz que se o carro não for as Faggios será executada tal acção.
{
SendClientMessage(playerid,vermelho, "Este carro não é de alugar!"); // Envia mensagem a dizer que este carro não é de alugar.
}
return 1;
}.

lucas_loky
20/05/2010, 05:43 PM
Eu mudei o carcheck de Carros[faggio] pra faggio[0] e só por isso deu uma imensidao de erros...oque pode ter sido?
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(137) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(163) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(163) : error 004: function "OnPlayerEnterVehicle" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(168) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(168) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(168) : error 004: function "OnPlayerExitVehicle" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(172) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(172) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(172) : error 004: function "OnPlayerStateChange" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(174) : error 017: undefined symbol "newstate"
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(195) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(195) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(195) : error 004: function "OnPlayerEnterCheckpoint" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(200) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(200) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(200) : error 004: function "OnPlayerLeaveCheckpoint" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(205) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(205) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(205) : error 004: function "OnPlayerEnterRaceCheckpoint" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(210) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(210) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(210) : error 004: function "OnPlayerLeaveRaceCheckpoint" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(215) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(215) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(215) : error 004: function "OnRconCommand" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(220) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(220) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(220) : error 004: function "OnPlayerRequestSpawn" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(225) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(225) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(225) : error 004: function "OnObjectMoved" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(230) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(230) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(230) : error 004: function "OnPlayerObjectMoved" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(235) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(235) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(235) : error 004: function "OnPlayerPickUpPickup" is not implemented
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(240) : warning 225: unreachable code
C:\Documents and Settings\Lucas\Desktop\sAMP\gamemodes\MeuPrimeiroR PG.pwn(240) : error 029: invalid expression, assumed zero

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


26 Errors.




public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/comandos", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid,azul,"Seus comandos sao:");
SendClientMessage(playerid,verde,"VEICULOS:/sairdoveiculo /alugarveiculo");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
if(Profissao[playerid] == traficante_de_drogas)//Traficante de drogas
{
SendClientMessage(playerid,azul,"EMPREGO:");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
}
else if(Profissao[playerid] == traficante_de_armas) //Traficante de Armas
{
SendClientMessage(playerid,azul,"Seus comandos do emprego sao:");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
}
return 1;
}
{
if (strcmp("/sairdoveiculo", cmdtext, true, 10) == 0)
{
if IsPlayerInAnyVehicle(playerid) *then
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);}
}
return 1;
}
{
if (strcmp("/alugarveiculo", cmdtext, true) == 0) // Aqui eu removi o número '10', pois 10 é o número de caracteres, então para não andares sempre a alterar, deixas os comandos assim.
{
new ChecarGrana = GetPlayerMoney(playerid); // Aqui ele cria uma digamos uma 'palavra' que vai substituir tal função.
new CarCheck = GetPlayerVehicleID(playerid); // Mesmo que a cima.
if(CarCheck == Faggio[0] || CarCheck == Faggio[1] || CarCheck == Faggio[2]) // Depende de como tens scriptado as faggios.
{
if(ChecarGrana > 100) // Aqui 'checa a grana', se for maior que 100 prosegue
{
GivePlayerMoney(playerid,-100); // Tira 100$ ao jogador por alugar o carro
SendClientMessage(playerid,vermelho, "Veiculo alugado com sucesso!"); // Manda mensagem em vermelho a dizer que o carro foi alugado com sucesso
TogglePlayerControllable(playerid,1); // Descongela o jogador.
}
else // Aqui é a continuação do 'ChecarGrana'. Isto quer dizer que se o jogador não tiver 100$, serão aplicadas estas medidas. (Ou seja, o else quer dizer 'caso contrário').
{
TogglePlayerControllable(playerid,0); // Congela o jogador
SendClientMessage(playerid,vermelho, "Use /sairdocarro para sair do carro."); // Manda mensagem em vermelho a dizer para usar o comando /sairdocarro para sair do carro.
}
}
else // Aqui é a continuação do 'CarCheck', tal como o else anterior. Aqui ele diz que se o carro não for as Faggios será executada tal acção.
{
SendClientMessage(playerid,vermelho, "Este carro não é de alugar!"); // Envia mensagem a dizer que este carro não é de alugar.
}
return 1;
}

Aqui eu coloquei todos os meus comandos caso algum comando esteja faltando um return,ou "}" e dai buga tudo..

russo666
20/05/2010, 05:49 PM
Só assim por alto já vi aí uma chaveta mal.

Chaveta = { e/ou }

Estás a criar um gamemode do início? Anyway estou a gostar do teu progresso por isso não te vou facilitar. Procura a chaveta e corrige. :D

lucas_loky
20/05/2010, 05:51 PM
Vlw pelo elogio xD,mas entao o problema sao as chaves?(chaveta = chave(sou do bgrasil))

PS:Sim,desde o inicio,meu primeiro RPG

@edit

¬¬,minha primeira modificaçao causou um "travamento" no compiler...rsr

@edit 2

Realmente,nao consegui,vou tentar denovo e se eu nao obtiver(nao sei se essa palavra existe) resultados positivos,volto aqui

@edit 3

Acho que descobri um erro,no comando /sairveiculo,só nao sei onde é esse erro,estou indo no caminho certo?

@edit 4

{
if (strcmp("/sairdoveiculo", cmdtext, true, 10) == 0)
{
if IsPlayerInAnyVehicle(playerid) *then
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);} //acabei de ver isso aqui,tirei mas os erros continuaram(nao sei se isso tava errado)
}
return 1;
}

russo666
20/05/2010, 06:01 PM
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/comandos", cmdtext, true) == 0)
{
SendClientMessage(playerid,azul,"Seus comandos sao:");
SendClientMessage(playerid,verde,"VEICULOS:/sairdoveiculo /alugarveiculo");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
if(Profissao[playerid] == traficante_de_drogas)//Traficante de drogas
{
SendClientMessage(playerid,azul,"EMPREGO:");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
}
if(Profissao[playerid] == traficante_de_armas) //Traficante de Armas
{
SendClientMessage(playerid,azul,"Seus comandos do emprego sao:");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
SendClientMessage(playerid,verde,"------------------");
}
return 1;
}

if (strcmp("/sairdoveiculo", cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);
}
return 1;
}

if (strcmp("/alugarveiculo", cmdtext, true) == 0) // Aqui eu removi o número '10', pois 10 é o número de caracteres, então para não andares sempre a alterar, deixas os comandos assim.
{
new ChecarGrana = GetPlayerMoney(playerid); // Aqui ele cria uma digamos uma 'palavra' que vai substituir tal função.
new CarCheck = GetPlayerVehicleID(playerid); // Mesmo que a cima.
if(CarCheck == Faggio[0] || CarCheck == Faggio[1] || CarCheck == Faggio[2]) // Depende de como tens scriptado as faggios.
{
if(ChecarGrana > 100) // Aqui 'checa a grana', se for maior que 100 prosegue
{
GivePlayerMoney(playerid,-100); // Tira 100$ ao jogador por alugar o carro
SendClientMessage(playerid,vermelho, "Veiculo alugado com sucesso!"); // Manda mensagem em vermelho a dizer que o carro foi alugado com sucesso
TogglePlayerControllable(playerid,1); // Descongela o jogador.
}
else // Aqui é a continuação do 'ChecarGrana'. Isto quer dizer que se o jogador não tiver 100$, serão aplicadas estas medidas. (Ou seja, o else quer dizer 'caso contrário').
{
TogglePlayerControllable(playerid,0); // Congela o jogador
SendClientMessage(playerid,vermelho, "Use /sairdoveiculo para sair do carro."); // Manda mensagem em vermelho a dizer para usar o comando /sairdoveiculo para sair do carro.
}
}
else // Aqui é a continuação do 'CarCheck', tal como o else anterior. Aqui ele diz que se o carro não for as Faggios será executada tal acção.
{
SendClientMessage(playerid,vermelho, "Este carro não é de alugar!"); // Envia mensagem a dizer que este carro não é de alugar.
}
return 1;
}
return 0;
}

Edit: Ops só vi que estavas a tentar depois de postar. :-\

Tinhas acho que eram umas 2 ou 3 chavetas abertas sem ser preciso, faltava fechar um ou 2 parêntesis, e retirar também os números de caracteres dos comandos. Eu vi só por alto, organizei melhor o código, mas pode ter algum erro. Enjoy. ;)

Edit 2: Compara o meu com o teu. :D

lucas_loky
20/05/2010, 06:03 PM
Fiquei triste,voce nao me deixou achar o erro =(...Eu achei um,mas nao tinha sido o suficiente xD,mas agora ta tudo certo...

PS:Onde tava o erro?

blackinhu214
20/05/2010, 09:51 PM
galera qria uma ajudinha, uma coisa q pra vcs deve ser facil mais num sei ainda =p
tipo eu qro botar pra poder prender na garagem da dp mais como eu pego as coordenadas?
como botar eu ja sei so qro saber como axar as coordenadas =D
flw galera

Rick_DR
20/05/2010, 11:45 PM
Chegas no local que queres as coordenadas e metes /save
depois vais a pasta onde tens la o GTA abres um DOC chamado savedpositions
penso que é essa a duvida

SuB_ZeRo0_
21/05/2010, 12:23 AM
Estou melhorando meu sistema de admin e tenho certeza que irá judar muitos se souberem o que irei dizer.

Alguem sabe algum stock/comando pra ler um arquivo?
Que não seja fread! Pois ele só lê a 1ª linha.

russo666
21/05/2010, 01:14 AM
Estou melhorando meu sistema de admin e tenho certeza que irá judar muitos se souberem o que irei dizer.

Alguem sabe algum stock/comando pra ler um arquivo?
Que não seja fread! Pois ele só lê a 1ª linha.


Man daquela maneira que estivemos a ver no msn tem que dar, estou à espera que me respondam lá na parte inglesa.

SuB_ZeRo0_
21/05/2010, 09:08 AM
Estou melhorando meu sistema de admin e tenho certeza que irá judar muitos se souberem o que irei dizer.

Alguem sabe algum stock/comando pra ler um arquivo?
Que não seja fread! Pois ele só lê a 1ª linha.


Man daquela maneira que estivemos a ver no msn tem que dar, estou à espera que me respondam lá na parte inglesa.


O Fread só lê a 1ª linha, eu presciso que leia a que eu escolho ou todas.

andmeida10
21/05/2010, 11:53 AM
new Faggio[3];


Faggio[0] = tal tal tal
Faggio[1]= tal tal tal
Faggio[2] = tal tal tal



[2]


Este está correcto sim

russo666
21/05/2010, 12:30 PM
Estou melhorando meu sistema de admin e tenho certeza que irá judar muitos se souberem o que irei dizer.

Alguem sabe algum stock/comando pra ler um arquivo?
Que não seja fread! Pois ele só lê a 1ª linha.


Man daquela maneira que estivemos a ver no msn tem que dar, estou à espera que me respondam lá na parte inglesa.


O Fread só lê a 1ª linha, eu presciso que leia a que eu escolho ou todas.


Por isso mesmo é como eu tinha. O Zeex respondeu-me porque é que não dava. O raio do fclose estava dentro do loop. -.-'
Malditos file functions, eu nunca gostei deles. kkkkkkkkkkkkk

Está aqui aquele pequeno FS mas corrigido graças ao Zeex. Estava mesmo cegueta. kkkkkkkkkkkkkk


#define FILTERSCRIPT

#include <a_samp>

#define branco 0xFFFFFFAA
#define azul 0x0000FFAA

new string[512];

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/ler", cmdtext, true) == 0)
{
new File:hFile=fopen("ler.txt",io_read);
new l;
while(fread(hFile,string))
{
l++;
if(l==1) // 1ª linha
{
SendClientMessage(playerid,azul,string);
}
else // resto das linhas
{
SendClientMessage(playerid,branco,string);
}
}
fclose(hFile);
return 1;
}
return 0;
}

blackinhu214
21/05/2010, 08:15 PM
dae galera eu to com um probleminha aki e qria saber se alguem sabe resolver
tipo toda vez que eu pego um carro e vou na transfender e tuno o carro desaparece =p

alguem sabe o q pode ser?

Rick_DR
22/05/2010, 12:39 AM
experimenta colocar assim seus carros

AddStaticVehicleEx(404,2039.2761,1432.7729,10.4061 ,134.5789,119,119,600); //

sendo

404 - id do carro
2039.2761,1432.7729,10.4061,134.5789 - coordenadas do veiculo e rotação
119,119 - cor 1 e cor 2
600 - respawn do veiculo

blackinhu214
22/05/2010, 01:26 AM
nao funfo =p nem ta dando pra equipar o carro na transfender =p eu entro e a porta nao fecha.
tipo usei seu exemplo nos carros pra alugar o respaw deles estavam em 60000 eu coloquei em 600 e nada...

e mais uma pergunta, como eu adiciono um carro para uma org no thug? tipo eu qria botar um carro na hq do exe como faço para so exercito usa-lo?
flw =D

lucas_loky
22/05/2010, 02:08 PM
Facil,use o search!

Rick_DR
22/05/2010, 03:58 PM
Pessoal queria que me ajudassem a criar algo para a cada 30 minutos reais os players recebessem algum dinheiro..

eu vou agora para a wiki estudar o settime que ainda não sei trabalhar com isso mas agradecia ajuda

SuB_ZeRo0_
22/05/2010, 04:39 PM
Pessoal queria que me ajudassem a criar algo para a cada 30 minutos reais os players recebessem algum dinheiro..

eu vou agora para a wiki estudar o settime que ainda não sei trabalhar com isso mas agradecia ajuda


Usando SetTimer:


No OnGameModeInit ou OnFilterScriptInit:
SetTimer("PagDia",1000*60*30,true);

Cria a public:
forward PagDia();
public PagDia() {
for(new e=0;e<GetMaxPlayers();e++) {
if(IsPlayerConnected(e)) {
GivePlayerMoney(e,500);
SendClientMessage(e,COR_AQUI," Você recebeu R$500,00 do Estado de San Andreas.");
}
}
return 1;
}

russo666
22/05/2010, 04:41 PM
Pode ser com um timer.

Edit: Subzero fodasse da maneira que tu codas fica difícil ler rápido. -.-'

SuB_ZeRo0_
22/05/2010, 04:45 PM
Pode ser com um timer.

Edit: Subzero fodasse da maneira que tu codas fica difícil ler rápido. -.-'


????

Que isso cara?
Se não fosse sua maneira estranha de escrever, eu entenderia que isso foi uma ofensa a mim.

russo666
22/05/2010, 04:59 PM
LOL, nada disso rapaz, não te quis ofender. O que eu quis dizer é que a maneira em que organizas o 'código' fica difícil lê-lo rápido.

Tipo tu tens assim que é mais difícil de ler:

forward PagDia();
public PagDia() {
for(new e=0;e<GetMaxPlayers();e++) {
if(IsPlayerConnected(e)) {
GivePlayerMoney(e,500);
SendClientMessage(e,COR_AQUI," Você recebeu R$500,00 do Estado de San Andreas.");
}
}
return 1;
}


Assim é mais fácil de ler e entender.

forward PagDia();
public PagDia()
{
for(new e=0;e<GetMaxPlayers();e++)
{
if(IsPlayerConnected(e))
{
GivePlayerMoney(e,500);
SendClientMessage(e,COR_AQUI," Você recebeu R$500,00 do Estado de San Andreas.");
}
}
return 1;
}

Rick_DR
22/05/2010, 05:40 PM
Funcionou obrigado

andmeida10
22/05/2010, 08:35 PM
O problema é que:

1: O tab aqui no forum não dá aquele espaço do Pawno

2: Ctrl+C e Ctrl+V do Pawno para aki forum, ele corta os espaços

russo666
22/05/2010, 08:37 PM
O problema é que:

1: O tab aqui no forum não dá aquele espaço do Pawno

2: Ctrl+C e Ctrl+V do Pawno para aki forum, ele corta os espaços


A mim não corta muito.

Já agora vejam isto: http://forum.sa-mp.com/index.php?topic=140885.0

andmeida10
22/05/2010, 08:42 PM
não li tudo, mas penso que é presciso o FireFox, e eu uso Safari

russo666
22/05/2010, 08:44 PM
não li tudo, mas penso que é presciso o FireFox, e eu uso Safari


Yah. :-\

blackinhu214
22/05/2010, 08:56 PM
opa galera blz como eu qria saber se tem algum comando pra admin ficar invisivel tipo /invisivel
flw galera =D

russo666
22/05/2010, 09:03 PM
opa galera blz como eu qria saber se tem algum comando pra admin ficar invisivel tipo /invisivel
flw galera =D


Sim há.

Vai a este tópico e lê todos os posts. Vais aprender umas coisinhas interessantes. :D

http://forum.sa-mp.com/index.php?topic=119026.0

blackinhu214
22/05/2010, 09:36 PM
mais uma coisa
tipo aki quando qro editar o nivel de detetive de alguem nao da fik assim
/editar (id) (12 q eh o det) (numero)
e eh o mesmo com todas as outras profiçoes =p
o gm eh o thug vlw galera

russo666
22/05/2010, 09:53 PM
Em relação a outros gm's a administração pediu-nos a todos nós para fazer a pergunta nos tópicos dos gamemodes/fs que não sejam criados por nós. Neste caso o thug é gf edit, vai ao tópico do gf.

http://forum.sa-mp.com/index.php?topic=24634.0

;)

blackinhu214
22/05/2010, 10:04 PM
nao entendo nem um poquinho de ingles =p alguem tem uma ideia do q poderia ser?

zSuYaNw
22/05/2010, 10:43 PM
Qual o Melhor [GM],[FS] Para se Aprender + estudar Etc..

russo666
22/05/2010, 10:44 PM
Qual o Melhor [GM] Para se Aprender + estudar Etc..


CRP (Carlito's roleplay) é bom para aprender.

zSuYaNw
22/05/2010, 10:52 PM
Qual o Melhor [GM] Para se Aprender + estudar Etc..


CRP (Carlito's roleplay) é bom para aprender.


Você tem o Link ?

russo666
22/05/2010, 11:23 PM
Qual o Melhor [GM] Para se Aprender + estudar Etc..


CRP (Carlito's roleplay) é bom para aprender.


Você tem o Link ?


http://forum.sa-mp.com/index.php?topic=91010.0

zSuYaNw
22/05/2010, 11:33 PM
Thanks, I'm Your Fan kk

blackinhu214
23/05/2010, 12:11 AM
dae to com uma duvida aki =p tipo eu to qrendo fazer um comando /roubar banco e vi um aki no forum q axei legal pra mim editar dps, ta ae
new grana[] = {
5000,
500,
1,
10000,
100000,
100,
2
};

if(strcmp(cmd, "/roubarbanco", true) == 0)
{
GivePlayerMoney(playerid, grana[random(7)]);
return 1;
}
so q dps de dar o comando eu ganho a grana mais some rapidamente=p
alguem sabe o q pode ser?
vlw galera

russo666
23/05/2010, 12:23 AM
Isso está certo, talvez um anti cheat.

blackinhu214
23/05/2010, 12:25 AM
eh tbm desconfiei disso no caso se for um anti-cheater o q eu devo fazer?

russo666
23/05/2010, 12:26 AM
eh tbm desconfiei disso no caso se for um anti-cheater o q eu devo fazer?



Tirá-lo ou permitir esse comando.

blackinhu214
23/05/2010, 01:01 AM
melhor eu deixar sem o roubarbanco pois se tirar o anti-cheater vao abusar muito de xiter =p
e qria tirar uma duvida que axo essencial pra um server rpg
tipo eu pego um carro qualqr e vo na transfender tuna-lo, o problema eh q logo dps d tunar o char sai do veiculo e o carro some =p

alguem sabe porq isso ocorre?

zSuYaNw
23/05/2010, 01:11 AM
acho que é o tempo respawn
não tenho serteza
...

SuB_ZeRo0_
23/05/2010, 01:14 AM
melhor eu deixar sem o roubarbanco pois se tirar o anti-cheater vao abusar muito de xiter =p
e qria tirar uma duvida que axo essencial pra um server rpg
tipo eu pego um carro qualqr e vo na transfender tuna-lo, o problema eh q logo dps d tunar o char sai do veiculo e o carro some =p

alguem sabe porq isso ocorre?


Você pode ir no FS doa nti-cheat e ver como adicionar dinheiro ao player.
Deve ter um comando como:
GivePlayerMoneyAntiCheat(playerid,GRANA);

Obs: 1º post da página 24!

blackinhu214
23/05/2010, 01:18 AM
eu procurei so q nao axo d jeito algum o anticheater =p

quanto ao assunto do bug pra tunar um carro poderia ser no respawn mesmo?
no caso eu teria q troca-lo? pq tao todos em 600000 eu deveria por como?

malz galera eu bombadiar vcs d perguntas mais eh q esse bug nao consigo resolver

zSuYaNw
23/05/2010, 01:31 AM
Bote 60000 No Carro =)

blackinhu214
23/05/2010, 01:42 AM
vlw galera consegui resolver o problema do roubarbanco e do tunar carro =D
brigadao pela ajuda

ja resolvi minhas duvidas depois de ler e reler o gm mil vezes ^^ =D

tipo tem uma coisa q nao faço a minima ideia d como resolver
quando um jogador for vip como faço pra ele ganhar 2 ou mais respeitos por payday?

vlw galera

SuB_ZeRo0_
24/05/2010, 04:57 PM
vlw galera consegui resolver o problema do roubarbanco e do tunar carro =D
brigadao pela ajuda

ja resolvi minhas duvidas depois de ler e reler o gm mil vezes ^^ =D

tipo tem uma coisa q nao faço a minima ideia d como resolver
quando um jogador for vip como faço pra ele ganhar 2 ou mais respeitos por payday?

vlw galera


Faz tipo assim:
if(PlayerVip==0) {Respeito++;}
if(PlayerVip==1) {Respeito+3}

NathanLive
24/05/2010, 05:53 PM
minha pergunta e meio bestinha, eu já sei quase tudo no pawn aí e uvo criar um sistema de pegar/usar drogas pro meu server e qria saber uma coisa q me pertuba ateh hj.
Na string fica assim new string[256]
eu qria saber como descubro o número q vo por entre os [ ] abraços.

SuB_ZeRo0_
24/05/2010, 06:30 PM
minha pergunta e meio bestinha, eu já sei quase tudo no pawn aí e uvo criar um sistema de pegar/usar drogas pro meu server e qria saber uma coisa q me pertuba ateh hj.
Na string fica assim new string[256]
eu qria saber como descubro o número q vo por entre os [ ] abraços.


Depende do tamanho da string se for:
"Oi!"
[3]

Se for:
"Ola! Td bom?"
[12]

Que eu saiba é assim. :P

russo666
24/05/2010, 06:43 PM
minha pergunta e meio bestinha, eu já sei quase tudo no pawn aí e uvo criar um sistema de pegar/usar drogas pro meu server e qria saber uma coisa q me pertuba ateh hj.
Na string fica assim new string[256]
eu qria saber como descubro o número q vo por entre os [ ] abraços.


Depende do tamanho da string se for:
"Oi!"
[3]

Se for:
"Ola! Td bom?"
[12]

Que eu saiba é assim. :P


Falta o valor do null que está em todas as strings. Para simples entendimento pode-se dizer que é um 0. Então seja 'Oi!' uma string com 4 cells ocupadas. 3 caracteres de 'Oi!' e 0 de null. É como se tivesse 'Oi!0'.

Quanto às strings que usam o símbolo % que irá por assim 'dizer' à string o valor a ser 'printado' calcula-se deste género:

'Oi %s, sê bem vindo!' -> Aqui o %s será para printar uma string/texto, que neste caso seria o nome do jogador. (Só será o nome do jogador se criarmos uma string que armazene o nome do jogador!). (Ex: new nome[20]; - GetPlayerName(playerid, nome, 20);)

Para contar é simples. A string tem 20 caracteres, somando com 1 do null dá 21 caracteres. Agora é apenas subtrair 2 caracteres que são o %s, pois serão substituídos pelo nome do jogador. Que valor pode o %s tomar? Depende. Neste caso o %s só poderá tomar o valor máximo de 20 caracteres porque são o número de caracteres máximos do nome de um jogador. Então o valor desta string seria (21 - 2) + 20 = 39.

Espero ter ajudado.

P.S - A minha net caíu zero.

NathanLive
24/05/2010, 06:52 PM
Então vamo ver se entendir se for fazer uma string como:
new string[7]; e o conteúdo da string for:
Eae blz

estarei correto? abrasço.

russo666
24/05/2010, 06:57 PM
Então vamo ver se entendir se for fazer uma string como:
new string[7]; e o conteúdo da string for:
Eae blz

estarei correto? abrasço.


Seria new string[8];

Eu esqueci-me mencionar que os 'espaços' também são contados como caracteres.

Rick_DR
24/05/2010, 08:41 PM
Sabem como posso reservar este comando apenas para quem esta dentro do veiculo 588 ?
uzei esta linha mas da erro "undefined symbol "Vehicleid""

if(IsPlayerInAnyVehicle(Vehicleid,588)==0)return SendClientMessage(playerid, COR_TAN, "Não podes uzar este comando fora do veiculo!");

if(strcmp(cmd, "/comida", true) == 0)
{
new tmp[128];
tmp = strtok(cmdtext, idx);
new playerid2;
playerid2 = strval(tmp);
distancia = GetDistanceBetweenPlayers(playerid, playerid2);
if(IsPlayerInAnyVehicle(Vehicleid,588)==0)return SendClientMessage(playerid, COR_TAN, "Não podes uzar este comando fora do veiculo!");
if(distancia >16)
{
SendClientMessage(playerid,TEAM_POLICIA_COLOR,"Estas muito longe deste Jogador!");
return 1;
}
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFFFFFFFF, "Uso do Comando: /comida ID");
return 1;
}
if(distancia <=16)//
{
GameTextForPlayer(strval(tmp), "~r~Bom Apetite", 3000, 3);
ApplyAnimation(strval(tmp),"EAT","Burger",4.1,1,1,1,1,1);
GivePlayerMoney(playerid,30);
SendClientMessage(playerid, TEAM_POLICIA_COLOR, "Fizes-te o teu trabalho recompensa 30€");
GivePlayerMoney(strval(tmp),-30);
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
new string[248];
format(string,sizeof(string)," %s Vendeu mais uma refeição",pName);
SendClientMessageToAll(verdeamarelo, string);

return 1;
}
return 1;
}

EDIT:
usei assim e não deu erro. Será que esta certo ?
if(IsPlayerInVehicle(playerid,588)==0)return SendClientMessage(playerid, COR_TAN, "Não podes uzar este comando fora do veiculo!");

russo666
24/05/2010, 08:45 PM
new vehiclemodel = GetVehicleModel(playerid);
new vehicleid = GetPlayerVehicleID(playerid);
if(vehiclemodel(vehicleid) == 588) return SendClientMessage(playerid, COR, "Mensagem");

Se quiseres 'negar', ou seja, o efeito ser o contrário do que está acima é só adicionar um '!' antes de vehicleid/vehiclemodel no 'if'.

andmeida10
24/05/2010, 08:46 PM
if(!GetVehicleModel(vehicleid) == 588) return SendClientMessage(playerid,COR,"Você so pode usar esse comando no veiculo 588");

Rick_DR
24/05/2010, 08:54 PM
Não deu erro. Vou testar mais logo agora o server ta on e não convém reiniciar porque estão a jogar nele.. Eu depois posto aqui a ver se deu .. Abraço e obrigado..

EDIT: já agora tem ideia como posso criar um comando tipo /eu [mensagem] e aparecer Rick_DR [mensagem] ?

tenho esta base mas nao tou a ver como fazer o resto
if (strcmp("/me", cmdtext, true)==0)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
new string[248];

format(string,sizeof(string)," %s [mensagem]",pName);
SendClientMessageToAll(verdeamarelo, string);
return 1;
}


EDIT: Ficou a funcionar.

pmkrz
25/05/2010, 01:34 PM
@Rick_DR:


#include a_samp

#tryinclude sscanf2
#tryinclude zcmd

#define MAX_SERVER_STRING (512 char)

COMMAND \
:me (playerid, params[])
{
new
_MESSAGE[MAX_SERVER_STRING];

if(unformat(params, "s", _MESSAGE)) return SendClientMessage(playerid, (0xDFD50BFF), "- /me \"message\"");
else
{
new
MY_STRING[MAX_SERVER_STRING],
NAME[MAX_PLAYER_NAME];

GetPlayerName(playerid, NAME, sizeof NAME);

format(MY_STRING, sizeof MY_STRING,
"- %s %s"
, NAME
, _MESSAGE
);

SendClientMessageToAll((0xDFD50BFF), MY_STRING);
}
return true;
}


Vais precisar do sscanf e do zcmd para compilar. ;')

Rick_DR
25/05/2010, 07:44 PM
if (strcmp("/skin", cmdtext, true)==0)
{
if(gTeam[playerid] != 1) return SendClientMessage(playerid,0xFFFFFFFF,"Comando reservado apenas para o Mecanicos");
SetPlayerSkin(playerid, 181); || SetPlayerSkin(playerid, 182); || SetPlayerSkin(playerid, 183);
}

Pessoal da para fazer um comando onde se fizer uma vez /skin muda para a skin 181 se fizer de novo muda para a 182 e por ai fora ? ?

andmeida10
25/05/2010, 08:20 PM
Tenta:

if (strcmp("/skin", cmdtext, true)==0)
{
new SkinMecanico = GetPlayerSkin(playerid) + 1;
if(gTeam[playerid] != 1) return SendClientMessage(playerid,0xFFFFFFFF,"Comando reservado apenas para o Mecanicos");
SetPlayerSkin(playerid,SkinMecanico);
}


Se nao der:


if (strcmp("/skin", cmdtext, true)==0)
{
if(gTeam[playerid] != 1) return SendClientMessage(playerid,0xFFFFFFFF,"Comando reservado apenas para o Mecanicos");
SetPlayerSkin(playerid, GetPlayerSkin + 1);
}

Rick_DR
25/05/2010, 10:39 PM
Não tem nada que de para editar ou cancelar os prémios de casino ?

No meu caso os playeres chegam a ganhar 50.000 e gastar apenas 1

russo666
25/05/2010, 10:42 PM
Não tem nada que de para editar ou cancelar os prémios de casino ?

No meu caso os playeres chegam a ganhar 50.000 e gastar apenas 1


Que eu saiba não, mas podes usar um sistema de money alternativo.

SuB_ZeRo0_
25/05/2010, 10:43 PM
Não tem nada que de para editar ou cancelar os prémios de casino ?

No meu caso os playeres chegam a ganhar 50.000 e gastar apenas 1


Não entendi direito, mas pode usar random(...);

Rick_DR
25/05/2010, 10:53 PM
Money alternativo como ?

bastava-me por exemplo só ter o casino aberto a noite .. por exemplo das 24 as 6 ..

Tipo colocar um pickup invisível que não deixasse entrar nas outras horas.

Podem-me ajudar?

russo666
25/05/2010, 10:57 PM
Money alternativo como ?

bastava-me por exemplo só ter o casino aberto a noite .. por exemplo das 24 as 6 ..

Tipo colocar um pickup invisível que não deixasse entrar nas outras horas.

Podem-me ajudar?


Em relação a isso do pickup eu acho que há uma maneira de fazer isso, mas não estou a ver ponto de partida.

Money alternativo é um sistema alternativo de dinheiro ao do GTA/SA-MP. Vê este do protioso: http://forum.sa-mp.com/index.php?topic=175547.0

SuB_ZeRo0_
25/05/2010, 11:06 PM
Money alternativo como ?

bastava-me por exemplo só ter o casino aberto a noite .. por exemplo das 24 as 6 ..

Tipo colocar um pickup invisível que não deixasse entrar nas outras horas.

Podem-me ajudar?


Em relação a isso do pickup eu acho que há uma maneira de fazer isso, mas não estou a ver ponto de partida.

Money alternativo é um sistema alternativo de dinheiro ao do GTA/SA-MP. Vê este do protioso: http://forum.sa-mp.com/index.php?topic=175547.0


Meio assim...

No topo:
new PickUpCriado;

SetTimer no OnFilterScript/GameModeInit
SetTimer("Casino",10000,true);

Public:
forward Casino();
public Casino() {
new hora,min,sec;
gettime(hora,min,sec);
if(hora>22&&hora<6) {if(PickUpCriado==0) {CreatePickup(..);PickUpCriado=1;}}
else if(hora<22&&hora>6) {if(PickUpCriado==1) {DestroyPickup(..);PickUpCriado=0;}}
return 1;
}


Deve ser assim...

Rick_DR
25/05/2010, 11:18 PM
C:\Documents and Settings\RICARDO31\Ambiente de trabalho\SAMP 0.3 Server\gamemodes\pb.pwn(1818) : warning 219: local variable "min" shadows a variable at a preceding level
C:\Documents and Settings\RICARDO31\Ambiente de trabalho\SAMP 0.3 Server\gamemodes\pb.pwn(1821) : warning 202: number of arguments does not match definition
C:\Documents and Settings\RICARDO31\Ambiente de trabalho\SAMP 0.3 Server\gamemodes\pb.pwn(1821) : warning 202: number of arguments does not match definition
C:\Documents and Settings\RICARDO31\Ambiente de trabalho\SAMP 0.3 Server\gamemodes\pb.pwn(1821) : warning 202: number of arguments does not match definition
C:\Documents and Settings\RICARDO31\Ambiente de trabalho\SAMP 0.3 Server\gamemodes\pb.pwn(1821) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Warnings.

tudo nesta linha mas não vejo o erro

public Casino() {
new hora,min,sec;
gettime(hora,min,sec);
if(hora>22&&hora<6) {if(PickUpCriado==0) {CreatePickup(1239, 2, -2638.00, 615.70, 14.45);PickUpCriado=1;}}
else if(hora<22&&hora>6) {if(PickUpCriado==1) {DestroyPickup(1239, 2, -2638.00, 615.70, 14.45);PickUpCriado=0;}} // esta a linha do erro
return 1;
}

SuB_ZeRo0_
25/05/2010, 11:37 PM
Muda para:

No topo:
new PickUpCriado;

SetTimer no OnFilterScript/GameModeInit
SetTimer("Casino",10000,true);

Public:
forward Casino();
public Casino() {
new horan,minn,secn;
gettime(horan,minn,secn);
if(horan>22&&horan<6) {if(PickUpCriado==0) {CreatePickup(..);PickUpCriado=1;}}
else if(horan<22&&horan>6) {if(PickUpCriado==1) {DestroyPickup(..);PickUpCriado=0;}}
return 1;
}

russo666
26/05/2010, 12:06 AM
Money alternativo como ?

bastava-me por exemplo só ter o casino aberto a noite .. por exemplo das 24 as 6 ..

Tipo colocar um pickup invisível que não deixasse entrar nas outras horas.

Podem-me ajudar?


Em relação a isso do pickup eu acho que há uma maneira de fazer isso, mas não estou a ver ponto de partida.

Money alternativo é um sistema alternativo de dinheiro ao do GTA/SA-MP. Vê este do protioso: http://forum.sa-mp.com/index.php?topic=175547.0


Meio assim...



Também pode ser, mas eu estava a pensar em outra coisa. De qualquer maneira fizeste bem em ajudar.

Rick_DR
26/05/2010, 01:45 PM
Tive a fazer .. compilou tudo direito.. mas chega as horas e não cria nada nem destrói..

Já consegui bloquear a entrada..

Agora queria um comando que funcionasse só entre as 23 e as 4 .. o resto sei fazer mas isso ainda não..

andmeida10
26/05/2010, 01:48 PM
so basears-te ali no GetTime (ou coisa parecida)

SuB_ZeRo0_
26/05/2010, 05:05 PM
Tive a fazer .. compilou tudo direito.. mas chega as horas e não cria nada nem destrói..

Já consegui bloquear a entrada..

Agora queria um comando que funcionasse só entre as 23 e as 4 .. o resto sei fazer mas isso ainda não..


Se baseia naquele código!
Mas presta atenção lá:

hora>22&&hora<6 = Se a Hora for maior que 22:00hs ou 10:00hs PM e menor que 6:00hs, ele cria a pickup, se for diferente, ele destroi. :)

Rick_DR
26/05/2010, 07:53 PM
Eu criei assim.. mas esta parte não me esta a funcionar
f(horan>23&&horan<4) return SendClientMessage(playerid, COLOR_DARKRED, "Não estas no horario do casino. volta mais tarde!");


if (strcmp("/casino", cmdtext,true)==0) {
new horan,minn,secn;
gettime(horan,minn,secn);
if(IsPlayerInRangeOfPoint(playerid,15,2564.9866,27 68.6946,10.8203)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Tens de estar perto do casino para entrares!");
if(horan>23&&horan<4) return SendClientMessage(playerid, COLOR_DARKRED, "Não estas no horario do casino. volta mais tarde!");

ResetPlayerWeapons(playerid);
SetPlayerArmour(playerid,10);
SetPlayerPos(playerid,2015.4500,1017.0900,996.8750 );
SetPlayerInterior(playerid, 0);//buscar interior do casino
GameTextForPlayer(playerid,"~r~ Bem Vindo ao Casino ",2010,5);
SendClientMessage(playerid, COR_CINZA, " Pagamento de entrada de 250€");
GivePlayerMoney(playerid,-250);

new pName[MAX_PLAYER_NAME];
new string[48];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s Entrou no casino de Las Venturas ", pName);
SendClientMessageToAll(0xAFAFAFAA, string);
return 1;
}

SuB_ZeRo0_
26/05/2010, 08:08 PM
Eu criei assim.. mas esta parte não me esta a funcionar
f(horan>23&&horan<4) return SendClientMessage(playerid, COLOR_DARKRED, "Não estas no horario do casino. volta mais tarde!");


if (strcmp("/casino", cmdtext,true)==0) {
new horan,minn,secn;
gettime(horan,minn,secn);
if(IsPlayerInRangeOfPoint(playerid,15,2564.9866,27 68.6946,10.8203)==0) return SetPlayerHealth(playerid,0); SendClientMessage(playerid, COLOR_DARKRED, "Tens de estar perto do casino para entrares!");
if(horan>23&&horan<4) return SendClientMessage(playerid, COLOR_DARKRED, "Não estas no horario do casino. volta mais tarde!");

ResetPlayerWeapons(playerid);
SetPlayerArmour(playerid,10);
SetPlayerPos(playerid,2015.4500,1017.0900,996.8750 );
SetPlayerInterior(playerid, 0);//buscar interior do casino
GameTextForPlayer(playerid,"~r~ Bem Vindo ao Casino ",2010,5);
SendClientMessage(playerid, COR_CINZA, " Pagamento de entrada de 250€");
GivePlayerMoney(playerid,-250);

new pName[MAX_PLAYER_NAME];
new string[48];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s Entrou no casino de Las Venturas ", pName);
SendClientMessageToAll(0xAFAFAFAA, string);
return 1;
}


Obs: Ele pega o horário real (vida real).

Rick_DR
26/05/2010, 08:11 PM
Não sabia disso .. Não da para pegar o virtual ?

SuB_ZeRo0_
26/05/2010, 08:35 PM
Tenta isso:

if (strcmp("/casino", cmdtext,true)==0) {
new horan,minn;
GetPlayerTime(playerid,horan,minn);
if(IsPlayerInRangeOfPoint(playerid,15,2564.9866,27 68.6946,10.8203)==0) return SetPlayerHealth(playerid,0); SendClientMessage(playerid, COLOR_DARKRED, "Tens de estar perto do casino para entrares!");
if(horan>23&&horan<4) return SendClientMessage(playerid, COLOR_DARKRED, "Não estas no horario do casino. volta mais tarde!");

ResetPlayerWeapons(playerid);
SetPlayerArmour(playerid,10);
SetPlayerPos(playerid,2015.4500,1017.0900,996.8750 );
SetPlayerInterior(playerid, 0);//buscar interior do casino
GameTextForPlayer(playerid,"~r~ Bem Vindo ao Casino ",2010,5);
SendClientMessage(playerid, COR_CINZA, " Pagamento de entrada de 250€");
GivePlayerMoney(playerid,-250);

new pName[MAX_PLAYER_NAME];
new string[48];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s Entrou no casino de Las Venturas ", pName);
SendClientMessageToAll(0xAFAFAFAA, string);
return 1;
}

zSuYaNw
26/05/2010, 09:53 PM
Já estou quase me matando !

Alquem pode me dizer oq esta errado nesse Código de Dicas

http://pastebin.com/J12ybCrd

Logo Postarei [FS] De Dicas Aqui no Forum.

russo666
26/05/2010, 11:22 PM
Já estou quase me matando !

Alquem pode me dizer oq esta errado nesse Código de Dicas

http://pastebin.com/J12ybCrd

Logo Postarei [FS] De Dicas Aqui no Forum.


No comando tinhas ele a retornar duas coisas, e a chaveta ({) antes do return 1 estava mal. E também para quê 'pegar' o nome do jogador duas vezes?

if(strcmp(cmd,"/dica",true) == 0)
{
new length;
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 0)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string,sizeof(string),"||NOVA DICA||Player %s [DICA: %s]", giveplayer, (result));
Salvar(string);// --->>>>>>>> BY DRAKON
SendClientMessage(playerid,0x808000AA, "O sua dica foi enviada para os Programadores Do sever.");
return 1;
}


Para mandar para os admins usas este loop.

for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerAdmin(i))
{
SendClientMessage(i, Cor, string);
}
}
}

zSuYaNw
27/05/2010, 12:00 AM
Mais russo Quando DIgito tipo /ajuda ( DO GM ) e Qualquer comando

Ele Aparece Assim : O sua dica foi enviada para os Programadores Do sever.

E Lá no Dicas.TxT Ta Aprecendo Assim : ||NOVA DICA||Player Garfield [DICA: ]

russo666
27/05/2010, 12:27 AM
http://pastebin.com/kShC4ARp

Não te esqueças de criar o ficheiro dicas.txt nos scriptfiles.

Se tiver algum erro corrige-se depois, ou então tira o que quiseres daí.

P.S - Isso foi feito à pressa e não devidamente codado, mas foi o mais simples para entenderes.

zSuYaNw
27/05/2010, 12:46 AM
Vlw russo Grande Homen =)

blackinhu214
27/05/2010, 01:27 PM
dae galera blz
eu qro uma ajudinha no meu sistema de criar casas =p
eu criei duas casas com o msm interior mais so q quando eu vo sair de uma sai na outra =p
eu axo q eh o virtual world se for tem eu implementar no meu sistema de casas o virtual world?
ou so usando outro?
bom eh isso...

russo666
27/05/2010, 01:44 PM
dae galera blz
eu qro uma ajudinha no meu sistema de criar casas =p
eu criei duas casas com o msm interior mais so q quando eu vo sair de uma sai na outra =p
eu axo q eh o virtual world se for tem eu implementar no meu sistema de casas o virtual world?
ou so usando outro?
bom eh isso...


Tens que implementar o VirtualWorld no sistema de casas caso ele não tenha, ou então utilizas outro.

blackinhu214
27/05/2010, 02:02 PM
blz =D
alguem me poderia passar um sistema de virtualworld?
o meu ta assim
enum hInfo
{
Float:hEntrancex,
Float:hEntrancey,
Float:hEntrancez,
Float:hExitx,
Float:hExity,
Float:hExitz,
hHealthx,
hHealthy,
hHealthz,
hArmorrx,
hArmorry,
hArmorrz,
hOwner[MAX_PLAYER_NAME],
hDiscription[MAX_PLAYER_NAME],
hValue,
hHel,
hArm,
hInt,
hLock,
hOwned,
hRooms,
hRent,
hRentabil,
hTakings,
hVec,
hVcol1,
hVcol2,
hDate,
hLevel,

};

new HouseInfo[130][hInfo];
o meu /entrar
if(strcmp(cmd, "/entrar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
//printf("Fornd House :%d",i);
if(PlayerInfo[playerid][pPHousekey] == i || HouseInfo[i][hLock] == 0)
{
SetPlayerInterior(playerid,HouseInfo[i][hInt]);
SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
GameTextForPlayer(playerid, "~w~Bem vindo em casa", 5000, 1);
PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
PlayerInfo[playerid][pLocal] = i;
SetPlayerVirtualWorld(playerid, HouseInfo[i][hVirtualWorld]);
}
else
{
GameTextForPlayer(playerid, "~r~Fechado", 5000, 1);
}
}
}

o load
public LoadProperty()
{
new arrCoords[29][64];
new strFromFile2[256];
new File: file = fopen("property.cfg", io_read);
if (file)
{
new idx;
while (idx < sizeof(HouseInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
HouseInfo[idx][hEntrancex] = floatstr(arrCoords[0]);
HouseInfo[idx][hEntrancey] = floatstr(arrCoords[1]);
HouseInfo[idx][hEntrancez] = floatstr(arrCoords[2]);
HouseInfo[idx][hExitx] = floatstr(arrCoords[3]);
HouseInfo[idx][hExity] = floatstr(arrCoords[4]);
HouseInfo[idx][hExitz] = floatstr(arrCoords[5]);
HouseInfo[idx][hHealthx] = strval(arrCoords[6]);
HouseInfo[idx][hHealthy] = strval(arrCoords[7]);
HouseInfo[idx][hHealthz] = strval(arrCoords[8]);
HouseInfo[idx][hArmorrx] = strval(arrCoords[9]);
HouseInfo[idx][hArmorry] = strval(arrCoords[10]);
HouseInfo[idx][hArmorrz] = strval(arrCoords[11]);
//printf("HouseInfo hEntrancez %f",HouseInfo[idx][hEntrancez]);
strmid(HouseInfo[idx][hOwner], arrCoords[12], 0, strlen(arrCoords[12]), 255);
strmid(HouseInfo[idx][hDiscription], arrCoords[13], 0, strlen(arrCoords[13]), 255);
HouseInfo[idx][hValue] = strval(arrCoords[14]);
HouseInfo[idx][hHel] = strval(arrCoords[15]);
HouseInfo[idx][hArm] = strval(arrCoords[16]);
HouseInfo[idx][hInt] = strval(arrCoords[17]);
HouseInfo[idx][hLock] = strval(arrCoords[18]);
HouseInfo[idx][hOwned] = strval(arrCoords[19]);
HouseInfo[idx][hRooms] = strval(arrCoords[20]);
HouseInfo[idx][hRent] = strval(arrCoords[21]);
HouseInfo[idx][hRentabil] = strval(arrCoords[22]);
HouseInfo[idx][hTakings] = strval(arrCoords[23]);
HouseInfo[idx][hVec] = strval(arrCoords[24]);
HouseInfo[idx][hVirtualWorld] = strval(arrCoords[130]);
if(HouseInfo[idx][hVec] == 457)
{
HouseInfo[idx][hVec] = 411;
}
HouseInfo[idx][hVcol1] = strval(arrCoords[25]);
HouseInfo[idx][hVcol2] = strval(arrCoords[26]);
HouseInfo[idx][hDate] = strval(arrCoords[27]);
HouseInfo[idx][hLevel] = strval(arrCoords[28]);
printf("HouseInfo:%d Owner:%s hTakings %d hVec %d",idx,HouseInfo[idx][hOwner],HouseInfo[idx][hTakings],HouseInfo[idx][hVec]);
idx++;
}
fclose(file);
}
return 1;
}
eu usei o seach e axei um sistema de casas com virtual tentei implementar nesse e nao deu certo =p
vlw galera se der pra alguem ajuda eu agradeço :mrgreen:

russo666
27/05/2010, 02:25 PM
http://forum.sa-mp.com/index.php?topic=24634.msg843251#msg843251

blackinhu214
27/05/2010, 02:28 PM
nussa vei vlw =D
mais eu notei uma coisinha aki estranha
tem casas q tem ate 5 interiores iguais e da pra sair de boa...
mesmo sem eu ter o virtualworld, estranho, nao?
e so mais uma duvida
HouseInfo[idx][hVirtualWorld] = strval(arrCoords[Type here the number]);//<----que numero eu devo botar ali?o numero de casas?

e mais uma coisinha, dps de eu ter feito tudo eu preciso botar algo no /entrar e no /sair?
malz fazer tantas perguntas ae =D

russo666
27/05/2010, 03:32 PM
nussa vei vlw =D
mais eu notei uma coisinha aki estranha
tem casas q tem ate 5 interiores iguais e da pra sair de boa...
mesmo sem eu ter o virtualworld, estranho, nao?
e so mais uma duvida
HouseInfo[idx][hVirtualWorld] = strval(arrCoords[Type here the number]);//<----que numero eu devo botar ali?o numero de casas?

e mais uma coisinha, dps de eu ter feito tudo eu preciso botar algo no /entrar e no /sair?
malz fazer tantas perguntas ae =D


Eu não sei nada de GF's, mas ter 5 interiores iguais sem ter virtualworld diferente não é possível. Quer dizer há uma coisa parecida que tem a ver com interiores mas não sei como te explicar aqui.

Esse número aí é o número a seguir, vai onde é para colocar isso e irás reparar que está tudo numerado.

Depois disso ao iniciares o servidor vai automaticamente adicionar isso ao .cfg, ou adicionas tu mesmo e vais alterando as que tiverem o interior igual.

Quanto ao entrar e ao sair, eu acho que sim que seria preciso adicionar, mas ele não referiu nada. E como o GF está programado não da forma correcta e eu não tenho conhecimento nenhum sobre ele não posso afirmar.


EDIT:

GARFIELD!!! Uma coisa importantíssima!!!

Aqui: format(stringdica, sizeof(stringdica), "Jogador: %s - Dica: %s\r\n", pname, (result)); falta isso a negrito que é para assegurar que a linha começa no início! Sem isso não passará de linha também!

zSuYaNw
27/05/2010, 08:41 PM
Ok Russoo

@edit Como eu Boto Somente letras Minúsculas no Chat ?

pmkrz
28/05/2010, 01:42 PM
@TheGarfield:


stock
_lowercase(string[])
{
for(new n = 0 ; n < strlen(string) ; n++)
{
if((string[n] >= (0x41)) && (string[n] <= (0x5A)))
{
string[n] += 32;
}
}
return ;
}


Exemplo:


public
OnPlayerText(playerid, text[])
{
_lowercase(text);
return true;
}

NathanLive
29/05/2010, 02:17 AM
Dúvida:
Pra criar organização no godfather é /makeleader, e para cria emprego? Abrass.

blackinhu214
29/05/2010, 03:04 AM
iai galerinha blz?
eu qria o saber o q faço nesse codigo para quando der /convidar pra algumar org aparecer mais 4 skins pra escolher...
ta ai =D
if(PlayerInfo[playerid][pLider] == 1) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Policia Militar"; ChosenSkin[para1] = 282; SetPlayerSkin(para1, 282); }
e mais uma coisa tem algum jeito de adicionar um interior em um lugar mais para nao ser uma casa
ex:
no casarao perto da prefeitura ser um bar... se tiver tem como me dar uma ajudinha?
vlw galera

alancarbon
29/05/2010, 02:11 PM
alguem pode me dizer como corrijo este erro


error 017: undefined symbol "class"
error 017: undefined symbol "style"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line


linha do erro: for(new i = 0; i < class="pawnkeyword" style="color: rgb(0, 0, 255)

zSuYaNw
29/05/2010, 04:24 PM
alguem pode me dizer como corrijo este erro


error 017: undefined symbol "class"
error 017: undefined symbol "style"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line


linha do erro: for(new i = 0; i < class="pawnkeyword" style="color: rgb(0, 0, 255)


Posta Mais linhas

alancarbon
29/05/2010, 04:55 PM
public OnPlayerUpdate2(playerid)
{
if(!IsPlayerConnected(playerid)) return 0;
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < class="pawnkeyword" style="color: rgb(0, 0, 255); ">if(IsPlayerInRangeOfPoint(playerid, 3.0, SpikeInfo[i][sX], SpikeInfo[i][sY], SpikeInfo[i][sZ]))
{
if(SpikeInfo[i][sCreated] == 1)
{
new panels, doors, lights, tires;
new carid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(carid, panels, doors, lights, tires);
tires = encode_tires(1, 1, 1, 1);
UpdateVehicleDamageStatus(carid, panels, doors, lights, tires);
return 0;
}
}
}
}
return 1;
}
esse e um sistema de furar pneu que peguei no blog do drakon..

Rick_DR
29/05/2010, 11:10 PM
Amigos tem como colocar tempo neste comando para parecer mesmo uma contagem ?
queria 1 segundo de intervalo para cada texto

if (strcmp("/contagem", cmdtext, true)== 0)
{

new name[ 24 ], string[ 64 ];
GetPlayerName( playerid, name, 24 );


format( string, sizeof(string), "~w~%s 5 ", name );
format( string, sizeof(string), "~w~%s 4 ", name );
format( string, sizeof(string), "~w~%s 3 ", name );
format( string, sizeof(string), "~w~%s 2 ", name );
format( string, sizeof(string), "~w~%s 1 ", name );
format( string, sizeof(string), "~w~%s GO ", name );
GameTextForAll( string, 5000, 3 );

return 1;
}

blackinhu214
30/05/2010, 05:08 PM
dae galera blz
eu to com uma duvida aki, se alguem souber resolve-la me ajuda =D
if(pickupid == NovoPickupgroove) { //equipar groove
if(PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15)
GivePlayerWeapon(playerid,24,99);
}
como eu faço pra quando alguem passar nesse pickup apareça o nome da pessoa
tipo "fulano pegou seu equipamento degangue"
vlw galera

Rick_DR
30/05/2010, 05:55 PM
tenta assim, depois diz se funcionou!

if(pickupid == NovoPickupgroove) { //equipar groove
if(PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15)
GivePlayerWeapon(playerid,24,99);
GetPlayerName(playerid,pName,sizeof(pName));
new string[248];
format(string,sizeof(string)," %s pegou seu equipamento degangue ",pName);
SendClientMessageToAll(COR_aqui, string);
}

blackinhu214
30/05/2010, 09:56 PM
Opa funfou sim vlw =D
eu so precisei modificar pq aki no meu gm eh sendername e nao pname tirando isso foi legal =D brigadao
so mais uma duvida, toda vez q eu for botar um pickup assim eu teria q botar o "new string[numero]"?
e qual o maximo de strings q eu posso usar? vlw =D

russo666
30/05/2010, 10:06 PM
Problemas de usar cells a mais -> http://forum.sa-mp.com/index.php?topic=78026.0#post_stack

Como calcular o valor de cells a usar nas strings -> http://forum.sa-mp.com/index.php?topic=145461.msg1046479#msg1046479

ipsBruno
30/05/2010, 11:32 PM
Alguem Poderia me dizer se o Comparador "IF" Compara varios Valores Contidos em uma Stock

Ex:
Quero Comparar se a pos do Player é igual aos valores da stock:
new Float:x, Float:y, Float:z;
new porra;
porra = GetPlayerPos(playerid, x, y, z);
if(porra == IsPlayerInWater(playerid)) return 0;
Olha

IsPlayerInWater é a Stock que Contem os Valores Aqui:

stock IsPlayerInWater(playerid)
{
new Float:x,Float:y,Float:pz;
GetPlayerPos(playerid,x,y,pz);
if (
(IsPlayerInArea(playerid, 2032.1371, 1841.2656, 1703.1653, 1467.1099) && pz <= 9.0484) //lv piratenschiff
|| (IsPlayerInArea(playerid, 2109.0725, 2065.8232, 1962.5355, 10.8547) && pz <= 10.0792) //lv visage
|| (IsPlayerInArea(playerid, -492.5810, -1424.7122, 2836.8284, 2001.8235) && pz <= 41.06) //lv staucamm
|| (IsPlayerInArea(playerid, -2675.1492, -2762.1792, -413.3973, -514.3894) && pz <= 4.24) //sf südwesten kleiner teich
|| (IsPlayerInArea(playerid, -453.9256, -825.7167, -1869.9600, -2072.8215) && pz <= 5.72) //sf gammel teich
|| (IsPlayerInArea(playerid, 1281.0251, 1202.2368, -2346.7451, -2414.4492) && pz <= 9.3145) //ls neben dem airport
|| (IsPlayerInArea(playerid, 2012.6154, 1928.9028, -1178.6207, -1221.4043) && pz <= 18.45) //ls mitte teich
|| (IsPlayerInArea(playerid, 2326.4858, 2295.7471, -1400.2797, -1431.1266) && pz <= 22.615) //ls weiter südöstlich
|| (IsPlayerInArea(playerid, 2550.0454, 2513.7588, 1583.3751, 1553.0753) && pz <= 9.4171) //lv pool östlich
|| (IsPlayerInArea(playerid, 1102.3634, 1087.3705, -663.1653, -682.5446) && pz <= 112.45) //ls pool nordwestlich
|| (IsPlayerInArea(playerid, 1287.7906, 1270.4369, -801.3882, -810.0527) && pz <= 87.123) //pool bei maddog's haus oben
|| (pz < 1.5)
)
{
return 1;
}
return 0;
}
Alguem Sabe?

blackinhu214
31/05/2010, 01:23 AM
galera o q tem de errado aki?
if(pickupid == NovoPickupgroove) { //equipar groove
if(PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15)
GivePlayerWeapon(playerid,24,99);
GivePlayerWeapon(playerid,29,99);
GivePlayerWeapon(playerid,1,99);
GivePlayerWeapon(playerid,30,99);
GivePlayerWeapon(playerid,4,99);
SetPlayerArmour(playerid,99);
SetPlayerHealth(playerid,99);
GetPlayerName(playerid, sendername, sizeof(sendername));
new string[248];
format(string,sizeof(string)," %s pegou seu equipamento de gangue ",sendername);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
}
if(pickupid == NovoPickupvagos) { //equipar Ballas
if(PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19)
GivePlayerWeapon(playerid,24,99);
GivePlayerWeapon(playerid,29,99);
GivePlayerWeapon(playerid,1,99);
GivePlayerWeapon(playerid,30,99);
GivePlayerWeapon(playerid,4,99);
SetPlayerArmour(playerid,99);
SetPlayerHealth(playerid,99);
GetPlayerName(playerid, sendername, sizeof(sendername));
new string[248];
format(string,sizeof(string)," %s pegou seu equipamento de gangue ",sendername);
SendClientMessageToAll(COLOR_YELLOW, string);
}

qualqr org ta podendo pegar os equip =p
alguem sabe o q pode estar havendo?

Guilherme_Canani
31/05/2010, 01:24 AM
Pq tu nao abriu chaves e fechou para o if(PlayerInfo?? Deve ser isso

blackinhu214
31/05/2010, 01:34 AM
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == NovoPickup1) { // Pickup esconderijo
GameTextForPlayer(playerid,"~w~apenas para eventos by dark_cloud!", 6000,4); // Ações que serão feitas ao passar por cima do pickup
GivePlayerWeapon(playerid,24,9999999999); // No caso do exemplo, ele está dando armas e mostrando um GameText.
GivePlayerWeapon(playerid,29,9999999999);
GivePlayerWeapon(playerid,31,9999999999);
}
if(pickupid == NovoPickupgroove) { //equipar groove
if(PlayerInfo[playerid][pMembro] >= 15 || PlayerInfo[playerid][pLider] <= 15)
GivePlayerWeapon(playerid,24,99);
GivePlayerWeapon(playerid,29,99);
GivePlayerWeapon(playerid,1,99);
GivePlayerWeapon(playerid,30,99);
GivePlayerWeapon(playerid,4,99);
SetPlayerArmour(playerid,99);
SetPlayerHealth(playerid,99);
GetPlayerName(playerid, sendername, sizeof(sendername));
new string[248];
format(string,sizeof(string)," %s pegou seu equipamento de gangue ",sendername);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
}
if(pickupid == NovoPickupvagos) { //equipar Ballas
if(PlayerInfo[playerid][pMembro] >= 19 || PlayerInfo[playerid][pLider] <= 19)
GivePlayerWeapon(playerid,24,99);
GivePlayerWeapon(playerid,29,99);
GivePlayerWeapon(playerid,1,99);
GivePlayerWeapon(playerid,30,99);
GivePlayerWeapon(playerid,4,99);
SetPlayerArmour(playerid,99);
SetPlayerHealth(playerid,99);
GetPlayerName(playerid, sendername, sizeof(sendername));
new string[248];
format(string,sizeof(string)," %s pegou seu equipamento de gangue ",sendername);
SendClientMessageToAll(COLOR_YELLOW, string);
}
ta ai o codigo todo, sabe o q pode ser?

russo666
31/05/2010, 02:18 AM
Hoje não estou com cabeça para nada mas isto está ase contradizer:

if(PlayerInfo[playerid][pMembro] >= 15 || PlayerInfo[playerid][pLider] <= 15)

Se for maior ou igual ||(ou) se for menor ou igual?

blackinhu214
31/05/2010, 02:20 AM
opa na verdade ta if(PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15)
eu botei o menor e igual so pra ver se ia, mais nao foi =p...
malz ae

Caio_Cartaxo
31/05/2010, 02:29 AM
Qual a diferença entre && e || ? '-'

russo666
31/05/2010, 02:41 AM
opa na verdade ta || eu botei o menor e igual so pra ver se ia, mais nao foi =p...
malz ae


Mas já percebeste o que está mal?


Qual a diferença entre && e || ? '-'


&& = 'E' -> Se o nick for LAL && Admin -> Come cu (Se tiver o nick for LAL e o jogador for Admin come cu)

|| = 'Ou' -> Se o nick for UOL || Panilas -> Come pila (Se tiver o nick for UOL ou o jogador for Panilas come pila)

blackinhu214
31/05/2010, 02:47 AM
ainda nao consegui qualqr org ainda pode pegar os equips...

Caio_Cartaxo
31/05/2010, 02:34 PM
opa na verdade ta || eu botei o menor e igual so pra ver se ia, mais nao foi =p...
malz ae


Mas já percebeste o que está mal?


Qual a diferença entre && e || ? '-'


&& = 'E' -> Se o nick for LAL && Admin -> Come cu (Se tiver o nick for LAL e o jogador for Admin come cu)

|| = 'Ou' -> Se o nick for UOL || Panilas -> Come pila (Se tiver o nick for UOL ou o jogador for Panilas come pila)


Blz vlw *-*

blackinhu214
31/05/2010, 03:12 PM
ai russo consegui =D eu deixei assim
if(pickupid == NovoPickupgroove) { //equipar groove
if(PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15)
{
GivePlayerWeapon(playerid,24,99);
GivePlayerWeapon(playerid,29,99);
GivePlayerWeapon(playerid,1,99);
GivePlayerWeapon(playerid,30,99);
GivePlayerWeapon(playerid,4,99);
SetPlayerArmour(playerid,99);
SetPlayerHealth(playerid,99);
GetPlayerName(playerid, sendername, sizeof(sendername));
new string[248];
format(string,sizeof(string)," %s pegou seu equipamento degangue ",sendername);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
}
}
if(pickupid == NovoPickupvagos) {
if (PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19)
{
GivePlayerWeapon(playerid,24,99);
GivePlayerWeapon(playerid,29,99);
GivePlayerWeapon(playerid,1,99);
GivePlayerWeapon(playerid,30,99);
GivePlayerWeapon(playerid,4,99);
SetPlayerArmour(playerid,99);
SetPlayerHealth(playerid,99);
GetPlayerName(playerid, sendername, sizeof(sendername));
new string[248];
format(string,sizeof(string)," %s pegou seu equipamento degangue ",sendername);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
}
}
e foi =D vlw pela ajuda ae mano

@Edit
ae galera to fazendo um infoorg aki ta o codigo
if(strcmp(cmd, "/convidar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /convidar [ id ]");
return 1;
}
new para1;
new ftext[20];
para1 = ReturnUser(tmp);
if (PlayerInfo[playerid][pLider] >= 1)
{
if(IsPlayerConnected(para1))
{
if(PlayerInfo[para1][pLevel] < 2) { SendClientMessage(playerid, COLOR_GREY, "So pode convidar quem é nivel 2 ou acima de 2!!!"); return 1;
}
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[para1][pMembro] == 0 && PlayerInfo[para1][pFMember] == 255)
{
if(PlayerInfo[playerid][pLider] == 1) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Policia Militar"; ChosenSkin[para1] = 282; SetPlayerSkin(para1, 282); }
else if(PlayerInfo[playerid][pLider] == 2) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "G.T.3"; ChosenSkin[para1] = 285; SetPlayerSkin(para1, 285); }
else if(PlayerInfo[playerid][pLider] == 3) { PlayerInfo[para1][pTeam] = 3; gTeam[para1] = 3; ftext = "Exército"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }
else if(PlayerInfo[playerid][pLider] == 4) { PlayerInfo[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "Firemen/Ambulance"; ChosenSkin[para1] = 70; SetPlayerSkin(para1, 70); }
else if(PlayerInfo[playerid][pLider] == 5) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Varrios Los Aztecas"; ChosenSkin[para1] = 115; SetPlayerSkin(para1, 115); }
else if(PlayerInfo[playerid][pLider] == 6) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Hamas"; ChosenSkin[para1] = 121; SetPlayerSkin(para1, 121); }
else if(PlayerInfo[playerid][pLider] == 7) { PlayerInfo[para1][pTeam] = 7; gTeam[para1] = 7; ftext = "Prefeitura"; ChosenSkin[para1] = 163; SetPlayerSkin(para1, 163); }
else if(PlayerInfo[playerid][pLider] == 8) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Hitman Agency"; ChosenSkin[para1] = 127; SetPlayerSkin(para1, 127); }
else if(PlayerInfo[playerid][pLider] == 9) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "CNN Studio"; ChosenSkin[para1] = 148; SetPlayerSkin(para1, 148); }
else if(PlayerInfo[playerid][pLider] == 10) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Taxi Cab Company"; ChosenSkin[para1] = 255; SetPlayerSkin(para1, 255); }
else if(PlayerInfo[playerid][pLider] == 11) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "School Instructors"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }
else if(PlayerInfo[playerid][pLider] == 15) { PlayerInfo[para1][pTeam] = 15; gTeam[para1] = 12; ftext = "Groove Street"; ChosenSkin[para1] = 105; SetPlayerSkin(para1, 105); }
else if(PlayerInfo[playerid][pLider] == 16) { PlayerInfo[para1][pTeam] = 16; gTeam[para1] = 12; ftext = "AlQaeda"; ChosenSkin[para1] = 30; SetPlayerSkin(para1, 30); }
else if(PlayerInfo[playerid][pLider] == 17) { PlayerInfo[para1][pTeam] = 17; gTeam[para1] = 2; ftext = "Policia Civil"; ChosenSkin[para1] = 141; SetPlayerSkin(para1, 141); }
else if(PlayerInfo[playerid][pLider] == 18) { PlayerInfo[para1][pTeam] = 18; gTeam[para1] = 12; ftext = "Ballas"; ChosenSkin[para1] = 103; SetPlayerSkin(para1, 103); }
else if(PlayerInfo[playerid][pLider] == 19) { PlayerInfo[para1][pTeam] = 19; gTeam[para1] = 12; ftext = "Los Vagos"; ChosenSkin[para1] = 109; SetPlayerSkin(para1, 109); }
else if(PlayerInfo[playerid][pLider] == 20) { PlayerInfo[para1][pTeam] = 20; gTeam[para1] = 20; ftext = "Mafia Yakuza"; ChosenSkin[para1] = 21; SetPlayerSkin(para1, 21); }
else if(PlayerInfo[playerid][pLider] == 21) { PlayerInfo[para1][pTeam] = 21; gTeam[para1] = 21; ftext = "Os Cobras"; ChosenSkin[para1] = 21; SetPlayerSkin(para1, 21); }
else if(PlayerInfo[playerid][pLider] == 22) { PlayerInfo[para1][pTeam] = 22; gTeam[para1] = 22; ftext = "Máfia La Hermandad"; ChosenSkin[para1] = 117; SetPlayerSkin(para1, 117); }
else if(PlayerInfo[playerid][pLider] == 23) { PlayerInfo[para1][pTeam] = 23; gTeam[para1] = 23; ftext = "Guerrilha MOB"; ChosenSkin[para1] = 24; SetPlayerSkin(para1, 24); }
else if(PlayerInfo[playerid][pLider] == 24) { PlayerInfo[para1][pTeam] = 24; gTeam[para1] = 24; ftext = "Drifters"; ChosenSkin[para1] = 82; SetPlayerSkin(para1, 82); }
else if(PlayerInfo[playerid][pLider] == 25) { PlayerInfo[para1][pTeam] = 25; gTeam[para1] = 25; ftext = "FAB"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }

else { return 1; }
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pMembro] = PlayerInfo[playerid][pLider];
PlayerInfo[para1][pCargo] = 1;
printf("ADMIN CMD: %s convidou %s para entrar %s.", sendername, giveplayer, ftext);
format(string, sizeof(string), "Voce foi convidado para a %s, pelo Líder %s", ftext, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Voce convidou %s para a %s.", giveplayer,ftext);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SetPlayerInterior(para1,0);
PlayerInfo[playerid][pCarLic] = 1;
PlayerInfo[playerid][pFlyLic] = 1;
PlayerInfo[playerid][pBoatLic] = 1;
PlayerInfo[playerid][pFishLic] = 1;
PlayerInfo[playerid][pGunLic] = 1;
new rand = random(sizeof(gInviteSpawns));
SetPlayerPos(para1, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(para1, gInviteSpawns[rand][3]);
SetPlayerCameraPos(para1,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
SetPlayerCameraLookAt(para1,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
TogglePlayerControllable(para1, 0);
SelectChar[para1] = 255;
SelectCharID[para1] = PlayerInfo[para1][pMembro];
SelectCharPlace[para1] = 1;
PlayerInfo[para1][pModel] = ChosenSkin[para1];
PlayerInfo[para1][pChar] = ChosenSkin[para1];
SendClientMessage(para1, COLOR_LIGHTRED, "* Use 'Proximo' para trocar a skin.");
SendClientMessage(para1, COLOR_LIGHTRED, "* Quando voce achar a Skin preferida, Digite 'Confirma'.");
new File:ftw=fopen("infoorg.txt", io_append);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 30, "%s\r\n", sendername);
fwrite(ftw, string);
fclose(ftw);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Este player ou e Procura / Tem Emprego ou / Familia");
return 1;
}
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Voce nao esta autorizado para usar este cmd ( Apenas Lideres )!");
}
}
return 1;
}

if(strcmp(cmd,"/infoorg",true)==0)
{
new File:ftw=fopen("infoorg.txt",io_read);
new l;
while(fread(ftw,string))
{
l++;
if(l==1)
{
SendClientMessage(playerid,COLOR_YELLOW,string);
}
else
{
SendClientMessage(playerid,COLOR_YELLOW,string);
}
}
fclose(ftw);
return 1;
}
eu qria saber como posso dividir em varias orgs tipo, se eu for pm e convidar alguem va pra infoorgpm.txt
pois do jeito q ta quando uso /convidar vai todos para o mesmo arquivo, todas as orgs =p
se alguem puder me ajudar agradeço =D

Caio_Cartaxo
31/05/2010, 11:13 PM
Editei assim...
/*if(strcmp(cmd,"/infoorg",true)==0)
{
new File:ftwpm = fopen("infoorgpm.txt", io_read);
new File:ftwgrove = fopen("infoorggrove.txt", io_read);
new l;
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
{
while(fread(ftwpm, string))
{
l++;
if(l==1)
{
SendClientMessage(playerid,COLOR_YELLOW,string);
}
else
{
SendClientMessage(playerid,COLOR_YELLOW,string);
}
}
}
else if(PlayerInfo[playerid][pMembro] == 2 || PlayerInfo[playerid][pLider] == 2)
{
while(fread(ftwgrove, string))
{
l++;
if(l==1)
{
SendClientMessage(playerid,COLOR_YELLOW,string);
}
else
{
SendClientMessage(playerid,COLOR_YELLOW,string);
}
}
}
fclose(ftw);
return 1;
}*/
Da uma estudada nele!

russo666
31/05/2010, 11:24 PM
Nem vi nada porque o caio responde, de qualquer maneira

new l;
l++;
if(l == 1)
{
do some shit;
}
else
{
do some shit;
}

é para mandar a primeira linha de uma cor e as restantes de outra. Se quiserem tudo na mesma coisa façam assim:

new l;
l++;
if(l > 0)
{
do some shit;
}

blackinhu214
01/06/2010, 02:43 AM
nao sei o q seria de mim sem vcs rs zoa, vlw ae pela ajuda galera

NathanLive
01/06/2010, 12:10 PM
@ blackinhu214
eu fiz o infoorg desse jeito q vc qr fazer, porem seu metodo nunca vai da certo estuda melhor o topico do russo, e o exemplo do caio.

@topico
Tenho uma duvida quero saber como funciona esses operadores:
+=
e
-=

abraços.

andmeida10
01/06/2010, 04:49 PM
isso é usado para adicionar certo tipo de algo definido. Explod (sistema de Drogas)


Drogas[playerid] += 400;


Adiciona 400 drogas ao player.



__________________________________________________ ________________________


Drogas[playerid] -= 400;


Retira 400 drogas ao player.


__________________________________________________ ________________________


Para usar o Drogas[playerid], deve usar o código no topo do GM:

new Drogas[MAX_PLAYERS];

e mais algumas coisinhas..

Blaze_Nigga(BR)
03/06/2010, 01:38 AM
Eae galera, seguinte.
Estou com um servidor rp ai, ai estava pensando em liberar as garagens de tuning agora que tem save tuning, só que quando vai tunar o carro, a pessoa não paga, o dinheiro dela e setado de volta ao normal.
Eu tenho um anti-xeater que seta o dinheiro da pessoa pra quantidade antiga e um sistema que quando ele vai na pray spray os 100$ que você paga comum no gta não é pago, gostaria de arrumar isso sem afetar nenhum dos dois.
Tem como? Se poderem ajudar agradeço.

[NWD]Tweener_
03/06/2010, 03:30 AM
Por que quando eu vou prender alguém ao invés da pessoas ser transportada para a cadeia ela vai par ao céu e começa a cair?

Codigo:

if(strcmp(cmd, "/prender", true) == 0) {
if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO || Profissao[playerid] == BOPE || Profissao[playerid] == DELEGADO || Profissao[playerid] == INTERPOL || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
new distancia;
new string[256];
distancia = GetDistanceBetweenPlayers(playerid, plid);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_RED, "/prender [id]");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid) && PLAYERLIST_authed[plid] == 1){
if(distancia > 10){
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você está muito longe, chegue mais perto!");
return 1;
}
if(distancia <= 10){
Presos[plid] = 1;
pap_SalvarInt(playerid, "Preso", 1);
LogarPlayer(plid);
SetPlayerPos(playerid, 264.5996,77.7367,1001.0391);
SetPlayerInterior(playerid, 6);
format(string, sizeof(string), "[INFO] Você foi preso por: %s", PlayerName(playerid));
SendClientMessage(plid, COLOR_SEGURANÇA, string);
SendClientMessage(playerid, COLOR_GREEN, "[INFO] Prisão concluida");
return 1;
}
return 1;
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Jogador não está conectado/logado");
return 1;
}
}
if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO || Profissao[playerid] == BOPE || Profissao[playerid] == DELEGADO || Profissao[playerid] == INTERPOL || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || IsPlayerAdmin(playerid)){
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você não é policial");
return 1;
}
}

andmeida10
03/06/2010, 07:08 AM
talvez o interior esteja errado??

[NWD]Tweener_
03/06/2010, 02:50 PM
talvez o interior esteja errado??


Creio que não, pois eu vi esse mesmo interior e coordenadas em vários FS's e sistema de prisão. É aquele interior da cela fechada da delegacia de LS.

Isso precisa de VirtualWorld?

andmeida10
03/06/2010, 04:06 PM
virtualworld não é para aqui chamado... n tem nd a ver....


Tem que ser um destes 2 problemas:

Cordenadas erradas ou Interior errado...


Vai na posicao e dá:

/save pos_Prisao

e

/interior


:arrow: Vê qual é o interior que vai aparecer..


:arrow: Vê qual a posicao na pasta d directorio do GTA SA.

[NWD]Tweener_
03/06/2010, 04:32 PM
virtualworld não é para aqui chamado... n tem nd a ver....


Tem que ser um destes 2 problemas:

Cordenadas erradas ou Interior errado...


Vai na posicao e dá:

/save pos_Prisao

e

/interior


:arrow: Vê qual é o interior que vai aparecer..


:arrow: Vê qual a posicao na pasta d directorio do GTA SA.





Fiz as duas coisas, ja verifiquei o interior, ja verifiquei as coordenadas, e está tudo certo. Muito tenso, vou testar mais tarde no sistema de matar e ser preso para ver se vai dar a mesma coisa. Isso é coisa do >:(

Blaze_Nigga(BR)
03/06/2010, 11:50 PM
Tentei fazer um sistema de placas por 3dtextlabel, não tem nenhum erro, só que no servidor as placas não aparecem, se alguém poder ajudar ai agradesso.

for(new vehid; vehid < MAX_VEHICLES; vehid++)
{
new placa[128];
format(placa,sizeof(placa), "LS %i", vehid);
VehicleLicense[vehid] = Create3DTextLabel(placa, COLOR_LIGHTBLUE, 0.0, 0.0, 0.0, 50.0, 0, 0);
Attach3DTextLabelToVehicle(VehicleLicense[vehid], vehid, 0.0, 0.0, 2.0);
}

Quanto ao meu outro post consegui resolver já.

blackinhu214
04/06/2010, 01:06 AM
dae galera
eu to com uma duvida aki, eu botei um pickup aki no meu gm para usar o /equipar ate ai funfa certin
mais eu qria saber como faço para se o player estiver em cima do pickup e apertar a tecla "F" ele equipe
vlw galera =D

[NWD]Tweener_
04/06/2010, 02:16 AM
dae galera
eu to com uma duvida aki, eu botei um pickup aki no meu gm para usar o /equipar ate ai funfa certin
mais eu qria saber como faço para se o player estiver em cima do pickup e apertar a tecla "F" ele equipe
vlw galera =D


Cara, não tenho muita certeza, mas é alguma coisa com http://wiki.sa-mp.com/wiki/GetPlayerKeys

Não me recordo agora se realmente é isso.

---------------------------------------------------------------------------------------------------------------------


Aliás, alguém pode me ajudar com o /prender ali de cima?

blackinhu214
04/06/2010, 02:34 AM
/*if(strcmp(cmd, "/equipar", true) == 0)
if(PlayerToPoint(10.0, playerid,246.6891,66.9642,1003.6406) || PlayerToPoint(10.0,playerid,229.9127,165.4368,1003 .0234) || PlayerInfo[playerid][pLocal] != 255)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1 || PlayerInfo[playerid][pMembro] == 2 || PlayerInfo[playerid][pLider] == 2 || PlayerInfo[playerid][pMembro] == 17 || PlayerInfo[playerid][pLider] == 17)//Delegado
{
format(string, sizeof(string), "* %s Pegou Equipamento de COP Iniciante.", sendername);
ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
GivePlayerWeapon(playerid, 24, 200);
GivePlayerWeapon(playerid, 6, 1);
SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP Iniciante!");
return 1;
}
eu nao intendi muito bem, mais eu teria q botar um getplayerkeys ai no comando?

[NWD]Tweener_
04/06/2010, 02:44 AM
/*if(strcmp(cmd, "/equipar", true) == 0)
if(PlayerToPoint(10.0, playerid,246.6891,66.9642,1003.6406) || PlayerToPoint(10.0,playerid,229.9127,165.4368,1003 .0234) || PlayerInfo[playerid][pLocal] != 255)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1 || PlayerInfo[playerid][pMembro] == 2 || PlayerInfo[playerid][pLider] == 2 || PlayerInfo[playerid][pMembro] == 17 || PlayerInfo[playerid][pLider] == 17)//Delegado
{
format(string, sizeof(string), "* %s Pegou Equipamento de COP Iniciante.", sendername);
ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
GivePlayerWeapon(playerid, 24, 200);
GivePlayerWeapon(playerid, 6, 1);
SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP Iniciante!");
return 1;
}
eu nao intendi muito bem, mais eu teria q botar um getplayerkeys ai no comando?


Então como eu disse, creio que seja isso, você deve colocar um GetPlayerKeys, ou algo do tipo.

================================================== ==========================> EDIT = Minha duvida:

Estou tentando adicionar uns MapIcons ao meu GM para destacar certos locais, então queria por inicio adcionar a agencia, então criei esse aqui:

SetPlayerMapIcon(playerid, 23, 1219.2263, -1814.1140, 16.5938, 23, 0 );
SetPlayerMapIcon(playerid, 23, 2461.1196, 1559.4412, 11.6803, 23, 0 );
SetPlayerMapIcon(playerid, 23, -2650.0020, 376.0294, 6.1563, 23, 0 );
SetPlayerMapIcon(playerid, 23, 1324.5930, 287.0905, 20.0452, 23, 0 );

Porém quando coloco só 1, ele vai, se coloco mais de 1 ele não aparece nenhum, o que eu estou fazendo de errado(Sei que estou errando porque não entendi muito bem o tuto da Wiki)?

Negão
04/06/2010, 09:17 AM
Gente, Eu estava fazendo um cmd /fake [ID]
este comando mostraria todas as acc q o player logou com aquele IP.
então, não sei muito Bem fazer cmd mais fiz isso aki ó

if(strcmp(cmd,"/Fake",true)==0)
{
if(PlayerInfo[playerid][Admin] < 2) SendClientMessage(playerid,ServerColor2,"(ERROR): Você Precisa Ser Sub-Admin (Level:2) para Usar Esse Comando.");
if(IsPlayerConnected(playerid))
{
new Line2[256],Pip[20];
{
format(Line2,MaxString,"(INFO): Informações do IP: %s ",PlayerInfo,Pip);
SendClientMessage(playerid,ServerColor3,Line2);
new nomep[MAX_PLAYER_NAME];
GetPlayerName(playerid,nomep,sizeof(nomep));
{
new IpOfPlayer[20];
GetPlayerIp(playerid,IpOfPlayer,sizeof(IpOfPlayer) );
new FilePathInfo[256];
format(FilePathInfo,sizeof(FilePathInfo),"%s%s.ini",ConnectionFile,IpOfPlayer);
if(!dini_Exists(FilePathInfo))
{
dini_Create(FilePathInfo);
dini_Set(FilePathInfo,"Nome1",nomep);
dini_Set(FilePathInfo,"Nome2","Nenhum");
dini_Set(FilePathInfo,"Nome3","Nenhum");
dini_Set(FilePathInfo,"Nome4","Nenhum");
dini_Set(FilePathInfo,"Nome5","Nenhum");
dini_Set(FilePathInfo,"Nome6","Nenhum");
dini_Set(FilePathInfo,"Nome7","Nenhum");
dini_Set(FilePathInfo,"Nome8","Nenhum");
dini_Set(FilePathInfo,"Nome9","Nenhum");
dini_Set(FilePathInfo,"Nome10","Nenhum");

for(new n = 1; n < 11; n++)
{
new checkname[256];
new valuename[256];
format(checkname,sizeof(checkname),"Nome %d",n);
valuename = dini_Get(FilePathInfo,checkname);

if(strcmp(nomep,valuename,true)==0)
{
break;
}
if(strcmp(nomep,valuename,true)!=0 && strcmp(valuename,"Nenhum",true)==0)
{
dini_Set(FilePathInfo,checkname,nomep);
break;
}
return 1;
}
}
}
}
}

então Eu queria que vc6 me ajudassem com o resto que não sei muito Bem fazer Obrigado '-'

pow alguem me ajuda aew por favor, preciso muito deste cmd '-'
vlw obrigado ^^

Brunin_OwnZ
04/06/2010, 02:37 PM
Black_Alien ]
Por que quando eu vou prender alguém ao invés da pessoas ser transportada para a cadeia ela vai par ao céu e começa a cair?

Codigo:

if(strcmp(cmd, "/prender", true) == 0) {
if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO || Profissao[playerid] == BOPE || Profissao[playerid] == DELEGADO || Profissao[playerid] == INTERPOL || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
new distancia;
new string[256];
distancia = GetDistanceBetweenPlayers(playerid, plid);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_RED, "/prender [id]");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid) && PLAYERLIST_authed[plid] == 1){
if(distancia > 10){
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você está muito longe, chegue mais perto!");
return 1;
}
if(distancia <= 10){
Presos[plid] = 1;
pap_SalvarInt(playerid, "Preso", 1);
LogarPlayer(plid);
SetPlayerPos(playerid, 264.5996,77.7367,1001.0391);
SetPlayerInterior(playerid, 6);
format(string, sizeof(string), "[INFO] Você foi preso por: %s", PlayerName(playerid));
SendClientMessage(plid, COLOR_SEGURANÇA, string);
SendClientMessage(playerid, COLOR_GREEN, "[INFO] Prisão concluida");
return 1;
}
return 1;
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Jogador não está conectado/logado");
return 1;
}
}
if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO || Profissao[playerid] == BOPE || Profissao[playerid] == DELEGADO || Profissao[playerid] == INTERPOL || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || IsPlayerAdmin(playerid)){
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você não é policial");
return 1;
}
}


Ai eu tava vendo seu cmd e eu achei uma coisa estranha

pap_SalvarInt(playerid, "Preso", 1);
SetPlayerPos(playerid, 264.5996,77.7367,1001.0391);
SetPlayerInterior(playerid, 6);


nao seria:

pap_SalvarInt(plid, ... );
SetPlayerPos(plid, ... );
SetPlayerInterior(plid, ...);


?

[NWD]Tweener_
04/06/2010, 03:08 PM
Talvez...

Vou dar uma olhada aqui.

Vlw

=====================> EDIT

Mesma coisa :(

Brunin_OwnZ
04/06/2010, 03:43 PM
Entao talvez seja o LogarPlayer(plid);

Poste esse LogarPlayer(plid); :s

[NWD]Tweener_
04/06/2010, 03:50 PM
Estou passando o /pm do FS Base original do SA:MP para o meu GM, e deu esses erros aqui:

../include/gl_common.inc(75) : error 021: symbol already defined: "strtok"
../include/gl_common.inc(90) : error 047: array sizes do not match, or destination array is too small
../include/gl_common.inc(134) : error 021: symbol already defined: "isNumeric"

Como arrumo isso? Quando estava no FS só com o PM compilava certinho

Negão
05/06/2010, 05:33 AM
Gente, Eu estava fazendo um cmd /fake [ID]
este comando mostraria todas as acc q o player logou com aquele IP.
então, não sei muito Bem fazer cmd mais fiz isso aki ó

if(strcmp(cmd,"/Fake",true)==0)
{
if(PlayerInfo[playerid][Admin] < 2) SendClientMessage(playerid,ServerColor2,"(ERROR): Você Precisa Ser Sub-Admin (Level:2) para Usar Esse Comando.");
if(IsPlayerConnected(playerid))
{
new Line2[256],Pip[20];
{
format(Line2,MaxString,"(INFO): Informações do IP: %s ",PlayerInfo,Pip);
SendClientMessage(playerid,ServerColor3,Line2);
new nomep[MAX_PLAYER_NAME];
GetPlayerName(playerid,nomep,sizeof(nomep));
{
new IpOfPlayer[20];
GetPlayerIp(playerid,IpOfPlayer,sizeof(IpOfPlayer) );
new FilePathInfo[256];
format(FilePathInfo,sizeof(FilePathInfo),"%s%s.ini",ConnectionFile,IpOfPlayer);
if(!dini_Exists(FilePathInfo))
{
dini_Create(FilePathInfo);
dini_Set(FilePathInfo,"Nome1",nomep);
dini_Set(FilePathInfo,"Nome2","Nenhum");
dini_Set(FilePathInfo,"Nome3","Nenhum");
dini_Set(FilePathInfo,"Nome4","Nenhum");
dini_Set(FilePathInfo,"Nome5","Nenhum");
dini_Set(FilePathInfo,"Nome6","Nenhum");
dini_Set(FilePathInfo,"Nome7","Nenhum");
dini_Set(FilePathInfo,"Nome8","Nenhum");
dini_Set(FilePathInfo,"Nome9","Nenhum");
dini_Set(FilePathInfo,"Nome10","Nenhum");

for(new n = 1; n < 11; n++)
{
new checkname[256];
new valuename[256];
format(checkname,sizeof(checkname),"Nome %d",n);
valuename = dini_Get(FilePathInfo,checkname);

if(strcmp(nomep,valuename,true)==0)
{
break;
}
if(strcmp(nomep,valuename,true)!=0 && strcmp(valuename,"Nenhum",true)==0)
{
dini_Set(FilePathInfo,checkname,nomep);
break;
}
return 1;
}
}

então Eu queria que vc6 me ajudassem com o resto que não sei muito Bem fazer Obrigado '-'

pow alguem me ajuda aew por favor, preciso muito deste cmd '-'
vlw obrigado ^^

[NWD]Tweener_
05/06/2010, 05:47 PM
Black_Alien ]
Estou passando o /pm do FS Base original do SA:MP para o meu GM, e deu esses erros aqui:

../include/gl_common.inc(75) : error 021: symbol already defined: "strtok"
../include/gl_common.inc(90) : error 047: array sizes do not match, or destination array is too small
../include/gl_common.inc(134) : error 021: symbol already defined: "isNumeric"

Como arrumo isso? Quando estava no FS só com o PM compilava certinho


Alguém?

pmkrz
05/06/2010, 06:13 PM
Black_Alien ]
Black_Alien ]
Estou passando o /pm do FS Base original do SA:MP para o meu GM, e deu esses erros aqui:

../include/gl_common.inc(75) : error 021: symbol already defined: "strtok"
../include/gl_common.inc(90) : error 047: array sizes do not match, or destination array is too small
../include/gl_common.inc(134) : error 021: symbol already defined: "isNumeric"

Como arrumo isso? Quando estava no FS só com o PM compilava certinho


Alguém?


Apaga o strtok e o isNumeric do teu GM ou do gl_common.inc, dá-te esse erro por estar definido duas vezes.

ipsBruno
05/06/2010, 06:30 PM
Vai no gl_common

Procure por :
strtok e insnumeric

Apague Esses Códigos

Ou Seja faz mesma coisa que PlayerMaker disse xD

pmkrz
05/06/2010, 06:32 PM
Vai no gl_common

Procure por :
strtok e insnumeric

Apague Esses Códigos

Ou Seja faz mesma coisa que PlayerMaker disse xD






PlayMaker * : (

blackinhu214
05/06/2010, 08:13 PM
dae galera blz?
eu estou tendo um probleminha aki =p
eu qria q quando um player usasse essa arma ele mandasse o aviso e começasse a cair do ceu
mais como eu boto pra se ele for socio isso nao acontecer?
ai o codigo

else if(GetPlayerWeapon(i) == 39)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] está usando uma Soqueira /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
SetPlayerPos(i,-123.7512,-2869.0913,183.3834+600);
ResetPlayerWeapons(i);
}

[NWD]Tweener_
05/06/2010, 09:43 PM
Eu troquei a Include, compilou certinho, mas tenho que ter outra pessoa on para eu testar, ai vou esperar o outro amigo meu para eu testar.

blackinhu214
06/06/2010, 12:57 AM
dae galera eu to com um probleminha no meu roubarbanco aki =p, tipo ele funfa certinho mais quando tenta roubar de novo diz para esperar 3 minutos, sendo q pode passar ate 1 hora que nao da pra usar ainda...
alguem pode me dar uma ajuda?
aki o codigo
if(strcmp(cmd,"/roubar",true)==0)
{
new gangtext[64];
if(PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15) { gangtext = "Groove Street"; }
else if(PlayerInfo[playerid][pMembro] == 18 || PlayerInfo[playerid][pLider] == 18) { gangtext = "Ballas"; }
else if(PlayerInfo[playerid][pMembro] == 5 || PlayerInfo[playerid][pLider] == 5) { gangtext = "Los Aztecas"; }
else if(PlayerInfo[playerid][pMembro] == 6 || PlayerInfo[playerid][pLider] == 6) { gangtext = "Hamas"; }
else if(PlayerInfo[playerid][pMembro] == 8 || PlayerInfo[playerid][pLider] == 8) { gangtext = "Hitmans"; }
else if(PlayerInfo[playerid][pMembro] == 12 || PlayerInfo[playerid][pLider] == 12) { gangtext = "Caipiras"; }
else if(PlayerInfo[playerid][pMembro] == 13 || PlayerInfo[playerid][pLider] == 13) { gangtext = "Surfistas"; }
else if(PlayerInfo[playerid][pMembro] == 16 || PlayerInfo[playerid][pLider] == 16) { gangtext = "Al'qaeda"; }
else if(PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19) { gangtext = "Los Vagos"; }
else if(PlayerInfo[playerid][pMembro] == 20 || PlayerInfo[playerid][pLider] == 20) { gangtext = "Mafia Yakuza"; }
else if(PlayerInfo[playerid][pMembro] == 21 || PlayerInfo[playerid][pLider] == 21) { gangtext = "Moto Clube Abutres"; }
else if(PlayerInfo[playerid][pMembro] == 22 || PlayerInfo[playerid][pLider] == 22) { gangtext = "Mafia LH"; }
else if(PlayerInfo[playerid][pMembro] == 23 || PlayerInfo[playerid][pLider] == 23) { gangtext = "Comando Vermelho"; }
else if(PlayerInfo[playerid][pMembro] == 24 || PlayerInfo[playerid][pLider] == 24) { gangtext = "Drifters"; }
GetPlayerName(playerid, sendername, sizeof(sendername));
if(playerrobbing[playerid] == 1)
{
SendClientMessage(playerid,COLOR_GREY,"Já roubaram o cofre do banco espere 3 minutos para roubar de novo !");
return 1;
}
else if(playerrobbing2[playerid] == 1)
{
SendClientMessage(playerid,COLOR_GREY,"Já roubaram o cofre da Prefeitura espere 3 minutos para roubar de novo !");
return 1;
}
if(PlayerInfo[playerid][pMembro] == 5 || PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pMembro] == 6
|| PlayerInfo[playerid][pLider] == 6 || PlayerInfo[playerid][pMembro] == 8 || PlayerInfo[playerid][pLider] == 8
|| PlayerInfo[playerid][pMembro] == 12 || PlayerInfo[playerid][pLider] == 12 || PlayerInfo[playerid][pMembro] == 13
|| PlayerInfo[playerid][pLider] == 13 || PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15
|| PlayerInfo[playerid][pMembro] == 16 || PlayerInfo[playerid][pLider] == 16 || PlayerInfo[playerid][pMembro] == 18
|| PlayerInfo[playerid][pLider] == 18 || PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19
|| PlayerInfo[playerid][pMembro] == 20 || PlayerInfo[playerid][pLider] == 20 || PlayerInfo[playerid][pMembro] == 21
|| PlayerInfo[playerid][pLider] == 21 || PlayerInfo[playerid][pMembro] == 22 || PlayerInfo[playerid][pLider] == 22
|| PlayerInfo[playerid][pMembro] == 23 || PlayerInfo[playerid][pLider] == 23 || PlayerInfo[playerid][pMembro] == 24
|| PlayerInfo[playerid][pLider] == 24)
{
if(PlayerToPoint(5.0,playerid,2313.2744,-7.2386,26.7422))
{
format(string, sizeof(string), "%s e os %s estão roubando o cofre banco!", sendername, gangtext);
SendClientMessageToAll(COLOR_YELLOW, string);
new grana = 10000 + random(80000);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerToPoint(20.0,i,2315.4229,-0.5206,26.7422))
{
SetPlayerCriminal(i,255, "Assalto ao Banco");
new wantedlevel;
wantedlevel = GetPlayerWantedLevel(i);
SetPlayerWantedLevel(i,wantedlevel+1);
WantedPoints[i] = wantedlevel+=3;
GivePlayerMoneyEx(i, grana);
format(string, sizeof(string), "Você e os %s roubaram $%d do cofre do Banco!",gangtext, grana);
SendClientMessage(i, COLOR_YELLOW, string);
}
}
robbed == 1;
SetTimerEx("RobDone",12, false, "i", playerid);
playerrobbing[playerid] = 1;
}
else if(PlayerToPoint(5.0,playerid,345.9852,162.1651,10 25.7964))
{
format(string, sizeof(string), "%s e os %s estão roubando o cofre da Prefeitura", sendername, gangtext);
SendClientMessageToAll(COLOR_YELLOW, string);
new grana = 100000 + random(800000);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerToPoint(20.0,i,343.9483,160.1318,1025.789 1))
{
SetPlayerCriminal(i,255, "Assalto a Prefeitura");
new wantedlevel;
wantedlevel = GetPlayerWantedLevel(i);
SetPlayerWantedLevel(i,wantedlevel+1);
WantedPoints[i] = wantedlevel+=3;
GivePlayerMoneyEx(i, grana);
format(string, sizeof(string), "Você e os %s roubaram $%d do cofre da Prefeitura!",gangtext, grana);
SendClientMessage(i, COLOR_YELLOW, string);
}
}
robbed == 1;
SetTimerEx("RobDone2",120000, false, "i", playerid);
playerrobbing2[playerid] = 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Você não está em um cofre de Banco ou Na Prefeitura!");
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Você não pode assaltar o Bando ou a Prefeitura");
return 1;
}
}

[NWD]Tweener_
06/06/2010, 01:17 AM
Não tenho certeza, mas tenta ae:


if(strcmp(cmd,"/roubar",true)==0)
{
new gangtext[64];
if(PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15) { gangtext = "Groove Street"; }
else if(PlayerInfo[playerid][pMembro] == 18 || PlayerInfo[playerid][pLider] == 18) { gangtext = "Ballas"; }
else if(PlayerInfo[playerid][pMembro] == 5 || PlayerInfo[playerid][pLider] == 5) { gangtext = "Los Aztecas"; }
else if(PlayerInfo[playerid][pMembro] == 6 || PlayerInfo[playerid][pLider] == 6) { gangtext = "Hamas"; }
else if(PlayerInfo[playerid][pMembro] == 8 || PlayerInfo[playerid][pLider] == 8) { gangtext = "Hitmans"; }
else if(PlayerInfo[playerid][pMembro] == 12 || PlayerInfo[playerid][pLider] == 12) { gangtext = "Caipiras"; }
else if(PlayerInfo[playerid][pMembro] == 13 || PlayerInfo[playerid][pLider] == 13) { gangtext = "Surfistas"; }
else if(PlayerInfo[playerid][pMembro] == 16 || PlayerInfo[playerid][pLider] == 16) { gangtext = "Al'qaeda"; }
else if(PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19) { gangtext = "Los Vagos"; }
else if(PlayerInfo[playerid][pMembro] == 20 || PlayerInfo[playerid][pLider] == 20) { gangtext = "Mafia Yakuza"; }
else if(PlayerInfo[playerid][pMembro] == 21 || PlayerInfo[playerid][pLider] == 21) { gangtext = "Moto Clube Abutres"; }
else if(PlayerInfo[playerid][pMembro] == 22 || PlayerInfo[playerid][pLider] == 22) { gangtext = "Mafia LH"; }
else if(PlayerInfo[playerid][pMembro] == 23 || PlayerInfo[playerid][pLider] == 23) { gangtext = "Comando Vermelho"; }
else if(PlayerInfo[playerid][pMembro] == 24 || PlayerInfo[playerid][pLider] == 24) { gangtext = "Drifters"; }
GetPlayerName(playerid, sendername, sizeof(sendername));
if(playerrobbing[playerid] == 1)
{
SendClientMessage(playerid,COLOR_GREY,"Já roubaram o cofre do banco espere 3 minutos para roubar de novo !");
return 1;
}
else if(playerrobbing2[playerid] == 1)
{
SendClientMessage(playerid,COLOR_GREY,"Já roubaram o cofre da Prefeitura espere 3 minutos para roubar de novo !");
return 1;
}
if(PlayerInfo[playerid][pMembro] == 5 || PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pMembro] == 6
|| PlayerInfo[playerid][pLider] == 6 || PlayerInfo[playerid][pMembro] == 8 || PlayerInfo[playerid][pLider] == 8
|| PlayerInfo[playerid][pMembro] == 12 || PlayerInfo[playerid][pLider] == 12 || PlayerInfo[playerid][pMembro] == 13
|| PlayerInfo[playerid][pLider] == 13 || PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15
|| PlayerInfo[playerid][pMembro] == 16 || PlayerInfo[playerid][pLider] == 16 || PlayerInfo[playerid][pMembro] == 18
|| PlayerInfo[playerid][pLider] == 18 || PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19
|| PlayerInfo[playerid][pMembro] == 20 || PlayerInfo[playerid][pLider] == 20 || PlayerInfo[playerid][pMembro] == 21
|| PlayerInfo[playerid][pLider] == 21 || PlayerInfo[playerid][pMembro] == 22 || PlayerInfo[playerid][pLider] == 22
|| PlayerInfo[playerid][pMembro] == 23 || PlayerInfo[playerid][pLider] == 23 || PlayerInfo[playerid][pMembro] == 24
|| PlayerInfo[playerid][pLider] == 24)
{
if(PlayerToPoint(5.0,playerid,2313.2744,-7.2386,26.7422))
{
format(string, sizeof(string), "%s e os %s estão roubando o cofre banco!", sendername, gangtext);
SendClientMessageToAll(COLOR_YELLOW, string);
new grana = 10000 + random(80000);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerToPoint(20.0,i,2315.4229,-0.5206,26.7422))
{
SetPlayerCriminal(i,255, "Assalto ao Banco");
new wantedlevel;
wantedlevel = GetPlayerWantedLevel(i);
SetPlayerWantedLevel(i,wantedlevel+1);
WantedPoints[i] = wantedlevel+=3;
GivePlayerMoneyEx(i, grana);
format(string, sizeof(string), "Você e os %s roubaram $%d do cofre do Banco!",gangtext, grana);
SendClientMessage(i, COLOR_YELLOW, string);
}
}
robbed == 1;
SetTimerEx("RobDone",12, true, "i", playerid);
playerrobbing[playerid] = 1;
}
else if(PlayerToPoint(5.0,playerid,345.9852,162.1651,10 25.7964))
{
format(string, sizeof(string), "%s e os %s estão roubando o cofre da Prefeitura", sendername, gangtext);
SendClientMessageToAll(COLOR_YELLOW, string);
new grana = 100000 + random(800000);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerToPoint(20.0,i,343.9483,160.1318,1025.789 1))
{
SetPlayerCriminal(i,255, "Assalto a Prefeitura");
new wantedlevel;
wantedlevel = GetPlayerWantedLevel(i);
SetPlayerWantedLevel(i,wantedlevel+1);
WantedPoints[i] = wantedlevel+=3;
GivePlayerMoneyEx(i, grana);
format(string, sizeof(string), "Você e os %s roubaram $%d do cofre da Prefeitura!",gangtext, grana);
SendClientMessage(i, COLOR_YELLOW, string);
}
}
robbed == 1;
SetTimerEx("RobDone2",120000, true, "i", playerid);
playerrobbing2[playerid] = 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Você não está em um cofre de Banco ou Na Prefeitura!");
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Você não pode assaltar o Bando ou a Prefeitura");
return 1;
}
}

Troquei os SetTimerEx("LáLá"LáLá, false, "i", playerid); por SetTimerEx("LáLá"LáLá, true, "i", playerid);

blackinhu214
06/06/2010, 01:33 AM
pow eu dei uma vasculhada aki e descobri =p tem os new tudo aki mais nao tem a public "RobDone"
alguem pode me ajudar a botar um timer para apenas poder usar o comando a cada 30 minutos?
ou passar um tuto sobre timers
vlw galera

[NWD]Tweener_
06/06/2010, 01:38 AM
pow eu dei uma vasculhada aki e descobri =p tem os new tudo aki mais nao tem a public "RobDone"
alguem pode me ajudar a botar um timer para apenas poder usar o comando a cada 30 minutos?
ou passar um tuto sobre timers
vlw galera


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

Mais é assim:

60000 = 1 Minuto
1800000 = 30 Minutos
3600000 = 1H

Ou seja: É os segundos normais + 000 (3 Zeros)

frenetico157
06/06/2010, 04:49 AM
Qual o mais eficiente , os que carregam mais rápido e dão menos crash ?

para objetos
AddStaticObject
ou
CreateDynamicObject

E para veiculos
AddStaticVehicle
ou
AddStreamableVehicle

[NWD]Tweener_
06/06/2010, 04:53 AM
EU uso:

Para Objeto:

CreateDynamicObject

Para Veiculo:

AddStaticVehicle

Blaze_Nigga(BR)
06/06/2010, 05:21 AM
Tentei fazer um sistema de placas por 3dtextlabel, não tem nenhum erro, só que no servidor as placas não aparecem, se alguém poder ajudar ai agradesso.

for(new vehid; vehid < MAX_VEHICLES; vehid++)
{
new placa[128];
format(placa,sizeof(placa), "LS %i", vehid);
VehicleLicense[vehid] = Create3DTextLabel(placa, COLOR_LIGHTBLUE, 0.0, 0.0, 0.0, 50.0, 0, 0);
Attach3DTextLabelToVehicle(VehicleLicense[vehid], vehid, 0.0, 0.0, 2.0);
}

Quanto ao meu outro post consegui resolver já.

Alguem ai pode ajuda?

[NWD]Tweener_
06/06/2010, 07:14 PM
Estava á editar o BaseF do sa:mp para o que eu queria, e está acontecendo o seguinte, ele compila certo, O Anti-Flooder funcina certo, só que o /pm está com um bug:

Quando eu digita alguma comando errado, qualquer coisa como /asasasa ele diz que eu não posso mandar PM para min mesmo.

Ae o Code de como ficou:


// a basic anti flood system, and admin chatting for rcon admins
// using # <message>

#include <a_samp>
#include "../include/gl_common.inc"

#define ADMINFS_MESSAGE_COLOR 0xC10000AA
#define PM_INCOMING_COLOR 0xFFFF22AA
#define PM_OUTGOING_COLOR 0xFFCC2299

static iPlayerChatTime[MAX_PLAYERS];
static szPlayerChatMsg[MAX_PLAYERS][128];

//------------------------------------------------

stock IsPlayerFlooding(playerid)
{
if(GetTickCount() - iPlayerChatTime[playerid] < 2000)
return 1;

return 0;
}

//------------------------------------------------

public OnFilterScriptInit()
{
print("\n--Base FS loaded.\n");
return 1;
}

//------------------------------------------------

public OnPlayerText(playerid, text[])
{
// Is the player flooding?
if(IsPlayerFlooding(playerid) && !IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, ADMINFS_MESSAGE_COLOR, "[ERRO] Você só pode mandar 1 mensagem a cada 2 segundos!");
return 0;
}

// Okay, now it's time for anti repeating.
if(!IsPlayerAdmin(playerid))
{
if(strlen(text) == strlen(szPlayerChatMsg[playerid]) && !strcmp(szPlayerChatMsg[playerid], text, false))
{
SendClientMessage(playerid, ADMINFS_MESSAGE_COLOR, "[ERRO] Não repita a mesma mensagem!");
format(szPlayerChatMsg[playerid], 128, "%s", text);
return 0;
}
}

format(szPlayerChatMsg[playerid], 128, "%s", text);
iPlayerChatTime[playerid] = GetTickCount();
return 1;
}

//------------------------------------------------

public OnPlayerDisconnect(playerid, reason)
{
#pragma unused reason

iPlayerChatTime[playerid] = 0;
szPlayerChatMsg[playerid] = "";
return 1;
}

//------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{

if(IsPlayerFlooding(playerid) && !IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, ADMINFS_MESSAGE_COLOR, "[ERRO] Você só pode usar comandos 1 vez a cada 2 segundos!");
return 1;
}

iPlayerChatTime[playerid] = GetTickCount();

new cmd[256];
new tmp[256];
new Message[256];
new gMessage[256];
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
new idx;



// PM Command
if(strcmp("/pm", cmd, true) == 0)
{


new id = strval(tmp);
gMessage = strrest(cmdtext,idx);

if(!strlen(gMessage)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
return 1;
}

if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"[ERRO] ID Inválido");
}

if(playerid != id) {
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,PM_OUTGOING_COLOR,Messa ge);
format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,PM_INCOMING_COLOR,Message);
PlayerPlaySound(id,1085,0.0,0.0,0.0);

printf("PM: %s",Message);

}
else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"[ERRO] Você não pode mandar mensagem para você mesmo.");
}
return 1;
}
SendClientMessage(playerid, ADMINFS_MESSAGE_COLOR,"[ERRO] Este comando não existe aqui!");
return 1;
}

//-----------------------------------------------

=================================================> @ EDIT

Pawn usa dorga! Quando eu compilo esse FS na pasta Filterscrips ele não compilava dava erro na strtok, ai eu copiei e cololei em outra pasta e compila sem problemas :|

Agora estou com outro problema, quando o player manda PM para um ID que não existe diz que o ID é invalida, só que mesmo assum aparece >> (24): lol

ipsBruno
06/06/2010, 07:36 PM
@TheGarfield:


stock
_lowercase(string[])
{
for(new n = 0 ; n < strlen(string) ; n++)
{
if((string[n] >= (0x41)) && (string[n] <= (0x5A)))
{
string[n] += 32;
}
}
return ;
}


Exemplo:


public
OnPlayerText(playerid, text[])
{
_lowercase(text);
return true;
}



Cara ai Você fez em Hexadecimal (0x5A & 0x41)
Poderia Fazer Assim:

OIDRAKON(text[])
{
for(new playmaker; playmaker< strlen(text) ; playmaker++)
{
if(text[playmaker] > 64 && text[playmaker] < 91)///Valor não em hexadecimal
{
text[playmaker] += 5;//Numero maximo de letras maiusculas
}
}
return 1;
}


OnPlayerText(playerid, text[])
{
OIDRAKON(text[])
return true;
}
Observe qe Mudei
0x5A & 0x41
para
64 & 91

Será Que muda Algo Hexadecimal/Decimal O.o

Rick_DR
07/06/2010, 11:10 AM
Queria um comando para mudar de skin, tentei este mas só muda o primeiro skin. Tipo /skin muda para skin 0 .. Se fizer de novo muda para skin 15 e por ais fora.

if (strcmp("/skin", cmdtext, true)==0)
{
if(gTeam[playerid] == 0) return
SetPlayerSkin(playerid, 0)
||SetPlayerSkin(playerid, 15)
||SetPlayerSkin(playerid, 24);

SendClientMessage(playerid,0xFFFFFFFF,"Alteras-te a tua skin");
return 1;
}

andmeida10
07/06/2010, 12:48 PM
Assim..

if (strcmp("/skin", cmdtext, true)==0)
{
new Skin = GetPlayerSkin(playerid);
if(Skin == 0)
{
SetPlayerSkin(playerid,15);
}
else if(Skin == 15)
{
SetPlayerSkin(playerid,30);
}
else if(Skin == 30)
{
SetPlayerSkin(playerid,60);
}
else if(Skin == 60)
{
SetPlayerSkin(playerid,120);
}
//E por ai fora
return 1;
}

pmkrz
07/06/2010, 01:37 PM
@Rick_DR:


if (strcmp("/skin", cmdtext, true, (5)) == (0))
{
if(gTeam[playerid] == (0))
{
#define \
MAX_SERVER_PLAYERS (500)

new
A[MAX_SERVER_PLAYERS] = -1,
S = GetPlayerSkin(playerid);

(A[playerid]) = (S == 0) ? (15) : ((S == 15) ? (24) : ((S == 24) ? (0) : (-1)));

SetPlayerSkin(playerid, (A[playerid]));

SendClientMessage(playerid, (0xFFFFFFFF), "Alteras-te a tua skin");
}
return true;
}


Isto é, se o id da tua skin for 0, o comando põe-te com o id 15 (Skin 15), se tiveres o id 15, põe-te a 24 e se tiveres a 24 volta a meter-te com o id 0. E sempre assim...
Se não for bem isto que pretendes avisa. : p

@DraKoNeoN:

Sim, também dava. ;' )

Rick_DR
07/06/2010, 04:18 PM
Isto é, se o id da tua skin for 0, o comando põe-te com o id 15 (Skin 15), se tiveres o id 15, põe-te a 24 e se tiveres a 24 volta a meter-te com o id 0. E sempre assim...
Se não for bem isto que pretendes avisa. : p

@DraKoNeoN:

Sim, também dava. ;' )


O problema é que ao longo do GM tem lojas de roupa e os jogadores podem comprar e usar. Uso a dini para gravar as skins e queria algo que me desse para retomar o skin inicial ..

Vou mostrar o que uso para remediar :

if (strcmp("/0", cmdtext, true)==0)
{
if(gTeam[playerid] != 0) return SendClientMessage(playerid,0xFFFFFFFF,"Comando reservado apenas para desempregados");
SetPlayerSkin(playerid, 0);
SendClientMessage(playerid,0xFFFFFFFF,"Alteras-te a tua skin");
return 1;
} if (strcmp("/00", cmdtext, true)==0)
{
if(gTeam[playerid] != 0) return SendClientMessage(playerid,0xFFFFFFFF,"Comando reservado apenas para desempregados");
SetPlayerSkin(playerid, 23);
SendClientMessage(playerid,0xFFFFFFFF,"Alteras-te a tua skin");
return 1;
}

Não sei se vão entender nem eu mesmo sei explicar bem

frenetico157
08/06/2010, 12:24 AM
como faço para que em um comando de /afk a tela fique toda preta?

e como posso usar o mesmo comando para entrar e sair do modo afk?

vlw

[NWD]Tweener_
08/06/2010, 01:01 AM
como faço para que em um comando de /afk a tela fique toda preta?

e como posso usar o mesmo comando para entrar e sair do modo afk?

vlw


Tira "base" desses FS's aqui:

http://forum.sa-mp.com/index.php?topic=164384.0
http://forum.sa-mp.com/index.php?topic=166936.0


Já da tela preta, acho que tem que fazer uma textDraw box do tamanho da tela, ai quando o player coloca /afk ela aparece, não tenho certeza.

blackinhu214
08/06/2010, 01:51 PM
iai galera blz
alguem sabe o q eu posso fazer nesse codigo para ele poder ser usado em um veiculo?
tipo apenas no veiculo modelo 596?
o codigo:
if(strcmp(cmd, "/equipar", true) == 0)
{
if(PlayerToPoint(3, playerid,255.3,77.4,1003.6) || PlayerToPoint(3,playerid,-1616.1294,681.1594,7.1875) || PlayerToPoint(3,playerid,230.1107,165.2237,1003.02 34) || PlayerToPoint(3, playerid,240.7396,112.9709,1003.2188) || PlayerToPoint(3, playerid,1530.5187,-1702.5320,6.2252) || PlayerToPoint(3, playerid,302.7606,-1529.7537,24.9219) || PlayerToPoint(3, playerid,1405.8651,415.0729,19.7578) || PlayerToPoint(3, playerid,-1345.8823,492.5301,11.2027) || PlayerInfo[playerid][pLocal] != 255)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1 || PlayerInfo[playerid][pMembro] == 2 || PlayerInfo[playerid][pLider] == 2 || PlayerInfo[playerid][pMembro] == 17 || PlayerInfo[playerid][pLider] == 17 || PlayerInfo[playerid][pMembro] == 3 || PlayerInfo[playerid][pLider] == 3 || PlayerInfo[playerid][pMembro] == 25 || PlayerInfo[playerid][pLider] == 25)//Delegado
{
if(OnEquipado[playerid] == 1)
{
ResetPlayerWeapons(playerid);
OnEquipado[playerid] = 0;
return 1;
}
if (PlayerInfo[playerid][pLider] == 1 || PlayerInfo[playerid][pMembro] == 1) // Policia Militar
{
if (PlayerInfo[playerid][pCargo] == 0)
{
format(string, sizeof(string), "* Oficial %s pega sua farda , e suas armas.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
GivePlayerWeapon(playerid, 25, 50);
GivePlayerWeapon(playerid, 24, 80);
GivePlayerWeapon(playerid, 3, 0);
GivePlayerWeapon(playerid, 31, 100);
SetPlayerArmour(playerid, 100.0);
SetPlayerHealth(playerid, 100.0);
OnEquipado[playerid] = 1;
return 1;
}
falow =D

russo666
08/06/2010, 02:25 PM
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 596)
{
// comando
}

ou no início de tudo:

if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 596) return 0;

blackinhu214
08/06/2010, 02:31 PM
mais uma duvida =p
como eu faço pra quando alguem digitar /lideres apareça o numero do telefone tbm
eu fiz assim
exemplo:
else if(PlayerInfo[i][pLider] == 17)
{
GetPlayerName(i,sendername,sizeof(sendername));
format(string,256,"Lider: %s(PC) Numero: %d",sendername,PlayerInfo[giveplayerid][pPnumber]);
SendClientMessage(playerid,0x93833EF6,string);
}
so q nao aparece o numero do carinha aparece o meu =p
eu precisaria botar algo como getplayernumber?
malz eu sei q eh uma pergunta idiota^^ mais axo interessante esse sistema =D

russo666
08/06/2010, 02:37 PM
Está correcto, o que eu não entendo é porque estás a utilizar "i" antes.

Altera giveplayerid para i.

blackinhu214
08/06/2010, 08:39 PM
vlw por terem tirado as duvidas =D tudo resolvido agora xD


@EDIT
dae galera, como eu faço para aumentar o valor do salario no payday?
eu fui na public payday()
so q nao intendi muito bem o q devo fazer

[NWD]Tweener_
08/06/2010, 09:55 PM
Posta as linhas, se for muito, use pastebin.com

blackinhu214
08/06/2010, 10:29 PM
ta ai a public
new string[128];
new Conta,interest;
new rent = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLevel] > 0)
{
if(MoneyMessage[i]==1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Voce nao pagou sua divida e foi preso.");
GameTextForPlayer(i, "~r~Preso!", 2000, 1);
SetPlayerInterior(i, 6);
SetPlayerPos(i, 264.6288,77.5742,1001.0391);
PlayerInfo[i][pJailed] = 1;
ResetPlayerWeapons(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 240;
format(string, sizeof(string), "Voce foi preso por %d segundos.", PlayerInfo[i][pJailTime]);
SendClientMessage(i, COLOR_LIGHTBLUE, string);
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
Conta = PlayerInfo[i][pConta];
new key = PlayerInfo[i][pPHousekey];
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoneyEx(i))
{
PlayerInfo[i][pPHousekey] = 255;
SendClientMessage(i, COLOR_WHITE, "Voce foi expulso(a).");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[i][pVIP] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+2; }//casaInfo[key][hLevel]
}
else
{
if(PlayerInfo[i][pVIP] > 0) { tmpintrate = 3; }
else { tmpintrate = 1; }
}
if(PlayerInfo[i][pPayDay] >= 5)
{
Tax += TaxValue;//Shorld work for every player online
PlayerInfo[i][pConta] -= TaxValue;
if(PlayerInfo[i][pVIP] == 3)
{
new bonus = PlayerInfo[i][pPayCheck] / 2;
PlayerInfo[i][pPayCheck] += bonus;
}
if(PlayerInfo[i][pVIP] == 4)
{
new bonus = PlayerInfo[i][pPayCheck] / 3;
PlayerInfo[i][pPayCheck] += bonus;
}
new checks = PlayerInfo[i][pPayCheck];
new ebill = (PlayerInfo[i][pConta]/10000)*(PlayerInfo[i][pLevel]);
ConsumingMoney[i] = 1;
GivePlayerMoneyEx(i, checks);
if(PlayerInfo[i][pConta] > 0)
{
PlayerInfo[i][pConta] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
interest = (PlayerInfo[i][pConta]/1000)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pConta] = Conta+interest;
SendClientMessage(i, COLOR_WHITE, "|___ Pagamento ___|");
format(string, sizeof(string), " Salario: R$%d Imposto: -R$%d", checks, TaxValue);
SendClientMessage(i, COLOR_GRAD1, string);
SendClientMessage(i, COLOR_GRAD1, " Medico: R$300");
if(PlayerInfo[i][pPHousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
format(string, sizeof(string), " Energia: -R$%d", ebill);
SendClientMessage(i, COLOR_GRAD1, string);
}
format(string, sizeof(string), " Banco: R$%d", Conta);
SendClientMessage(i, COLOR_GRAD1, string);
format(string, sizeof(string), " Juros: 0.%d por cento",tmpintrate);
SendClientMessage(i, COLOR_GRAD2, string);
format(string, sizeof(string), " Juros R$%d", interest);
SendClientMessage(i, COLOR_GRAD3, string);
SendClientMessage(i, COLOR_GRAD4, "|--------------------------------------|");
format(string, sizeof(string), " Novo extrato: R$%d", PlayerInfo[i][pConta]);
SendClientMessage(i, COLOR_GRAD5, string);
format(string, sizeof(string), " Aluguel: -R$%d", rent);
SendClientMessage(i, COLOR_GRAD5, string);
format(string, sizeof(string), "~r~-==- ~p~ Salario ~r~ -==-");
GameTextForPlayer(i, string, 5000, 1);
GivePlayerMoneyEx(i,- 300);
rent = 0;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
if(PlayerInfo[i][pVIP] == 3)
{
PlayerInfo[i][pPayDayHad] += 1;
if(PlayerInfo[i][pPayDayHad] >= 5)
{
PlayerInfo[i][pExp]++;
PlayerInfo[i][pPayDayHad] = 0;
}
}
if(PlayerInfo[i][pVIP] == 4)
{
PlayerInfo[i][pPayDayHad] += 2;
if(PlayerInfo[i][pPayDayHad] >= 6)
{
PlayerInfo[i][pExp]++;
PlayerInfo[i][pPayDayHad] = 0;
}
}
}
else
{
SendClientMessage(i, COLOR_LIGHTRED, "* Voce não jogou tempo suficiente para receber salário!.");
}
}
}
}
Checkprop();
format(string, sizeof(string), "Loteria: Ja comecou a loteria.");
OOCOff(COLOR_WHITE, string);
new rand = random(80);
if(rand < 77) { rand += 3; }
Lotto(rand);
return 1;
}
pq tipo mesmo o cara sendo lider ou nao recebe pouquissimo
eu qria q lider recebesse um valor q eu definisse e membro e civil outro valor
ate + =D

Rick_DR
09/06/2010, 01:28 PM
Estou a fazer um CMD e queria que só dentro destes veículos que desse para utilizar.
402||409||429||475||477||506||541||521||496
Só consigo meter um veiculo.

new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) != 402) return SendClientMessage(playerid, verde, "Tens de estar num veiculo para import");//402||409||429||475||477||506||541||521||496

russo666
09/06/2010, 03:10 PM
Estou a fazer um CMD e queria que só dentro destes veículos que desse para utilizar.
402||409||429||475||477||506||541||521||496
Só consigo meter um veiculo.

new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) != 402) return SendClientMessage(playerid, verde, "Tens de estar num veiculo para import");//402||409||429||475||477||506||541||521||496


stock IsPlayerInImportVehicles(playerid)
{
new ImportVehicles[] = { 402, 409, 429, 475, 477, 506, 541, 521, 496 };
for(new i = 0; i < sizeof(ImportVehicles); i++)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == ImportVehicles[i]) return 1;
}
return 0;
}

if(!IsPlayerInImportVehicles(playerid)) return SendClientMessage(playerid, Cor, "Mensagem"); // ! -> significa negar.

[NWD]Tweener_
09/06/2010, 05:52 PM
:D

Ae, alguem poderia me dizer o que eu tenho que fazer para acabar com esse bug?

Quando eu digito algum comando aparece a mensagem que ele não, lembrando: Substitui o return 0 por isso:

}
SendClientMessage(playerid, COLOR_RED,"[ERRO] Este comando não existe aqui!");
return 1;
}


=========================> @EDIT

Peguei aqui no forum, só não me lembro em qual tópico um monte de objetos, ai adicionaram nesse FS umas barreiras nas estradas, e eu não sei o ID das barreiras existentes, meu MTA ta com problema aqui, e não dá para eu baixar outro agora, se alguém souber o ID das barreiras que existem. Já olhei na Wiki só que não tem imagem ai não dá para min saber qual é.

Rick_DR
09/06/2010, 07:51 PM
No meu programa as barreiras são se nao me engano 973 .

[NWD]Tweener_
09/06/2010, 09:33 PM
Deve ser isso mesmo. Tinha alguns objetos com esse ID, ai tirei, depois vou testar. Obrigado ae.

frenetico157
09/06/2010, 09:37 PM
alguém saberia me dizer como posso fazer só para o skin 285 ver essa mensagem?

if (pickupid == Favela[43])
{
GameTextForPlayer(playerid,"~g~Policial:~n~~w~Nao mate os players ~b~Azuis! ~w~Mate somente os ~r~Vermelhos.",5000,3);//

}

Obrigado!

[NWD]Tweener_
09/06/2010, 09:44 PM
:D

Ae, alguem poderia me dizer o que eu tenho que fazer para acabar com esse bug?

Quando eu digito algum comando aparece a mensagem que ele não, lembrando: Substitui o return 0 por isso:

}
SendClientMessage(playerid, COLOR_RED,"[ERRO] Este comando não existe aqui!");
return 1;
}

SuB_ZeRo0_
09/06/2010, 10:07 PM
Black_Alien ]
:D

Ae, alguem poderia me dizer o que eu tenho que fazer para acabar com esse bug?

Quando eu digito algum comando aparece a mensagem que ele não, lembrando: Substitui o return 0 por isso:

}
SendClientMessage(playerid, COLOR_RED,"[ERRO] Este comando não existe aqui!");
return 1;
}







Não entendi..

[NWD]Tweener_
09/06/2010, 10:12 PM
Esqueci de colocar uma palavra :'(

É o seguinte:

Tem lá os comando do OnPlayerText, ai no final da public tem o return 0, como disseram, troquei para isso:

}
SendClientMessage(playerid, COLOR_RED,"[ERRO] Este comando não existe aqui!");
return 1;
}

Só que em quase 95% dos comandos que digito, diz que o comando não existe, mas os comandos funcionam. Queria saber como resolver isso, eu sei que já vi alguma coisa parecida aqui, mas não sei se foi aqui na board PT/BR ou em alguma outra.

Rick_DR
09/06/2010, 10:50 PM
#[NWD]Black_Alien
Mete isto debaixo do ultimo comando que tens no OnPlayerCommandText

return SendClientMessage(playerid,COLOR_RED ,"[ERRO] Este comando não existe aqui!.");
}


________________________

#Frenético

penso que assim da


if (pickupid == Favela[43])
{
new Skin = GetPlayerSkin(playerid);
if(Skin != 285) return SendClientMessage(playerid,COR_AQUI ,"Não estas autorizado a ver este pickup.");
GameTextForPlayer(playerid,"~g~Policial:~n~~w~Nao mate os players ~b~Azuis! ~w~Mate somente os ~r~Vermelhos.",5000,3);//

}

[NWD]Tweener_
09/06/2010, 10:59 PM
Um Good, vlw

=================> @EDIT

É o seguinte, o comando de /Procurar para todas as profissões que são ligadas a lei:


if (strcmp(cmd, "/procurar", true)==0){// Linha 4820
if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO || Profissao[playerid] == BOPE || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || Profissao[playerid] == JUIZ || Profissao[playerid] == IBAMA || Profissao[playerid] == POLICIA_FLORESTAL || Profissao[playerid] == GUARDA_DE_TRANSITO || Profissao[playerid] == DELEGADO || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == INTERPOL || IsPlayerAdmin(playerid)){//Linha 4821
new tmp[256];//Linha 422
new string[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_RED, "/procurar [id].");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid) && PLAYERLIST_authed[playerid] == 1){
Procurados[plid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "[INFO] Colocado na lista de procurados com sucesso.");
format(string, sizeof(string), "[INFO] Você está sendo perseguido pela policia, Você foi colocado na lista por: %s", PlayerName(playerid));
SendClientMessage(plid, COLOR_GREEN, string);
return 1;
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Jogador não conectado/logado.");
return 1;
}
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você não tem permissão.");//Linha 4844
return 1;
}
}

Maaas, quando eu vou Compilar dá esses erros:

D:\Arquivos\SA-MP\World Wicked RpG\gamemodes\NewWorldDisorder_Rpg.pwn(4820) : error 075: input line too long (after substitutions)

NewWorldDisorder_Rpg.pwn(4820) : error 075: input line too long (after substitutions)

NewWorldDisorder_Rpg.pwn(4821) : error 017: undefined symbol "NARCOTICO"

NewWorldDisorder_Rpg.pwn(4822) : error 017: undefined symbol "S"

NewWorldDisorder_Rpg.pwn(4822) : error 029: invalid expression, assumed zero

NewWorldDisorder_Rpg.pwn(4844) : warning 225: unreachable code

NewWorldDisorder_Rpg.pwn(4844) : error 029: invalid expression, assumed zero

Acredito que seja devido ao numero de profissões adicionadas, mas não tenho ideia de como fazer de um outro jeito. Se alguém poder ajudar :D

SuB_ZeRo0_
10/06/2010, 01:09 AM
Um dos erros..

A linha é muito grande.

frenetico157
10/06/2010, 03:37 AM
obrigado Rick_DR funciono aqui certinho

[NWD]Tweener_
10/06/2010, 04:49 PM
Um dos erros..

A linha é muito grande.


Sim ,ele que originou os outros. Se eu tiro algumas profissões, compila sem erro, acredito que o maximo em uma linha é até o NARCOTICOS por que ele mostra que a palavra está errada e depois mostra um erro no S, mas está tudo certo. Queria saber como faço para colocar as coisas em outra linha. Usaria um else if?

CyNiC
10/06/2010, 07:30 PM
Black_Alien ]

Um dos erros..

A linha é muito grande.


Sim ,ele que originou os outros. Se eu tiro algumas profissões, compila sem erro, acredito que o maximo em uma linha é até o NARCOTICOS por que ele mostra que a palavra está errada e depois mostra um erro no S, mas está tudo certo. Queria saber como faço para colocar as coisas em outra linha. Usaria um else if?

Não precisa fazer nada disso, basta dá ENTER:
Tente assim( só dá uma organizada porque aqui sai bagunçado):
if (strcmp(cmd, "/procurar", true)==0){// Linha 4820
if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO ||
Profissao[playerid] == BOPE || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || Profissao[playerid] == JUIZ ||
Profissao[playerid] == IBAMA || Profissao[playerid] == POLICIA_FLORESTAL || Profissao[playerid] == GUARDA_DE_TRANSITO ||
Profissao[playerid] == DELEGADO || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == INTERPOL || IsPlayerAdmin(playerid)){//Linha 4821
new tmp[256];//Linha 422
new string[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_RED, "/procurar [id].");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid) && PLAYERLIST_authed[playerid] == 1){
Procurados[plid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "[INFO] Colocado na lista de procurados com sucesso.");
format(string, sizeof(string), "[INFO] Você está sendo perseguido pela policia, Você foi colocado na lista por: %s", PlayerName(playerid));
SendClientMessage(plid, COLOR_GREEN, string);
return 1;
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Jogador não conectado/logado.");
return 1;
}
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você não tem permissão.");//Linha 4844
return 1;
}
}

[NWD]Tweener_
10/06/2010, 09:38 PM
Black_Alien ]

Um dos erros..

A linha é muito grande.


Sim ,ele que originou os outros. Se eu tiro algumas profissões, compila sem erro, acredito que o maximo em uma linha é até o NARCOTICOS por que ele mostra que a palavra está errada e depois mostra um erro no S, mas está tudo certo. Queria saber como faço para colocar as coisas em outra linha. Usaria um else if?

Não precisa fazer nada disso, basta dá ENTER:
Tente assim( só dá uma organizada porque aqui sai bagunçado):
if (strcmp(cmd, "/procurar", true)==0){// Linha 4820
if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO ||
Profissao[playerid] == BOPE || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || Profissao[playerid] == JUIZ ||
Profissao[playerid] == IBAMA || Profissao[playerid] == POLICIA_FLORESTAL || Profissao[playerid] == GUARDA_DE_TRANSITO ||
Profissao[playerid] == DELEGADO || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == INTERPOL || IsPlayerAdmin(playerid)){//Linha 4821
new tmp[256];//Linha 422
new string[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_RED, "/procurar [id].");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid) && PLAYERLIST_authed[playerid] == 1){
Procurados[plid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "[INFO] Colocado na lista de procurados com sucesso.");
format(string, sizeof(string), "[INFO] Você está sendo perseguido pela policia, Você foi colocado na lista por: %s", PlayerName(playerid));
SendClientMessage(plid, COLOR_GREEN, string);
return 1;
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Jogador não conectado/logado.");
return 1;
}
}
else{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você não tem permissão.");//Linha 4844
return 1;
}
}

Oh Fuck :)

Vlw ae

blackinhu214
11/06/2010, 03:03 AM
dae galera blz?
bom eu vim aki com uma duvida muitas vezes citadas aki =p
mais mesmo eu procurando muito nao tirei minha duvida pois fiz tudo "certo" e mesmo assim o erro persiste
eu coloquei no meu gm o sistema de virtualworlds mais quando tem casas com o msm interior eu entro em uma e saio na outra, ae eu tenho q mudar as coordenadas de saida para poder dar certo
mais eu qria q todas pudessem sair pela porta normal =p alguem pode me dar uma ajuda?

Rick_DR
11/06/2010, 11:28 AM
dae galera blz?
bom eu vim aki com uma duvida muitas vezes citadas aki =p
mais mesmo eu procurando muito nao tirei minha duvida pois fiz tudo "certo" e mesmo assim o erro persiste
eu coloquei no meu gm o sistema de virtualworlds mais quando tem casas com o msm interior eu entro em uma e saio na outra, ae eu tenho q mudar as coordenadas de saida para poder dar certo
mais eu qria q todas pudessem sair pela porta normal =p alguem pode me dar uma ajuda?


Eu estou na ideia que tens de mudar o Virtual World. Não sei como se faz porque nunca tentei. Vou pesquisar se encontrar eu digo-te algo

[NWD]Tweener_
11/06/2010, 05:58 PM
E ae :P

É o seguinte:

Fiz esse TextDraw e velocímetro, funciona perfeitamente, só que a textDraw eu usei de um bang que eu tinha aqui, e os nomes e tal fica com uma "sombra", ai eu acho que atrapalha um pouco na hora de olhar, e queria tirar isso, é possível?

public UpdateSpeed()
{
new Float:x,Float:y,Float:z;
new Float:distance,value,string[256];
new Float:health;
for(new i=0; i<SLOTS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
TextDrawDestroy(Speedo[i]);
}
}

for(new i=0; i<SLOTS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
GetPlayerPos(i, x, y, z);
GetVehicleHealth(GetPlayerVehicleID(i), health);
distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePla yerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
value = floatround(distance * 5000);
if(UpdateSeconds > 1)
{
value = floatround(value / UpdateSeconds);
}
format(string,sizeof(string),"~g~Velocidade: ~b~%d~w~ KM/H~n~~g~Combustivel:~b~ %i",floatround(value/1000),Petrol[i]);
Speedo[i] = TextDrawCreate(93.00, 309.00, string);
TextDrawSetOutline(Speedo[i], 0);
TextDrawFont(Speedo[i], 3);
TextDrawSetProportional(Speedo[i], 10);
TextDrawAlignment(Speedo[i], 2);
TextDrawShowForPlayer (i, Speedo[i]);
}
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
}
}

Code acima

blackinhu214
11/06/2010, 06:56 PM
dae galera
eu to qrendo fazer um porta-malas basico eu fiz assim:
if(strcmp(cmd,"/porta-mala",true) == 0)
{
if(armanamala[playerid] == 1)
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce ja tem uma arma guardada, Pegue-a!");
return 1;
}
armanamala[playerid] = 1;
return 1;
}
//--------------------------------[pegar mala]-----------------------------------------------------------
if(strcmp(cmd,"/pegar-mala",true) == 0)
{
if(armanamala[playerid] == 0)
{
SendClientMessage(playerid,COLOR_GREY,"Voce nao tem arma guardada!");
return 1;
}
GivePlayerWeapon(playerid, 29, 150);
armanamala[playerid] = 0;
return 1;
}
mais eu qria saber como eu faço para so poder usar o comando no veiculo vip
e c tem como ao usar o /porta-mala verificar se o player tem a mp5 e tirar dele, como se ele tivesse mesmo guardado xD
vlw galera

frenetico157
12/06/2010, 04:08 AM
eai pessoal

fiz um textdraw + ou - assim

new Text:afk;

public OnFilterScriptInit()
{
afk = TextDrawCreate(0, 0,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n ~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~ n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~ ~n~~n~~n~~n~~n~");
TextDrawUseBox(afk,1);
TextDrawBoxColor(afk,0x000000AA);
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/afk", cmdtext, true) == 0)
{
if(Informacion[playerid][AFK] == 0)
{
GetPlayerArmour(playerid,Chaleco[playerid]);
Bloqueio[playerid] = 1; //Isso define que ele n?o poder? usar comandos aqui, sem ser o /sair
GetPlayerHealth(playerid,VidaP[playerid]);
new string[256];
TextDrawShowForPlayer(playerid,afk);
return 1;
}

if (strcmp("/sairafk", cmdtext, true) == 0)
{
if(Informacion[playerid][AFK] == 1)
{
TextDrawDestroy(afk);
Bloqueio[playerid] = 0; //Define que ele pode usar os comandos
TogglePlayerControllable(playerid,1);
SetPlayerArmour(playerid,Chaleco[playerid]);
return 1;
}

ai ta assim na hora que eu digito /afk ele aparece o textdraw que é uma caixa toda preta, quando eu digito /sairafk ele destroy o textdraw até ai tudo bem.

mais quando eu digito /afk de novo ele não aparece mais o textdraw como posso resolver isso?

zSuYaNw
12/06/2010, 06:26 PM
Ivés de Destroy TextDraw, Você Bote TextDrawHideForPlayer(afk);



@edit, TextDrawHideForPlayer(playerid,afk);

frenetico157
12/06/2010, 06:55 PM
alguém sabe como colocar estrela no textdraw?

ja tentei assim mais não funcionou

brasilEstrelas = TextDrawCreate(490.0,390.0,"]");

[NWD]Tweener_
12/06/2010, 11:18 PM
É só colocar normal no codigo o "]" e a estrela já vai aparecer.

EX:

TextDrawCreate(0.000000,435.000000," Forum SA:MP ] Owna ");

[NoD]Gui
13/06/2010, 02:36 AM
Ae galera como aumento o tamanha do espaço do texto tipo no dialog de login.
Aquele espaço em que o player tem q digitar a senha. OBG

Luuks
13/06/2010, 03:03 AM
Estou com um problema na include dini,

fatal error 100: cannot read from file: "dini"

seria que eu nao tenho a include, aonde posso conseguila?

zSuYaNw
13/06/2010, 03:48 AM
Gui ]
Ae galera como aumento o tamanha do espaço do texto tipo no dialog de login.
Aquele espaço em que o player tem q digitar a senha. OBG


vai no tuto de dialogs

Estou com um problema na include dini,

fatal error 100: cannot read from file: "dini"

seria que eu nao tenho a include, aonde posso conseguila?


já foi resolvido,Porque Criou um tópico ?:

Luuks
13/06/2010, 04:06 AM
porque aqui ngm tinha respondido , ai resolvi cria um topico resolveram pelo topico

Outros erros ajudem plis //euenxoosaco

C:\DOCUME~1\LUCASA~1\MEUSDO~1\Pawn\GAMEMO~1\lvdm.p wn(163) : error 055: start of function body without function header
C:\DOCUME~1\LUCASA~1\MEUSDO~1\Pawn\GAMEMO~1\lvdm.p wn(167) : error 010: invalid function or declaration
C:\DOCUME~1\LUCASA~1\MEUSDO~1\Pawn\GAMEMO~1\lvdm.p wn(905) : error 055: start of function body without function header
C:\DOCUME~1\LUCASA~1\MEUSDO~1\Pawn\GAMEMO~1\lvdm.p wn(906) : error 010: invalid function or declaration

linhas:
163 a 167: {
SetTimerEx("Timer",1000,true,"i",playerid);
}
{
if(dini_Isset("levels.dkn",PlayerName(playerid)) Level[playerid] = (playerid,dini_Int("levels.dkn",PlayerName(palyerid)));

905 a 907: {
if(!fexist("levels.dkn")) dini_Create("levels.dkn");
}

zSuYaNw
14/06/2010, 09:49 PM
Isso é negócio do DraKoN Neh ??? PEDE NO TÒPICO DELE!

frenetico157
15/06/2010, 02:11 AM
alguém saberia me dizer algum link que tenha um tutorial de como criar um X1 de 2 pessoal ou até um GM que tenha

procurei no Search mais não achei


Obrigado

blackinhu214
16/06/2010, 04:04 AM
Dae galera blza
to com uma duvida aki...
como faço pra adicionar isso no meu gm?
public OnPlayerDisconnect(playerid, reason)
{
Object_OnPlayerDisconnect(playerid, reason);
new PlayerName[MAX_PLAYER_NAME];//linha do warning
new string[56];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));

switch(reason)
{
case 0: format(string, sizeof(string), "%s saiu do servidor. (Problema de conexão)", PlayerName);
case 1: format(string, sizeof(string), "%s saiu do servidor. (Conta própria)", PlayerName);
case 2: format(string, sizeof(string), "%s saiu do servidor. (Kickado/Banido)", PlayerName);
}
SendClientMessageToAll(COLOR_RED, string);
return 1;
}
quando eu boto da erro e eu vi em um topico o cara falando q tinha q tirar o onplayerdisconnect q eu ja tenhu, mais seria como? deletar a public com tudo o q tem e trocar por esta??
vlw galera

[NWD]Tweener_
16/06/2010, 04:00 PM
É assim que se faz:


// Na Public OnPlayerDisconnect, antes do return 1; coloque isso:

new string[64];//Coloquei 64, mas espera o russo para ele dizer quanto é ;)
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
switch(reason)
{
case 0: format(string, sizeof(string), ">> %s Deixou o servidor. (Perda de Conexão)", name);
case 1: format(string, sizeof(string), ">> %s Deixou o servidor. (Resolveu Sair)", name);
case 2: format(string, sizeof(string), ">> %s Deixou o servidor. (Kick/Ban)", name);
}
SendClientMessageToAll(0xC0C0C0AA, string);

//Pronto Veja se dá certo. se não der venha aqui e diga o erro ou o problema que deu.

russo666
16/06/2010, 04:44 PM
Black_Alien ]
É assim que se faz:


// Na Public OnPlayerDisconnect, antes do return 1; coloque isso:

new string[256];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
switch(reason)
{
case 0: format(string, sizeof(string), ">> %s Deixou o servidor. (Perda de Conexão)", name);
case 1: format(string, sizeof(string), ">> %s Deixou o servidor. (Resolveu Sair)", name);
case 2: format(string, sizeof(string), ">> %s Deixou o servidor. (Kick/Ban)", name);
}
SendClientMessageToAll(0xC0C0C0AA, string);

//Pronto Veja se dá certo. se não der venha aqui e diga o erro ou o problema que deu.




256 cells para quê?

[NWD]Tweener_
16/06/2010, 10:30 PM
EU nem vi quantas eram, apenas peguei de um desses GM's da net que eu tenho aqui e coloquei. Vou editar. 64 tá bom? (Ainda não entendi muito bem essa coisa de cells)

russo666
16/06/2010, 10:32 PM
Black_Alien ]
EU nem vi quantas eram, apenas peguei de um desses GM's da net que eu tenho aqui e coloquei. Vou editar. 64 tá bom? (Ainda não entendi muito bem essa coisa de cells)


Calma filho, eu não te estou a criticar, estou apenas a alertar.

http://forum.sa-mp.com/index.php?topic=145461.msg1046479#msg1046479

[NWD]Tweener_
16/06/2010, 10:38 PM
Black_Alien ]
EU nem vi quantas eram, apenas peguei de um desses GM's da net que eu tenho aqui e coloquei. Vou editar. 64 tá bom? (Ainda não entendi muito bem essa coisa de cells)


Calma filho, eu não te estou a criticar, estou apenas a alertar.

http://forum.sa-mp.com/index.php?topic=145461.msg1046479#msg1046479


LOL?

Nem disse que está a me criticar, é que eu não sei muito bem sobre isso mesmo. Por isso falei, meu RPG, eu ainda não coloquei isso, por isso que disse que peguei de qualquer GM que tinha aqui. Mais seria 64?

russo666
16/06/2010, 10:39 PM
Antes do edit parecia que estás nervoso lol, pode até ser só coisa da minha cabeça caga.

Conta, não tenho paxorra de contar. lol.

[NWD]Tweener_
16/06/2010, 10:42 PM
Antes do edit parecia que estás nervoso lol, pode até ser só coisa da minha cabeça caga.

Conta, não tenho paxorra de contar. lol.


Eu li lá, agora entendi.

Vlw :P

================================================== ====================> @EDIT

Alguém me ajuda com isso aqui:

if(strcmp(cmd, "/vheroina", true) == 0) {
if(Profissao[playerid] == TRAFICANTE || Profissao[playerid] == MEMBRO || Profissao[playerid] == DONO || IsPlayerAdmin(playerid)){
if(countspam[playerid]==1){
SendClientMessage(playerid,COLOR_RED, "Aguarde 30 Segundos para reutilizar esse comando.");
return 1;
}
if(countspam[playerid]==0)
{
new tmp[256];
new msg[256];
new plid, mili;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, COLOR_RED,"/vheroina [id] [quantidade]");
return 1;
}
plid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, COLOR_RED, "/vheroina [id] [quantidade]");
return 1;
}
mili = strval(tmp);
if(mili > 7){
SendClientMessage(playerid, COLOR_RED, "[ERRO] Você está louco? Quer matar o seu cliente? Doses de 1 a 7");
return 1;
}
else if(mili < 1){
SendClientMessage(playerid, COLOR_RED, "[ERRO] Te peguei, manolo! Querendo enganar o freguês, não? Doses de 1 à 7");
return 1;
}else{
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid,COLOR_RED, "[ERRO] O jogador que você indicou não está conectado.");
return 1;
}
else{
if(GetDistanceBetweenPlayers(playerid,plid) > 20){
SendClientMessage(playerid,COLOR_RED, "[ERRO] Chege mais perto para aplicar a injeção.");
return 1;
} else {
if(Heroina[plid] == 7){
SendClientMessage(playerid,COLOR_RED, "[ERRO] Você quer matar seu cliente!");
return 1;
} else {
Heroina[plid] = mili;
SendClientMessage(playerid,COLOR_GREEN, "Missão cumprida!");
format(msg,sizeof(msg),"Você está agora com %d doses de heroína no sangue",mili);
SendClientMessage(plid,COLOR_WHITE,msg);
countspam[playerid]=1;
SetTimerEx("countspam2",30000,false,"i",playerid);
}

return 1;
}
}
}
}
}
} else {
SendClientMessage(playerid,COLOR_RED,"[ERRO] Você não tem permissão para isso!");
return 1;
}


Bom, compila tudo certo, funciona certo também, mas estou com um problema:

O Tempo não está indo certo, eu contei no relógio e ao invés de ir 30 segundos, está indo mais de 1 minuto. Já diminui o tempo e está indo a o mesmo tempo.

blackinhu214
17/06/2010, 11:36 AM
dae alien tentei aki mais num deu certo =p, pra todo o caso ta ae o codigo:
http://pastebin.com/sZXhLUFK
e os erros
C:\Documents and Settings\philipaooo\Meus documentos\Meus arquivos recebidos\bmc\bmc backup\BMC.pwn(4945) : error 021: symbol already defined: "string"
C:\Documents and Settings\philipaooo\Meus documentos\Meus arquivos recebidos\bmc\bmc backup\BMC.pwn(4948) : error 017: undefined symbol "reason"
C:\Documents and Settings\philipaooo\Meus documentos\Meus arquivos recebidos\bmc\bmc backup\BMC.pwn(17385) : error 029: invalid expression, assumed zero
C:\Documents and Settings\philipaooo\Meus documentos\Meus arquivos recebidos\bmc\bmc backup\BMC.pwn(17385) : warning 215: expression has no effect
C:\Documents and Settings\philipaooo\Meus documentos\Meus arquivos recebidos\bmc\bmc backup\BMC.pwn(17385) : error 001: expected token: ";", but found "if"
C:\Documents and Settings\philipaooo\Meus documentos\Meus arquivos recebidos\bmc\bmc backup\BMC.pwn(17386) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
vlw pera ajuda =D

@Edit
como faço pra no Tab os player de org ter uma respectiva cor? e civil ter o nome branco?
pq tao todos brancos =p.
vlw =D