01.07.2012, 22:15
Iaw Galera bem eu ja quebrei a cuca tentando resolver isso mais nгo conseguir e resolvi pedir ajuda a vocкs eu acho que e simples e porque eu digito /ccar e o samp.server fecha enfim galera me ajudem por favor!
Se tiver a ver com a strtok ta aqui
Comando /ccar:
/comprarcarro:
/meucarro
Segundo Code do /meucarro
/meuscarros
/modelocarro:
E isso galera Todo meu sistema de carros ou e o pelomenos oque eu acho ^^
se estiver faltando alguma coisa me digan!
Se tiver a ver com a strtok ta aqui
Код:
new File:temp;
new index = 0;
new tmp[256];
new modelid, Float:X, Float:Y, Float:Z, Float:ang, Cor1, Cor2;
temp = fopen("carros.txt", io_readwrite);
while(fread(temp, tmp, sizeof(tmp), false)) {
index = 0;
modelid = strval(strtok(tmp, index));
X = Float:floatstr(strtok(tmp, index));
Y = Float:floatstr(strtok(tmp, index));
Z = Float:floatstr(strtok(tmp, index));
ang = Float:floatstr(strtok(tmp, index));
Cor1 = strval(strtok(tmp, index));
Cor2 = strval(strtok(tmp, index));
cAddStaticVehicleEx(modelid, X, Y, Z, ang, Cor1, Cor2, 9999999999);
Код:
if(strcmp(cmd, "/ccar", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
if(IsPlayerAdmin(playerid)|| pAdmin[playerid] >= 5 || strcmp(pname, "", true) == 0 || strcmp(pname, "", true) == 0){
new tmp[256];
new carid, Float:ang, preco, cor1, cor2;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Cinza, "** Veнculo invбlido.");
return 1;
}
carid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Cinza, "** Use: /ccar [id] [preзo] [cor1] [cor2]");
return 1;
}
preco = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Cinza, "** Use: /ccar [id] [preзo] [cor1] [cor2]");
return 1;
}
cor1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Cinza, "** Use: /ccar [id] [preзo] [cor1] [cor2]");
return 1;
}
cor2 = strval(tmp);
if(carid >= 400 && carid <= 611){
if(IsPlayerInAnyVehicle(playerid)){
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
format(string, sizeof(string), "/Carros/carro%d.ini", proximocarro);
if(!dini_Exists(string)){
dini_Create(string);
dini_IntSet(string,"Modelo", carid);
dini_FloatSet(string,"CordX", Float:X);
dini_FloatSet(string,"CordY", Float:Y);
dini_FloatSet(string,"CordZ", Float:Z);
dini_FloatSet(string,"Angulo", Float:ang);
dini_IntSet(string,"Cor1", cor1);
dini_IntSet(string,"Cor2", cor2);
dini_IntSet(string,"TDono", 0);
dini_Set(string,"Dono","Ninguem");
dini_IntSet(string,"TDono2", 0);
dini_Set(string,"Dono2","Ninguem");
dini_IntSet(string,"Preco", preco);
dini_IntSet(string,"Destrancado", 0);
dini_IntSet(string,"Farol", 1);
dini_IntSet(string,"Capo", 0);
dini_IntSet(string,"Alarme", 0);
dini_IntSet(string,"Portas", 0);
dini_IntSet(string,"PMalas", 0);
dini_IntSet(string,"Litros", 0);
dini_IntSet(string,"Problema", 0);
dini_Set(string,"Nome","Sem Nome");
dini_Set(string,"Placa","MeuCarro");
dini_Set(string,"TAutoreparar","0");
}
SetTimerEx("CriarVeiculo2",5000,false,"dffffdd",carid,X,Y,Z,ang,cor1,cor2);
format(string, sizeof(string), "* Vocк colocou um veнculo a venda.");
SendClientMessage(playerid, Azul, string);
return 1;
} else {
SendClientMessage(playerid, Vermelho, "** Vocк nгo estб em um veнculo.");
}
}
else{
SendClientMessage(playerid, Cinza, "** Veiculo invбlido.");
return 1;
}
} else {
SendClientMessage(playerid, Cinza, "** Vocк nгo й um admin level 5.");
return 1;
}
}
Код:
if(strcmp(cmdtext,"/comprarcarro", true) == 0) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
if(dini_Int(filena(playerid),"TCarro1") == 1 && dini_Int(filena(playerid),"TCarro2") == 1 && dini_Int(filena(playerid),"TCarro3") == 1){
SendClientMessage(playerid, Vermelho,"Vocк jб tem 3 carros");
return 1;
}
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string),"/Carros/carro%d.ini", carro);
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string,"Id")){
if(dini_Int(string,"TDono") == 1) return SendClientMessage(playerid, Vermelho,"Carro jб tem dono!");
if(GetPlayerGrana(playerid) >= dini_Int(string,"Preco")){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(filene(pname),"TCarro1") == 0){
dini_IntSet(filene(pname),"TCarro1",1);
dini_IntSet(filene(pname),"CarroID1",carro);
} else if(dini_Int(filene(pname),"TCarro2") == 0){
dini_IntSet(filene(pname),"TCarro2",1);
dini_IntSet(filene(pname),"CarroID2",carro);
} else if(dini_Int(filene(pname),"TCarro3") == 0){
dini_IntSet(filene(pname),"TCarro3",1);
dini_IntSet(filene(pname),"CarroID3",carro);
}
//format(string2,sizeof(string2),"CarroID%d",dini_Int(filene(pname),"TCarro"));
//dini_IntSet(filene(pname),string2, carro);
dini_IntSet(string,"TDono", 1);
dini_Set(string,"Dono", aname);
SendClientMessage(playerid, Azul,"Parabйns Vocк comprou um carro");
SendClientMessage(playerid, Azul,"Para edita-lo use /meucarro");
GivePlayerGrana(playerid, -dini_Int(string,"Preco"));
new vid;
vid = GetPlayerVehicleID(playerid);
new mot,lu,alar,por,cap,porma,ob;
GetVehicleParamsEx(vid, mot, lu, alar, por, cap, porma, ob);
SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, lu, alar, por, cap, porma, ob);
//TogglePlayerControllable(playerid, 1);
//incar[playerid] = 0;
pmodelid[playerid] = dini_Int(string, "Modelo");
return 1;
} else {
SendClientMessage(playerid, Vermelho,"Vocк nгo tem dinheiro");
return 1;
}
}
}
}
Код:
if(strcmp(cmd, "/meucarro", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, pname);
new string2[256], string3[256];
new preco;
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "/meucarro [1~3] (/meuscarros para ver)");
return 1;
}
preco = strval(tmp);
format(string2,sizeof(string2),"TCarro%d",preco);
if(preco > 3 || preco < 1) return SendClientMessage(playerid, Vermelho, "Slot invбlido!");
if(dini_Int(file,string2) == 0) return SendClientMessage(playerid, Vermelho, "Este slot de carro nгo estб em uso!");
format(string3,sizeof(string3),"CarroID%d",preco);
format(string, sizeof(string),"/Carros/carro%d.ini", dini_Int(file,string3));
if(!dini_Exists(string)) return SendClientMessage(playerid, Vermelho, "Seu carro nгo existe mais, entre em contato com a administraзгo!");
if(strcmp(dini_Get(string,"Dono"),pname,false) == 0) {} else return SendClientMessage(playerid, Vermelho, "O carro agora estб em nome de outra pessoa, entre com contato com a administraзгo!");
scar[playerid] = preco;
new strx[300];
new dtr[11];
new frl[11];
new cap[11];
new por[11];
new pma[11];
new ala[11];
new sdo[11];
if(dini_Int(string,"Destrancado")==0) format(dtr, sizeof(dtr),"Deixar");
if(dini_Int(string,"Destrancado")==1) format(dtr, sizeof(dtr),"Pegar");
if(dini_Int(string,"Farol")==1) format(frl, sizeof(frl),"Desligar");
if(dini_Int(string,"Farol")==0) format(frl, sizeof(frl),"Ligar");
if(dini_Int(string,"Capo")==1) format(cap, sizeof(cap),"Fechar");
if(dini_Int(string,"Capo")==0) format(cap, sizeof(cap),"Abrir");
if(dini_Int(string,"Alarme")==1) format(ala, sizeof(ala),"Desativar");
if(dini_Int(string,"Alarme")==0) format(ala, sizeof(ala),"Ativar");
if(dini_Int(string,"TDono2")==1) format(sdo, sizeof(ala),"Desativar");
if(dini_Int(string,"TDono2")==0) format(sdo, sizeof(ala),"Ativar");
if(dini_Int(string,"Portas")==1) format(por, sizeof(por),"Destrancar");
if(dini_Int(string,"Portas")==0) format(por, sizeof(por),"Trancar");
if(dini_Int(string,"PMalas")==1) format(pma, sizeof(pma),"Fechar");
if(dini_Int(string,"PMalas")==0) format(pma, sizeof(pma),"Abrir");
format(strx,sizeof(strx), "Salvar Posiзгo \nAlterar cor 1 \nAlterar cor 2 \nRespawnar Carro \nAlterar Nome \nVender Carro \nTunar Carro \nAlterar Placa \n%s Copia da chave \n%s Farol \n%s Capo \n%s Portas \n%s Porta Malas \n%s Alarme \n%s Segundo dono \nDefinir segundo dono",dtr,frl,cap,por,pma,ala,sdo);
ShowPlayerDialog(playerid, 4501, DIALOG_STYLE_LIST,"Meu Carro",strx,"OK","Cancelar");
return 1;
}
Код:
/*if(strcmp(cmdtext,"/meucarro", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, pname);
new strx[270];
new dtr[11];
new frl[11];
new cap[11];
new por[11];
new pma[11];
new ala[11];
new sdo[11];
new resultados;
//for(new carro = 0; carro < MAX_CARROS; carro++)
//{
format(string, sizeof(string),"/Carros/carro%d.ini", dini_Int(file, "CarroID"));
if(dini_Exists(string)){
if(strcmp(dini_Get(string,"Dono"), pname, false) == 0 && dini_Int(file,"TCarro") == 1){
//new mot, lu, alar, por, cap, porma, ob;
//GetVehicleParamsEx(dini_Int(string,"Id"), mot, lu, alar, por, cap, porma, ob);
if(dini_Int(string,"Destrancado")==0) format(dtr, sizeof(dtr),"Deixar");
if(dini_Int(string,"Destrancado")==1) format(dtr, sizeof(dtr),"Pegar");
if(dini_Int(string,"Farol")==1) format(frl, sizeof(frl),"Desligar");
if(dini_Int(string,"Farol")==0) format(frl, sizeof(frl),"Ligar");
if(dini_Int(string,"Capo")==1) format(cap, sizeof(cap),"Fechar");
if(dini_Int(string,"Capo")==0) format(cap, sizeof(cap),"Abrir");
if(dini_Int(string,"Alarme")==1) format(ala, sizeof(ala),"Desativar");
if(dini_Int(string,"Alarme")==0) format(ala, sizeof(ala),"Ativar");
if(dini_Int(string,"TDono2")==1) format(sdo, sizeof(ala),"Desativar");
if(dini_Int(string,"TDono2")==0) format(sdo, sizeof(ala),"Ativar");
if(dini_Int(string,"Portas")==1) format(por, sizeof(por),"Destrancar");
if(dini_Int(string,"Portas")==0) format(por, sizeof(por),"Trancar");
if(dini_Int(string,"PMalas")==1) format(pma, sizeof(pma),"Fechar");
if(dini_Int(string,"PMalas")==0) format(pma, sizeof(pma),"Abrir");
format(strx,sizeof(strx), "Salvar Posiзгo \nAlterar cor 1 \nAlterar cor 2 \nRespawnar Carro \nAlterar Nome \nVender Carro \nTunar Carro \nAlterar Placa \n%s Copia da chave \n%s Farol \n%s Capo \n%s Portas \n%s Porta Malas \n%s Alarme \n%s Segundo dono \nDefinir segundo dono",dtr,frl,cap,por,pma,ala,sdo);
ShowPlayerDialog(playerid, 4501, DIALOG_STYLE_LIST,"Meu Carro",strx,"OK","Cancelar");
//ShowPlayerDialog(playerid, 4501, DIALOG_STYLE_LIST,"Meu Carro","Salvar Posiзгo \nAlterar cor 1 \nAlterar cor 2 \nRespawnar Carro \nAlterar Nome \nVender Carro \nTunar Carro \nAlterar Placa \nDestrancar Carro","OK","Cancelar");
resultados = 0;
pmodelid[playerid] = dini_Int(string, "Modelo");
} else {
resultados = 1;
//}
}
}
if(resultados == 1){
SendClientMessage(playerid, Vermelho,"Vocк nгo tem carro");
return 1;
}
return 1;
} */
Код:
if(strcmp(cmdtext, "/meuscarros", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, pname);
new string2[256],string3[256],string4[256],strx[256];
if(dini_Int(file,"TCarro1") == 1){
format(string4,sizeof(string4),"/Carros/carro%d.ini",dini_Int(file,"CarroID1"));
format(string,sizeof(string),"Slot 1 - Id[%d] Modelo[%s] Nome[%s]",dini_Int(file,"CarroID1"),PlayerVehicle[dini_Int(string4,"Modelo")-400],dini_Get(string4,"Nome"));
} else format(string,sizeof(string),"Slot 1 - Slot disponivel");
if(dini_Int(file,"TCarro2") == 1){
format(string4,sizeof(string4),"/Carros/carro%d.ini",dini_Int(file,"CarroID2"));
format(string2,sizeof(string2),"Slot 2 - Id[%d] Modelo[%s] Nome[%s]",dini_Int(file,"CarroID2"),PlayerVehicle[dini_Int(string4,"Modelo")-400],dini_Get(string4,"Nome"));
} else format(string2,sizeof(string2),"Slot 2 - Slot disponivel");
if(dini_Int(file,"TCarro3") == 1){
format(string4,sizeof(string4),"/Carros/carro%d.ini",dini_Int(file,"CarroID3"));
format(string3,sizeof(string3),"Slot 3 - Id[%d] Modelo[%s] Nome[%s]",dini_Int(file,"CarroID3"),PlayerVehicle[dini_Int(string4,"Modelo")-400],dini_Get(string4,"Nome"));
} else format(string3,sizeof(string3),"Slot 3 - Slot disponivel");
format(strx,sizeof(strx), "%s\n%s\n%s",string,string2,string3);
ShowPlayerDialog(playerid, 4500, DIALOG_STYLE_LIST,"Meus Carros",strx,"Selecionar","Cancelar");
return 1;
}
Код:
if(strcmp(cmd, "/modelocarro", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
new preco;
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "/modelocarro [novomodeloid]");
return 1;
}
preco = strval(tmp);
for(new c = 0; c < MAX_CARROS; c++)
{
format(string, sizeof(string), "/Carros/carro%d.ini", c);
if(dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
if(GetPlayerVehicleID(playerid) == dini_Int(string, "Id")){
if(pAdmin[playerid] >= 5 || strcmp(aname, "", true) == 0 || strcmp(aname, "", true) == 0){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
dini_IntSet(string, "Modelo", preco);
SendClientMessage(playerid, Verde, "Modelo alterado!");
} else {
SendClientMessage(playerid, Vermelho, "** Vocк nгo й um admin.");
}
} else {
//SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade.");
}
}
}
return 1;
}
se estiver faltando alguma coisa me digan!


