24.10.2018, 02:18
Senhores. Boa noite. Sei que a minha conduta aqui no forum vem causando algumas perturbaзхes, para com alguns membros. Estes reclamam que eu peзo muita ajuda e nada tento fazer. Olha sу, eu estou praticamente dois dias , algo em torno de 20 horas ou mais, fazendo e refazendo meu sistema. Ele compila normalmente sem erros, na lуgica parece estar tudo certo [...] porйm na prбtica nada disso acontece, por mais que eu tente de vбrias formas, nunca o cуdigo faz o que eu mando.
O meu cуdigo tem algo em torno de 500 linhas, ou seja, vocк "passando o olho" rapidamente verб e entenderб o que eu quero fazer. Se vocк chegou a ler atй aqui, peзo por obsйquio, dк uma olhadinha rбpida e tente encontrar algum erro. Tente encontrar algo que vocк sabe que compila mais nгo funcionaria da forma esperada.
Creio que somente esta olhadinha sua, encontrarб os pontos chave dos erros que destroem meu sistema.
Eu jб fiz de tudo, sйrio mesmo. E nгo queria abandonar esse projeto, cheguei muito longe, provavelmente o cуdigo mais йpico que fiz.
E tipo, sгo tantos bugs diferentes que nem sei por onde comeзar.
Se alguйm puder copiar e botar pra rodar ele, como gamemode e usar os comandos, e ver o que acontece seria muito bom ...
Eu estou me esforзando bastante e ficando sem saida
Tire 5 minutos do seu tempinho ai, copie esse gm e rode como seu gamemode, dк essa moral ai
Namoral mesmo
O meu cуdigo tem algo em torno de 500 linhas, ou seja, vocк "passando o olho" rapidamente verб e entenderб o que eu quero fazer. Se vocк chegou a ler atй aqui, peзo por obsйquio, dк uma olhadinha rбpida e tente encontrar algum erro. Tente encontrar algo que vocк sabe que compila mais nгo funcionaria da forma esperada.
Creio que somente esta olhadinha sua, encontrarб os pontos chave dos erros que destroem meu sistema.
Eu jб fiz de tudo, sйrio mesmo. E nгo queria abandonar esse projeto, cheguei muito longe, provavelmente o cуdigo mais йpico que fiz.
Code:
/* Nescessбrio criar pasta casas na scriptfiles */ #include < a_samp > #include < sscanf > #include < dof2 > #include < zcmd > #include < streamer > #define MAX_HOUSES 100 #define MAX_CARROS 100 #define PASTA_CASAS "casas/casa %d.ini" #define PASTA_CARROS "casas/carro %d.ini" enum InfoH { hID, Float:hIcone[3], hPreco, hDono[25], hCofre, hAluguel, Float:hCarroPos[4], hInterior, Text3D:hText, hPickUp, hTemDono, hCarroCor[2], hMapIcon } enum vInfoH { cID, cCasa, cDono[25], Float:cPos[4], cModelo, Text3D:cText, cCor[2] } // ----------------------------------------------------------------------------- >> new cInfo[MAX_CARROS][vInfoH]; new HInfo[MAX_HOUSES][InfoH]; new Criar_Carro[MAX_CARROS]; // variavel que cria o carro da casa new bool:countH[MAX_PLAYERS char]; new EstaEmCasa[MAX_PLAYERS]; // verificaзгo OnPlayerPickUpPickup new arquivo_casa[120]; new arquivo_hcarro[120]; // ----------------------------------------------------------------------------- >> forward DestroyCarCommandTest(vehicleid); forward AntFloodH(playerid); // verificaзгo OnPlayerPickUpPickup forward Atualizar_Carros(vehicleid); forward Atualizar_Casas(casaid); // ----------------------------------------------------------------------------- >> main() { print("\nSistema de casas\nBy Lucas Emmanuel\n"); } public OnGameModeInit() { UsePlayerPedAnims(); DisableInteriorEnterExits(); SetGameModeText("HOUSE SCRIPT"); AddPlayerClass(23, 2192.3462,1676.3215,12.3672, 269.1425, 0, 0, 0, 0, 0, 0); /* AddStaticVehicle(560,2168.6887,1705.3904,10.7514,153.3162,9,39); AddStaticVehicle(541,2170.3594,1704.9673,10.7096,153.3650,58,8); AddStaticVehicle(541,2158.5830,1709.9849,10.6717,154.0867,58,8); AddStaticVehicle(402,2158.3157,1660.8107,10.8557,45.9362,13,13); AddStaticVehicle(442,2163.9023,1707.6172,10.9687,326.6677,11,105); AddStaticVehicle(402,2157.0203,1725.1031,10.9211,164.7455,6,1); AddStaticVehicle(442,2159.6914,1724.4752,10.8206,166.5195,11,105); AddStaticVehicle(560,2162.2883,1723.7815,10.7521,164.3699,9,39); AddStaticVehicle(541,2164.6753,1723.3394,10.6822,165.2697,58,8); */ for(new i = 0; i < MAX_HOUSES; ++i) { Carregar_Casa(i); } for(new i = 0; i < MAX_CARROS; ++i) { Carregar_Carro(i); } return 1; } // ----------------------------------------------------------------------------- >> public OnGameModeExit() { for(new i = 0; i < MAX_HOUSES; ++i) { Salvar_Casa(i); } for(new i = 0; i < MAX_CARROS; ++i) { Salvar_Carro (i); } DOF2_Exit(); return 1; } CMD:carregar(playerid) { for(new i = 0; i < MAX_HOUSES; ++i) { Carregar_Casa(i); } for(new i = 0; i < MAX_CARROS; ++i) { Carregar_Carro(i); } return 1; } public OnPlayerRequestClass(playerid, classid) { SpawnPlayer(playerid); return 1; } /* public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys == KEY_YES ) { for(new i = 0; i < MAX_HOUSES; ++i) { if (IsPlayerInRangeOfPoint(playerid, 2, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2])); { new str[120]; format(str, sizeof(str),"Vocк entrou na casa %d", HInfo[i][hID]); SendClientMessage(playerid, -1, str); } } } return 1; } */ public OnPlayerPickUpPickup(playerid, pickupid) { for(new i = 0; i < MAX_HOUSES; ++i) { if(pickupid == HInfo[i][hPickUp]) // verifica corretamente a casa que o player estб { if(countH[playerid] == false) // pra nгo ficar floodando a mensagem { // SetPlayerInterior(playerid, HInfo[i][hInterior]); EstaEmCasa[playerid] = HInfo[i][hID]; new str[120]; // format(str, sizeof(str), "Vocк estб na casa %d", HInfo[i][hID]); format(str, sizeof(str), "Vocк estб na casa %d", EstaEmCasa[playerid]); // SendClientMessage(playerid, -1, str); countH[playerid] = true; SetTimerEx("AntFloodH", 1000 * 10, false, "i", playerid); break; } } } return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { Atualizar_Carros(vehicleid); // GetVehicleDistanceFromPoint(importante ) return 1; } public OnVehicleDeath(vehicleid, killerid) { SetVehicleToRespawn(vehicleid); return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } // ----------------------------------------------------------------------------- >> CMD:criarcasa(playerid, params[]) { // if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!"); new intr, preco; if(sscanf(params, "dd", intr, preco)) return SendClientMessage(playerid, -1, "/criarcasa [interior - preco]"); new Float:Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); for(new casaid = 0; casaid < MAX_HOUSES; casaid++) { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, casaid); if(!DOF2_FileExists(arquivo_casa)) { format(HInfo[casaid][hDono], 25, "Ninguem"); HInfo[casaid][hInterior] = intr; HInfo[casaid][hID] = casaid; HInfo[casaid][hTemDono] = 0; HInfo[casaid][hCofre] = 0; HInfo[casaid][hPreco] = preco; HInfo[casaid][hAluguel] = 0; HInfo[casaid][hIcone][0] = Pos[0]; HInfo[casaid][hIcone][1] = Pos[1]; HInfo[casaid][hIcone][2] = Pos[2]; new str[120]; format(str, sizeof(str), "O Administrador %s criou uma casa id %d valor: %d", GetNome(playerid), casaid, preco); SendClientMessageToAll(-1, str); Criar_Casa(casaid); format(str, sizeof(str), "Casa %d\nDono %s\nPreзo %d\nAluguel %d", HInfo[casaid][hID], HInfo[casaid][hDono], HInfo[casaid][hPreco], HInfo[casaid][hAluguel]); HInfo[casaid][hText] = Create3DTextLabel(str, -1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 20.0, 0, 0); HInfo[casaid][hPickUp] = CreatePickup(1273, 1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], -1); HInfo[casaid][hMapIcon] = CreateDynamicMapIcon(HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 31, -1, -1, -1, -1, 50.0); break; } } return 1; } // ----------------------------------------------------------------------------- >> CMD:destruircasa(playerid, params[]) // comando funcional { // if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!"); new id; if(sscanf(params, "d", id)) return SendClientMessage(playerid, -1, "/destruircasa [id casa]"); format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, id); if(!DOF2_FileExists(arquivo_casa)) { SendClientMessage(playerid, -1, "Esta casa nгo existe"); } else { new str[120]; format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, id); DOF2_RemoveFile(arquivo_casa); format(str, sizeof(str), "Vocк excluiu a casa %d", id); SendClientMessage(playerid, -1, str); Atualizar_Casas(id); } return 1; } // ---------------------------------------------------------------------------- >> CMD:darcasa(playerid, params[]) // Novo comando em faze de testes { // if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!"); new idp, idh; if(sscanf(params, "dd", idp, idh)) return SendClientMessage(playerid, -1, "/darcasa [id] [id casa]"); if(!IsPlayerConnected(idp)) return SendClientMessage(playerid, -1, "Jogador nгo conectado"); format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, idh); if(!DOF2_FileExists(arquivo_casa)) { SendClientMessage(playerid, -1, "Esta casa nгo existe"); } else { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, idh); new nomep[25]; GetPlayerName(idp, nomep, 25); new str[120], stx[120]; format (str, sizeof(str), "Vocк deu a casa %d para o jogador %s", HInfo[idh][hID], nomep); format (stx, sizeof(stx), "O administrador %s te deu a casa %d", GetNome(playerid), HInfo[idh][hID]); SendClientMessage(playerid, -1, str); SendClientMessage(idp, -1, stx); HInfo[idh][hDono] = nomep; HInfo[idh][hTemDono] = 1; Salvar_Casa(idh); Atualizar_Casas(idh); } return 1; } // ----------------------------------------------------------------------------- >> CMD:soudono(playerid, params[]) // Novo comando funcional de testes { // if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!"); new id; if(sscanf(params, "d", id)) return SendClientMessage(playerid, -1, "/soudono [id casa]"); format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, id); if(!DOF2_FileExists(arquivo_casa)) { SendClientMessage(playerid, -1, "Esta casa nгo existe"); } else { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, id); new nomep[25]; GetPlayerName(playerid, nomep, 25); HInfo[id][hDono] = nomep; new str[120]; format (str, sizeof(str), "Vocк agora й dono da casa %d", HInfo[id][hID]); SendClientMessage(playerid, -1, str); HInfo[id][hTemDono] = 1; Salvar_Casa(id); Atualizar_Casas(id); } return 1; } // ----------------------------------------------------------------------------- >> CMD:carrocasa(playerid, params[]) { // if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!"); new id_house, modelo, carro, cor[2]; if(sscanf(params, "dddd", id_house, modelo, cor[0], cor[1])) return SendClientMessage(playerid, -1, "/carrocasa [id casa] [id carro] [cor 1] [cor 2]"); if(modelo >= 400 && modelo <= 611) { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, id_house); if(!DOF2_FileExists(arquivo_casa)) { SendClientMessage(playerid, -1, "Esta casa nгo existe"); } else { new Float:Pos[4]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, Pos[3]); carro = CreateVehicle(modelo, Pos[0], Pos[1], Pos[2], Pos[3], cor[0], cor[1], false, 0); LinkVehicleToInterior(carro, GetPlayerInterior(playerid)); SetVehicleVirtualWorld(carro, GetPlayerVirtualWorld(playerid)); PutPlayerInVehicle(playerid, carro, 0); new player_carro_id = GetPlayerVehicleID(playerid); cInfo[player_carro_id][cID] = player_carro_id; // ID do carro da casa cInfo[player_carro_id][cCasa] = id_house; // ID da casa do carro format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, id_house); format(cInfo[player_carro_id][cDono], 25, "%s", DOF2_GetString(arquivo_casa, "Dono"));// Nome do dono do carro vai ser DOF2_SetString(arquivo_hcarro, "Dono", cInfo[player_carro_id][cDono]); cInfo[player_carro_id][cPos][0] = Pos[0]; cInfo[player_carro_id][cPos][1] = Pos[1]; cInfo[player_carro_id][cPos][2] = Pos[2]; cInfo[player_carro_id][cPos][3] = Pos[3]; cInfo[player_carro_id][cModelo] = modelo; cInfo[player_carro_id][cCasa] = id_house; cInfo[player_carro_id][cCor][0] = cor[0]; cInfo[player_carro_id][cCor][0] = cor[1]; new xx[120]; format (xx, sizeof(xx), "vocк criou o carro %d para a casa %d nesta posicao. para trocar use /salvarcarrocasa", modelo, id_house); SendClientMessage(playerid, -1, xx); for(new carroid = 0; carroid < MAX_CARROS; ++carroid) { format(arquivo_hcarro, sizeof(arquivo_hcarro), PASTA_CARROS, carroid); if(!DOF2_FileExists(arquivo_hcarro)) { format(arquivo_hcarro, sizeof(arquivo_hcarro), PASTA_CARROS, cInfo[carroid][cID]); DOF2_CreateFile(arquivo_hcarro); DOF2_SetInt(arquivo_hcarro, "Casa", cInfo[carroid][cCasa]); DOF2_SetInt(arquivo_hcarro, "Modelo", cInfo[carroid][cModelo]); DOF2_SetString(arquivo_hcarro, "Dono", cInfo[carroid][cDono]); DOF2_SetFloat(arquivo_hcarro, "CarroPosx", cInfo[carroid][cPos][0]); DOF2_SetFloat(arquivo_hcarro, "CarroPosy", cInfo[carroid][cPos][1]); DOF2_SetFloat(arquivo_hcarro, "CarroPosz", cInfo[carroid][cPos][2]); DOF2_SetFloat(arquivo_hcarro, "CarroPosA", cInfo[carroid][cPos][3]); // Angulo do carro DOF2_SetInt(arquivo_hcarro, "CarroCor1", cInfo[carroid][cCor][0]); DOF2_SetInt(arquivo_hcarro, "CarroCor2", cInfo[carroid][cCor][1]); DOF2_SaveFile(); Atualizar_Carros(player_carro_id); // Atualizar_Carros(carroid); break; } } } } else SendClientMessage(playerid, -1, "Valor invбlido. ID's = 400-611"); return 1; } CMD:cv(playerid, params[]) { new string[256], modelo, carro, cor1, cor2, Float:X, Float:Y, Float:Z, Float:Angle; if(sscanf(params, "ddd", modelo, cor1, cor2)) return SendClientMessage(playerid, -1, "Digite: /cv [modelo] [cor1] [cor2]"); if(IsPlayerConnected(playerid)) { if(modelo >= 400 && modelo <= 611) { if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Saia deste veнculo para criar outro."); GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, Angle); carro = AddStaticVehicleEx(modelo, X, Y, Z, Angle, cor1, cor2, 30); LinkVehicleToInterior(carro, GetPlayerInterior(playerid)); SetVehicleVirtualWorld(carro, GetPlayerVirtualWorld(playerid)); PutPlayerInVehicle(playerid, carro, 0); format(string, sizeof(string), "Vocк criou o veнculo de id: %d", modelo); SendClientMessage(playerid, -1, string); } else SendClientMessage(playerid, -1, "Valor invбlido, tente novamente! | ID's = 400-611"); } return 1; } // ----------------------------------------------------------------------------- >> public Atualizar_Carros(vehicleid) { for(new i = 0; i < MAX_CARROS; ++i) { new slab[80]; Delete3DTextLabel( cInfo[i][cText] ); format(arquivo_hcarro, sizeof(arquivo_hcarro), PASTA_CARROS, i); format(cInfo[i][cDono], 25, "%s", DOF2_GetString(arquivo_hcarro, "Dono")); // Nome do dono do carro vai ser DOF2_SetString(arquivo_hcarro, "Dono", cInfo[i][cDono]); format(slab, sizeof(slab), "Carro %d\nCasa %d\nDono %s", cInfo[i][cID], cInfo[i][cCasa], cInfo[i][cDono]); // Update3DTextLabelText(cInfo[i][cText], -1, slab); cInfo[i][cText] = Create3DTextLabel( slab, 0xFF0000AA, 0.0, 0.0, 0.0, 90.0, 0, 0 ); Attach3DTextLabelToVehicle( cInfo[i][cText] , vehicleid, 0.0, 0.0, 1.0); SetVehicleToRespawn(i); } return 1; } /* for(new i = 0; i < MAX_CARROS; ++i) { format(arquivo_hcarro, sizeof(arquivo_hcarro), PASTA_CARROS, i); if(!DOF2_FileExists(arquivo_hcarro)) { Delete3DTextLabel( cInfo[i][cText] ); DestroyVehicle(Criar_Carro[i]); } else { new casaid = cInfo[i][cCasa]; // verifica se a casa ainda existe format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, i); if(!DOF2_FileExists(arquivo_casa)) { Delete3DTextLabel( cInfo[i][cText] ); DestroyVehicle(Criar_Carro[i]); } else // Se existir : { new slab[60]; format(arquivo_hcarro, sizeof(arquivo_hcarro), PASTA_CARROS, i); format(cInfo[i][cDono], 25, "%s", DOF2_GetString(arquivo_hcarro, "Dono")); // Nome do dono do carro vai ser DOF2_SetString(arquivo_hcarro, "Dono", cInfo[i][cDono]); format(slab, sizeof(slab), "Carro %d\nCasa %d\nDono %s", cInfo[i][cID], casaid, cInfo[i][cDono]); cInfo[i][cText] = Create3DTextLabel( slab, 0xFF0000AA, 0.0, 0.0, 0.0, 90.0, 0, 0 ); // Delete3DTextLabel( cInfo[i][cText] ); Update3DTextLabelText(cInfo[i][cText], -1, slab); Attach3DTextLabelToVehicle( cInfo[i][cText] , vehicleid, 0.0, 0.0, 1.0); SetVehicleToRespawn(i); } } } return 1; }*/ // ----------------------------------------------------------------------------- >> public Atualizar_Casas(casaid) { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, casaid); if(!DOF2_FileExists(arquivo_casa)) { Delete3DTextLabel(HInfo[casaid][hText]); DestroyPickup(HInfo[casaid][hPickUp]); DestroyDynamicMapIcon(HInfo[casaid][hMapIcon]); } else { new str[120]; format(str, sizeof(str), "Casa %d\nDono %s\nPreзo %d\nAluguel %d", HInfo[casaid][hID], HInfo[casaid][hDono], HInfo[casaid][hPreco], HInfo[casaid][hAluguel]); if(HInfo[casaid][hTemDono] == 1) { DestroyPickup(HInfo[casaid][hPickUp]); DestroyDynamicMapIcon(HInfo[casaid][hMapIcon]); Delete3DTextLabel(HInfo[casaid][hText]); HInfo[casaid][hText] = Create3DTextLabel(str, -1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 20.0, 0, 0); Update3DTextLabelText(HInfo[casaid][hText], -1, str); HInfo[casaid][hMapIcon] = CreateDynamicMapIcon(HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 32, -1, -1, -1, -1, 50.0); HInfo[casaid][hPickUp] = CreatePickup(1272, 1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], -1); } if(HInfo[casaid][hTemDono] == 0) { DestroyPickup(HInfo[casaid][hPickUp]); DestroyDynamicMapIcon(HInfo[casaid][hMapIcon]); Delete3DTextLabel(HInfo[casaid][hText]); HInfo[casaid][hText] = Create3DTextLabel(str, -1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 20.0, 0, 0); Update3DTextLabelText(HInfo[casaid][hText], -1, str); HInfo[casaid][hPickUp] = CreatePickup(1273, 1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], -1); HInfo[casaid][hMapIcon] = CreateDynamicMapIcon(HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 31, -1, -1, -1, -1, 50.0); } } return 1; } // ----------------------------------------------------------------------------- >> /* public OnPlayerStateChange(playerid, newstate, oldstate) // Nгo ta funcionando { if (newstate == PLAYER_STATE_DRIVER) { for(new i = 0; i < MAX_CARROS; ++i) { if(strcmp(cInfo[i][cDono], GetNome(playerid)) == 0) // verificar se o player й dono do carro { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid, -1, "Vocк nгo й o dono deste carro"); } else { // format(cInfo[i][cDono], 25, "%s", DOF2_GetString(arquivo_hcarro, "Dono")); if(strcmp(cInfo[i][cDono] == "Ninguem") // se o carro nгo tiver dono poode entrar ? { } }break; } } return 1; } // ----------------------------------------------------------------------------- >> public OnPlayerStateChange(playerid, newstate, oldstate) // Nгo ta funcionando ! { if (newstate == PLAYER_STATE_DRIVER) { for(new i = 0; i < MAX_CARROS; ++i) { new str[120]; format(str, sizeof(str), "este carro й da casa %d dono %s", cInfo[i][cCasa], cInfo[i][cDono]); SendClientMessage(playerid, -1, str); if(strcmp(cInfo[i][cDono], GetNome(playerid)) == 0) // verificar se o player й dono do carro { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid, -1, "Vocк nгo й o dono deste carro"); } else { if(strcmp(cInfo[i][cDono], "Ninguem") == 0) { SendClientMessage(playerid, -1, "Este carro nгo tem dono !"); } }break; } } return 1; } */ // ----------------------------------------------------------------------------- >> Criar_Casa(casaid) { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, HInfo[casaid][hID]); DOF2_CreateFile(arquivo_casa); DOF2_SetString(arquivo_casa, "Dono", HInfo[casaid][hDono]); DOF2_SetInt(arquivo_casa, "TemDono", HInfo[casaid][hTemDono]); DOF2_SetInt(arquivo_casa, "ID", HInfo[casaid][hID]); DOF2_SetInt(arquivo_casa, "Preco", HInfo[casaid][hPreco]); DOF2_SetInt(arquivo_casa, "Aluguel", HInfo[casaid][hAluguel]); DOF2_SetInt(arquivo_casa, "Interior", HInfo[casaid][hInterior]); DOF2_SetFloat(arquivo_casa, "Iconex", HInfo[casaid][hIcone][0]); DOF2_SetFloat(arquivo_casa, "Iconey", HInfo[casaid][hIcone][1]); DOF2_SetFloat(arquivo_casa, "Iconez", HInfo[casaid][hIcone][2]); DOF2_SaveFile(); return 1; } // ----------------------------------------------------------------------------- >> Carregar_Carro(carroid) { format(arquivo_hcarro, sizeof(arquivo_hcarro), PASTA_CARROS, carroid); if(DOF2_FileExists(arquivo_hcarro)) { cInfo[carroid][cCasa] = DOF2_GetInt(arquivo_hcarro, "Casa"); cInfo[carroid][cModelo] = DOF2_GetInt(arquivo_hcarro, "Modelo"); format(cInfo[carroid][cDono], 25, "%s", DOF2_GetString(arquivo_hcarro, "Dono")); cInfo[carroid][cPos][0] = DOF2_GetFloat(arquivo_hcarro, "CarroPosx"); cInfo[carroid][cPos][1] = DOF2_GetFloat(arquivo_hcarro, "CarroPosy"); cInfo[carroid][cPos][2] = DOF2_GetFloat(arquivo_hcarro, "CarroPosz"); cInfo[carroid][cPos][3] = DOF2_GetFloat(arquivo_hcarro, "CarroPosA"); cInfo[carroid][cCor][0] = DOF2_GetInt(arquivo_hcarro, "CarroCor1"); cInfo[carroid][cCor][1] = DOF2_GetInt(arquivo_hcarro, "CarroCor2"); Criar_Carro[carroid] = CreateVehicle(cInfo[carroid][cModelo], cInfo[carroid][cPos][0], cInfo[carroid][cPos][1], cInfo[carroid][cPos][2], cInfo[carroid][cPos][3], cInfo[carroid][cCor][0], cInfo[carroid][cCor][1], false); Criar_Carro[carroid] = CreateVehicle(cInfo[carroid][cModelo], cInfo[carroid][cPos][0], cInfo[carroid][cPos][1], cInfo[carroid][cPos][2], cInfo[carroid][cPos][3], cInfo[carroid][cCor][0], cInfo[carroid][cCor][1], false); // Criar_Carro[carroid] = AddStaticVehicleEx(cInfo[carro][cModelo], cInfo[carro][cPos][0], cInfo[carro][cPos][1], cInfo[carro][cPos][2], cInfo[carro][cPos][3], cInfo[carro][cCor][0], cInfo[carroid][cCor][1], false); } } // ----------------------------------------------------------------------------- >> Salvar_Carro(carroid) { format(arquivo_hcarro, sizeof(arquivo_hcarro), PASTA_CARROS, carroid); if(DOF2_FileExists(arquivo_hcarro)) { DOF2_SetString(arquivo_hcarro, "Dono", cInfo[carroid][cDono]); DOF2_SetInt(arquivo_hcarro, "Casa", cInfo[carroid][cCasa]); DOF2_SetInt(arquivo_hcarro, "Modelo", cInfo[carroid][cModelo]); DOF2_SetFloat(arquivo_hcarro, "CarroPosx", cInfo[carroid][cPos][0]); DOF2_SetFloat(arquivo_hcarro, "CarroPosy", cInfo[carroid][cPos][1]); DOF2_SetFloat(arquivo_hcarro, "CarroPosz", cInfo[carroid][cPos][2]); DOF2_SetFloat(arquivo_hcarro, "CarroPosA", cInfo[carroid][cPos][3]); DOF2_SetInt(arquivo_hcarro, "CarroCor1", cInfo[carroid][cCor][0]); DOF2_SetInt(arquivo_hcarro, "CarroCor2", cInfo[carroid][cCor][1]); DOF2_SaveFile(); } } // ----------------------------------------------------------------------------- >> Carregar_Casa(casaid) { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, casaid); if(DOF2_FileExists(arquivo_casa)) { format(HInfo[casaid][hDono], 25, "%s", DOF2_GetString(arquivo_casa, "Dono")); HInfo[casaid][hTemDono] = DOF2_GetInt(arquivo_casa, "TemDono"); HInfo[casaid][hID] = DOF2_GetInt(arquivo_casa, "ID"); HInfo[casaid][hPreco] = DOF2_GetInt(arquivo_casa, "Preco"); HInfo[casaid][hAluguel] = DOF2_GetInt(arquivo_casa, "Aluguel"); HInfo[casaid][hInterior] = DOF2_GetInt(arquivo_casa, "Interior"); HInfo[casaid][hIcone][0] = DOF2_GetFloat(arquivo_casa, "Iconex"); HInfo[casaid][hIcone][1] = DOF2_GetFloat(arquivo_casa, "Iconey"); HInfo[casaid][hIcone][2] = DOF2_GetFloat(arquivo_casa, "Iconez"); new str[120]; if(HInfo[casaid][hTemDono] == 0) { format(str, sizeof(str), "Casa %d\nDono %s\nPreзo %d\nAluguel %d", HInfo[casaid][hID], HInfo[casaid][hDono], HInfo[casaid][hPreco], HInfo[casaid][hAluguel]); HInfo[casaid][hText] = Create3DTextLabel(str, -1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 20.0, 0, 0); HInfo[casaid][hPickUp] = CreatePickup(1273, 1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], -1); HInfo[casaid][hMapIcon] = CreateDynamicMapIcon(HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 31, -1, -1, -1, -1, 50.0); } else { format(str, sizeof(str), "Casa %d\nDono %s\nAluguel %d", HInfo[casaid][hID], HInfo[casaid][hDono], HInfo[casaid][hAluguel]); HInfo[casaid][hText] = Create3DTextLabel(str, -1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 20.0, 0, 0); HInfo[casaid][hPickUp] = CreatePickup(1272, 1, HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], -1); HInfo[casaid][hMapIcon] = CreateDynamicMapIcon(HInfo[casaid][hIcone][0], HInfo[casaid][hIcone][1], HInfo[casaid][hIcone][2], 32, -1, -1, -1, -1, 50.0); } } } Salvar_Casa(casaid) { format(arquivo_casa, sizeof(arquivo_casa), PASTA_CASAS, casaid); if(DOF2_FileExists(arquivo_casa)) { DOF2_SetString(arquivo_casa, "Dono", HInfo[casaid][hDono]); DOF2_SetInt(arquivo_casa, "TemDono", HInfo[casaid][hTemDono]); DOF2_SetInt(arquivo_casa, "ID", HInfo[casaid][hID]); DOF2_SetInt(arquivo_casa, "Preco", HInfo[casaid][hPreco]); DOF2_SetInt(arquivo_casa, "Aluguel", HInfo[casaid][hAluguel]); DOF2_SetInt(arquivo_casa, "Interior", HInfo[casaid][hInterior]); DOF2_SetFloat(arquivo_casa, "Iconex", HInfo[casaid][hIcone][0]); DOF2_SetFloat(arquivo_casa, "Iconey", HInfo[casaid][hIcone][1]); DOF2_SetFloat(arquivo_casa, "Iconez", HInfo[casaid][hIcone][2]); DOF2_SaveFile(); } } // ----------------------------------------------------------------------------- >> stock GetNome(playerid) { new pNome[MAX_PLAYER_NAME]; GetPlayerName(playerid, pNome, 24); return pNome; } public AntFloodH(playerid) { countH[playerid] = false; return true; } // ------------------------------------------------------------------------------- >>
Se alguйm puder copiar e botar pra rodar ele, como gamemode e usar os comandos, e ver o que acontece seria muito bom ...
Eu estou me esforзando bastante e ficando sem saida
Tire 5 minutos do seu tempinho ai, copie esse gm e rode como seu gamemode, dк essa moral ai
Namoral mesmo