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!