07.11.2012, 23:39
sistema de carro
verifique o code ai tem os cmds.. coloque dentro de seu gm.. completo.. vc cria um carro o player pd compra.. e ele tem o cmd /meucarro com funзхes dentro do dialog ;]
pawn Код:
if(strcmp(cmd, "/ccar", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
if(IsPlayerAdmin(playerid)|| pAdmin[playerid] == 5){
new tmp[256];
new carid, Float:ang, preco, cor1, cor2;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Veiculo invбlido.");
return 1;
}
carid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "(ERRO): /ccar [id] [preзo] [cor1] [cor2]");
return 1;
}
preco = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "(ERRO): /ccar [id] [preзo] [cor1] [cor2]");
return 1;
}
cor1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "(ERRO): /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), "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, "Preco", preco);
}
SetTimerEx("CriarVeiculo2",5000,false,"dffffdd",carid,X,Y,Z,ang,cor1,cor2);
format(string, sizeof(string), "(INFO) Veiculo criado com sucesso!");
SendClientMessage(playerid, Azul, string);
return 1;
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo estб em um veiculo!");
}
}
else{
SendClientMessage(playerid, Vermelho, "(ERRO) Veiculo invбlido.");
return 1;
}
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem permissгo para isso!");
return 1;
}
}
if(strcmp(cmdtext, "/comprarcarro", true) == 0) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string), "carro%d.ini", carro);
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
SendClientMessage(playerid, Vermelho, "Vocк jб tem um carro");
return 1;
}
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string, "Id")){
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", aname);
SendClientMessage(playerid, Violeta, "(INFO) Veiculo comprado com sucesso!");
SendClientMessage(playerid, Vermelho, "(INFO) Para ver os comandos do veiculo, use: /meucarro");
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
TogglePlayerControllable(playerid, 1);
return 1;
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem Dinheiro Suficiente!");
return 1;
}
}
}
}
if(strcmp(cmdtext, "/meucarro", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new resultados;
new string2[256];
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string), "carro%d.ini", carro);
if(dini_Exists(string)){
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
format(string2, sizeof(string2), "Meu Carro(Id:%d)", carro);
ShowPlayerDialog(playerid, 4501, DIALOG_STYLE_LIST, string, "Salvar Posiзгo \nAlterar cor 1 \nAlterar cor 2 \nRespawnar Carro \nVender Carro", "OK", "Cancelar");
resultados = 0;
} else {
resultados = 1;
}
}
}
if(resultados == 1){
//SendClientMessage(playerid, Vermelho, "Vocк nгo estб no seu carro.");
}
return 1;
}
if(strcmp(cmd, "/modelocarro", true) == 0) {
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), "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){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
dini_IntSet(string, "Modelo", preco);
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem permissгo.");
}
} else {
//SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade.");
}
}
}
return 1;
}
if(strcmp(cmd, "/respawnccar", true) == 0) {
for(new c = 0; c < MAX_CARROS; c++)
{
format(string, sizeof(string), "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){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
new carroid;
DestroyVehicle(dini_Int(string, "Id"));
carroid = AddStaticVehicle(dini_Int(string, "Modelo"), dini_Float(string, "CordX"), dini_Float(string, "CordY"), dini_Float(string, "CordZ"), dini_Float(string, "Angulo"), dini_Int(string, "Cor1"), dini_Int(string, "Cor2"));
dini_IntSet(string, "Id", carroid);
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem permissгo.");
}
}
}
}
return 1;
}
verifique o code ai tem os cmds.. coloque dentro de seu gm.. completo.. vc cria um carro o player pd compra.. e ele tem o cmd /meucarro com funзхes dentro do dialog ;]