[Ajuda] Respawn -
addonloko - 01.10.2010
Olб gostaria de pedir ajuda com FS, uso ele para criar veiculos sу que estou com problema pois ele da respawn automaticamente, gostaria de retirar ou aumentar o tempo de respawn.
Codigo do FS
Код:
/*============================================================================//
\\ // ||===\
\\ // || ||
\\ // ||===/
\\// ||
Veiculo Player
Feito por Stakline
www.homehots.blogspot.com
Comando: /veiculoplayer playerid modeloid cor1 cor2 (Logado an RCON)
//============================================================================*/
#include <a_samp>
#define MAX_VEICULOS 2000
#define vermelho 0xD90000AA
#define verde 0x00C605AA
#define ARQUIVO_VEICULO "Veiculos.stakline"
enum vp{dono[20]} new VEICULO_DONO[MAX_VEICULOS][vp];
public OnGameModeInit()
{
new Argumento[8][100];
new str[256];
new modeloid,Float:x,Float:y,Float:z,Float:a,cor1,cor2,veiculoid;
new File: ArquivoVeiculo = fopen(ARQUIVO_VEICULO, io_read);
if (ArquivoVeiculo)
{
for(new id; id<MAX_VEICULOS; id++)
{
fread(ArquivoVeiculo, str);
split(str, Argumento, ',');
modeloid = strval (Argumento[0]);
x = floatstr (Argumento[1]);
y = floatstr (Argumento[2]);
z = floatstr (Argumento[3]);
a = floatstr (Argumento[4]);
cor1 = strval (Argumento[5]);
cor2 = strval (Argumento[6]);
veiculoid = AddStaticVehicle(modeloid,x,y,z,a,cor1,cor2);
format(VEICULO_DONO[veiculoid][dono],20,Argumento[7]);
}
fclose(ArquivoVeiculo);
}
return 1;
}
//============================================================================//
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[256],tmp[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/veiculoplayer", true) == 0) {
if(!IsPlayerAdmin(playerid)){return 0;}
new plid, modeloid,cor1,cor2;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, vermelho, "[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
}
plid = strval(tmp);
//======================================================================
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, vermelho, "[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
}
modeloid = strval(tmp);
//======================================================================
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, vermelho, "[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
}
cor1 = strval(tmp);
//======================================================================
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, vermelho, "[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
}
cor2 = strval(tmp);
//======================================================================
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, vermelho, "[VP]: Jogador nгo estб conectado!");
return 1;
}
if(modeloid >= 400 && modeloid <= 611){
if(CriarVeiculoPlayer(playerid,plid,modeloid,cor1,cor2)){
SendClientMessage(playerid, verde, "[VP]: Veiculo Criado e Salvo com sucesso!");
new msg[256];
format(msg,256,"[VP]: %s criou um veiculo exclusivo para vocк!",PlayerNome(playerid));
SendClientMessage(plid, verde, msg);
}else{
SendClientMessage(playerid, verde, "[VP]: Erro ao criar o veiculo!");
}
return 1;
}else{
SendClientMessage(playerid, vermelho, "[VP]: Modelo ID Incorreto! (400-611)");
return 1;
}
}
return 0;
}
//============================================================================//
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!ispassenger){
if(VeiculoDono(playerid, vehicleid) == -1){return 1;}
if(VeiculoDono(playerid, vehicleid)){
SendClientMessage(playerid, verde, "[VP]: Bem Vindo ao Seu Veiculo.");
}else{
RemovePlayerFromVehicle(playerid);
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x,y,z+0.5);
new msg[256];
format(msg,256,"[VP]: Este veiculo й exclusivo de %s!",VEICULO_DONO[vehicleid][dono]);
SendClientMessage(playerid, vermelho, msg);
}
}
return 1;
}
//============================================================================//
stock strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
//============================================================================//
stock PlayerNome(id){
new Nome[MAX_PLAYER_NAME];
GetPlayerName(id, Nome, MAX_PLAYER_NAME);
return Nome;
}
//============================================================================//
stock CompararStrings(String1[],String2[]){
if(strlen(String1) == 0 || strlen(String2) == 0){
return false;
}
if(strcmp(String1 ,String2, true ) == 0 ){
//printf("'%s' й igual б '%s'!",String1,String2);
return true;
}else{
//printf("'%s' й diferente de '%s'!",String1,String2);
return false;
}
}
//============================================================================//
stock CriarVeiculoPlayer(playerid,plid,modeloid,cor1,cor2){
new Float:x, Float:y, Float:z, Float:a, string[256], File:temp, veiculoid;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid,a);
format(string, sizeof(string), "%d,%f,%f,%f,%f,%d,%d,%s,\r\n", modeloid,x,y,z,a,cor1,cor2,PlayerNome(plid));
temp = fopen(ARQUIVO_VEICULO, io_append);
fwrite(temp, string);
fclose(temp);
veiculoid = AddStaticVehicle(modeloid,x,y,z,a,cor1,cor2);
format(VEICULO_DONO[veiculoid][dono],20,PlayerNome(plid));
return 1;
}
//============================================================================//
stock VeiculoDono(playerid, veiculoid){
if(strlen(VEICULO_DONO[veiculoid][dono]) == 0){
return -1;
}
if(!CompararStrings(VEICULO_DONO[veiculoid][dono],PlayerNome(playerid))){
return 0;
}
return 1;
}
//============================================================================//
forward split(const strsrc[], strdest[][], delimiter);
public split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc)){
if(strsrc[i]==delimiter || i==strlen(strsrc)){
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
//============================================================================//
Agradeзo desde jб.
Re: [Ajuda] Respawn -
KevinsL - 01.10.2010
pawn Код:
/*============================================================================//
\\ // ||===\
\\ // || ||
\\ // ||===/
\\// ||
Veiculo Player
Feito por Stakline
http://www.homehots.blogspot.com
Comando: /veiculoplayer playerid modeloid cor1 cor2 (Logado an RCON)
//============================================================================*/#include <a_samp>#define MAX_VEICULOS 2000#define vermelho 0xD90000AA#define verde 0x00C605AA#define ARQUIVO_VEICULO "Veiculos.stakline"enum vp
{dono
[20]} new VEICULO_DONO
[MAX_VEICULOS
][vp
];
public OnGameModeInit
(){ new Argumento
[8][100];
new str
[256];
new modeloid,
Float:x,
Float:y,
Float:z,
Float:a,cor1,cor2,veiculoid;
new File: ArquivoVeiculo
= fopen(ARQUIVO_VEICULO, io_read
);
if (ArquivoVeiculo
) { for(new id; id
<MAX_VEICULOS; id
++) { fread(ArquivoVeiculo, str
);
split
(str, Argumento,
',');
modeloid
= strval (Argumento
[0]);
x
= floatstr (Argumento
[1]);
y
= floatstr (Argumento
[2]);
z
= floatstr (Argumento
[3]);
a
= floatstr (Argumento
[4]);
cor1
= strval (Argumento
[5]);
cor2
= strval (Argumento
[6]);
veiculoid
= AddStaticVehicle
(modeloid,x,y,z,a,cor1,cor2
);
format(VEICULO_DONO
[veiculoid
][dono
],
20,Argumento
[7]);
} fclose(ArquivoVeiculo
);
} return 1;
}//============================================================================//public OnPlayerCommandText
(playerid, cmdtext
[]){ new idx;
new cmd
[256],tmp
[256];
cmd
= strtok
(cmdtext, idx
);
if(strcmp(cmd,
"/veiculoplayer", true
) == 0) { if(!IsPlayerAdmin
(playerid
)){return 0;
} new plid, modeloid,cor1,cor2;
tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)){ SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} plid
= strval(tmp
);
//====================================================================== tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)) { SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} modeloid
= strval(tmp
);
//====================================================================== tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)) { SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} cor1
= strval(tmp
);
//====================================================================== tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)) { SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} cor2
= strval(tmp
);
//====================================================================== if(!IsPlayerConnected
(plid
)){ SendClientMessage
(playerid, vermelho,
"[VP]: Jogador nгo estб conectado!");
return 1;
} if(modeloid
>= 400 && modeloid
<= 611){ if(CriarVeiculoPlayer
(playerid,plid,modeloid,cor1,cor2
)){ SendClientMessage
(playerid, verde,
"[VP]: Veiculo Criado e Salvo com sucesso!");
new msg
[256];
format(msg,
256,
"[VP]: %s criou um veiculo exclusivo para vocк!",PlayerNome
(playerid
));
SendClientMessage
(plid, verde, msg
);
}else{ SendClientMessage
(playerid, verde,
"[VP]: Erro ao criar o veiculo!");
} return 1;
}else{ SendClientMessage
(playerid, vermelho,
"[VP]: Modelo ID Incorreto! (400-611)");
return 1;
} } return 0;
}//============================================================================//public OnPlayerEnterVehicle
(playerid, vehicleid, ispassenger
){ if(!ispassenger
){ if(VeiculoDono
(playerid, vehicleid
) == -1){return 1;
} if(VeiculoDono
(playerid, vehicleid
)){ SendClientMessage
(playerid, verde,
"[VP]: Bem Vindo ao Seu Veiculo.");
}else{ RemovePlayerFromVehicle
(playerid
);
new Float:x,
Float:y,
Float:z;
GetPlayerPos
(playerid,x,y,z
);
SetPlayerPos
(playerid,x,y,z
+0.5);
new msg
[256];
format(msg,
256,
"[VP]: Este veiculo й exclusivo de %s!",VEICULO_DONO
[vehicleid
][dono
]);
SendClientMessage
(playerid, vermelho, msg
);
} } return 1;
}//============================================================================//stock strtok
(const string
[],
&index
){ new length
= strlen(string
);
while ((index
< length
) && (string
[index
] <= ' ')) { index
++;
} new offset
= index;
new result
[20];
while ((index
< length
) && (string
[index
] > ' ') && ((index
- offset
) < (sizeof(result
) - 1))) { result
[index
- offset
] = string
[index
];
index
++;
} result
[index
- offset
] = EOS;
return result;
}//============================================================================//stock PlayerNome
(id
){ new Nome
[MAX_PLAYER_NAME
];
GetPlayerName
(id, Nome, MAX_PLAYER_NAME
);
return Nome;
}//============================================================================//stock CompararStrings
(String1
[],String2
[]){ if(strlen(String1
) == 0 ||
strlen(String2
) == 0){ return false;
} if(strcmp(String1 ,String2, true
) == 0 ){ //printf("'%s' й igual б '%s'!",String1,String2); return true;
}else{ //printf("'%s' й diferente de '%s'!",String1,String2); return false;
}}//============================================================================//stock CriarVeiculoPlayer
(playerid,plid,modeloid,cor1,cor2
){ new Float:x,
Float:y,
Float:z,
Float:a, string
[256],
File:temp, veiculoid;
GetPlayerPos
(playerid, x, y, z
);
GetPlayerFacingAngle
(playerid,a
);
format(string,
sizeof(string
),
"%d,%f,%f,%f,%f,%d,%d,%s,\r\n", modeloid,x,y,z,a,cor1,cor2,PlayerNome
(plid
));
temp
= fopen(ARQUIVO_VEICULO, io_append
);
fwrite(temp, string
);
fclose(temp
);
veiculoid
= AddStaticVehicleEx
(modeloid,x,y,z,a,cor1,cor2,
250000);
format(VEICULO_DONO
[veiculoid
][dono
],
20,PlayerNome
(plid
));
return 1;
}//============================================================================//stock VeiculoDono
(playerid, veiculoid
){ if(strlen(VEICULO_DONO
[veiculoid
][dono
]) == 0){ return -1;
} if(!CompararStrings
(VEICULO_DONO
[veiculoid
][dono
],PlayerNome
(playerid
))){ return 0;
} return 1;
}//============================================================================//forward split
(const strsrc
[], strdest
[][], delimiter
);
public split
(const strsrc
[], strdest
[][], delimiter
){ new i, li;
new aNum;
new len;
while(i
<= strlen(strsrc
)){ if(strsrc
[i
]==delimiter || i
==strlen(strsrc
)){ len
= strmid(strdest
[aNum
], strsrc, li, i,
128);
strdest
[aNum
][len
] = 0;
li
= i
+1;
aNum
++;
} i
++;
} return 1;
}//============================================================================//
Re: [Ajuda] Respawn -
addonloko - 02.10.2010
Continua dando respawn sozinho =c teria como deixar sem dar respawn soznho mesmo que o serve caia ou seja reiniciado, por exemplo eu deixo o carro na avenida mesmo que o serve caia ele fica onde eu deixei, agradeзo.
Re: [Ajuda] Respawn -
KevinsL - 02.10.2010
tenta agora
pawn Код:
/*============================================================================//
\\ // ||===\
\\ // || ||
\\ // ||===/
\\// ||
Veiculo Player
Feito por Stakline
http://www.homehots.blogspot.com
Comando: /veiculoplayer playerid modeloid cor1 cor2 (Logado an RCON)
//============================================================================*/#include <a_samp>#define MAX_VEICULOS 2000#define vermelho 0xD90000AA#define verde 0x00C605AA#define ARQUIVO_VEICULO "Veiculos.stakline"enum vp
{dono
[20]} new VEICULO_DONO
[MAX_VEICULOS
][vp
];
public OnGameModeInit
(){ new Argumento
[8][100];
new str
[256];
new modeloid,
Float:x,
Float:y,
Float:z,
Float:a,cor1,cor2,veiculoid;
new File: ArquivoVeiculo
= fopen(ARQUIVO_VEICULO, io_read
);
if (ArquivoVeiculo
) { for(new id; id
<MAX_VEICULOS; id
++) { fread(ArquivoVeiculo, str
);
split
(str, Argumento,
',');
modeloid
= strval (Argumento
[0]);
x
= floatstr (Argumento
[1]);
y
= floatstr (Argumento
[2]);
z
= floatstr (Argumento
[3]);
a
= floatstr (Argumento
[4]);
cor1
= strval (Argumento
[5]);
cor2
= strval (Argumento
[6]);
veiculoid
= AddStaticVehicleEx
(modeloid,x,y,z,a,cor1,cor2,
250000);
format(VEICULO_DONO
[veiculoid
][dono
],
20,Argumento
[7]);
} fclose(ArquivoVeiculo
);
} return 1;
}//============================================================================//public OnPlayerCommandText
(playerid, cmdtext
[]){ new idx;
new cmd
[256],tmp
[256];
cmd
= strtok
(cmdtext, idx
);
if(strcmp(cmd,
"/veiculoplayer", true
) == 0) { if(!IsPlayerAdmin
(playerid
)){return 0;
} new plid, modeloid,cor1,cor2;
tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)){ SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} plid
= strval(tmp
);
//====================================================================== tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)) { SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} modeloid
= strval(tmp
);
//====================================================================== tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)) { SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} cor1
= strval(tmp
);
//====================================================================== tmp
= strtok
(cmdtext, idx
);
if(!strlen(tmp
)) { SendClientMessage
(playerid, vermelho,
"[VP]: /veiculoplayer [PlayerID] [ModeloID] [Cor1] [Cor2]");
return 1;
} cor2
= strval(tmp
);
//====================================================================== if(!IsPlayerConnected
(plid
)){ SendClientMessage
(playerid, vermelho,
"[VP]: Jogador nгo estб conectado!");
return 1;
} if(modeloid
>= 400 && modeloid
<= 611){ if(CriarVeiculoPlayer
(playerid,plid,modeloid,cor1,cor2
)){ SendClientMessage
(playerid, verde,
"[VP]: Veiculo Criado e Salvo com sucesso!");
new msg
[256];
format(msg,
256,
"[VP]: %s criou um veiculo exclusivo para vocк!",PlayerNome
(playerid
));
SendClientMessage
(plid, verde, msg
);
}else{ SendClientMessage
(playerid, verde,
"[VP]: Erro ao criar o veiculo!");
} return 1;
}else{ SendClientMessage
(playerid, vermelho,
"[VP]: Modelo ID Incorreto! (400-611)");
return 1;
} } return 0;
}//============================================================================//public OnPlayerEnterVehicle
(playerid, vehicleid, ispassenger
){ if(!ispassenger
){ if(VeiculoDono
(playerid, vehicleid
) == -1){return 1;
} if(VeiculoDono
(playerid, vehicleid
)){ SendClientMessage
(playerid, verde,
"[VP]: Bem Vindo ao Seu Veiculo.");
}else{ RemovePlayerFromVehicle
(playerid
);
new Float:x,
Float:y,
Float:z;
GetPlayerPos
(playerid,x,y,z
);
SetPlayerPos
(playerid,x,y,z
+0.5);
new msg
[256];
format(msg,
256,
"[VP]: Este veiculo й exclusivo de %s!",VEICULO_DONO
[vehicleid
][dono
]);
SendClientMessage
(playerid, vermelho, msg
);
} } return 1;
}//============================================================================//stock strtok
(const string
[],
&index
){ new length
= strlen(string
);
while ((index
< length
) && (string
[index
] <= ' ')) { index
++;
} new offset
= index;
new result
[20];
while ((index
< length
) && (string
[index
] > ' ') && ((index
- offset
) < (sizeof(result
) - 1))) { result
[index
- offset
] = string
[index
];
index
++;
} result
[index
- offset
] = EOS;
return result;
}//============================================================================//stock PlayerNome
(id
){ new Nome
[MAX_PLAYER_NAME
];
GetPlayerName
(id, Nome, MAX_PLAYER_NAME
);
return Nome;
}//============================================================================//stock CompararStrings
(String1
[],String2
[]){ if(strlen(String1
) == 0 ||
strlen(String2
) == 0){ return false;
} if(strcmp(String1 ,String2, true
) == 0 ){ //printf("'%s' й igual б '%s'!",String1,String2); return true;
}else{ //printf("'%s' й diferente de '%s'!",String1,String2); return false;
}}//============================================================================//stock CriarVeiculoPlayer
(playerid,plid,modeloid,cor1,cor2
){ new Float:x,
Float:y,
Float:z,
Float:a, string
[256],
File:temp, veiculoid;
GetPlayerPos
(playerid, x, y, z
);
GetPlayerFacingAngle
(playerid,a
);
format(string,
sizeof(string
),
"%d,%f,%f,%f,%f,%d,%d,%s,\r\n", modeloid,x,y,z,a,cor1,cor2,PlayerNome
(plid
));
temp
= fopen(ARQUIVO_VEICULO, io_append
);
fwrite(temp, string
);
fclose(temp
);
veiculoid
= AddStaticVehicleEx
(modeloid,x,y,z,a,cor1,cor2,
250000);
format(VEICULO_DONO
[veiculoid
][dono
],
20,PlayerNome
(plid
));
return 1;
}//============================================================================//stock VeiculoDono
(playerid, veiculoid
){ if(strlen(VEICULO_DONO
[veiculoid
][dono
]) == 0){ return -1;
} if(!CompararStrings
(VEICULO_DONO
[veiculoid
][dono
],PlayerNome
(playerid
))){ return 0;
} return 1;
}//============================================================================//forward split
(const strsrc
[], strdest
[][], delimiter
);
public split
(const strsrc
[], strdest
[][], delimiter
){ new i, li;
new aNum;
new len;
while(i
<= strlen(strsrc
)){ if(strsrc
[i
]==delimiter || i
==strlen(strsrc
)){ len
= strmid(strdest
[aNum
], strsrc, li, i,
128);
strdest
[aNum
][len
] = 0;
li
= i
+1;
aNum
++;
} i
++;
} return 1;
}//============================================================================//
Re: [Ajuda] Respawn -
addonloko - 02.10.2010
Agora quando do /gmx os carros somem =C.
Re: [Ajuda] Respawn -
KevinsL - 02.10.2010
lol tragico
Re: [Ajuda] Respawn -
addonloko - 02.10.2010
Vocк poderia me indicar um Gm que funcione com o sistema de concessionaria do LeLeTe?
ou com esse porque oque eu quero fazer mesmo й um serve que tenha concessionaria :C.
Re: [Ajuda] Respawn -
KevinsL - 02.10.2010
o fs dele ta bugado
Re: [Ajuda] Respawn -
Pedro_Drin - 02.10.2010
Da uma estudada nesse GM.
http://forum.sa-mp.com/showthread.ph...highlight=LSRP
Re: [Ajuda] Respawn -
addonloko - 02.10.2010
Vo da uma olhada nesse Gm, e obrigado ai! C: