21.10.2018, 22:44
mano, entrei no meu servidor de testes que й o propio gamemode do sistema de casas. Dei /criarcasa , apareceu a mensagem que eu tinha criado a casa, porйm a pickup e a textdrawn da casa nгo apareceram, muito menos a casa foi criada na pasta casas.
o que hб de errado com o sistema ?
o que hб de errado com o sistema ?
Код:
#include < a_samp > #include < sscanf > #include < dof2 > #include < zcmd > #define MAX_HOUSES 100 enum InfoH { hID, Float:hIcone[3], hPreco, hDono[120], hCofre, hAluguel, hCarro, Float:hCarroPos[3], hInterior, Text3D:hText, hPickUp } new HInfo[MAX_HOUSES][InfoH]; new arquivo_casa[120]; main(){ print("Sistema de casas");} public OnGameModeInit() { UsePlayerPedAnims(); DisableInteriorEnterExits(); SetGameModeText("HOUSE SCRIPT"); AddPlayerClass(23, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); for(new i = 0; i < MAX_HOUSES; ++i) { Carregar_Casa(i); } // Criaзгo de casas automбticamente for(new i = 0; i < MAX_HOUSES; ++i) { if(!DOF2_FileExists(arquivo_casa[i])) { new str[120]; format(str, sizeof(str), "Casa %d\nDono %s\nAluguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hAluguel]); // Create3DTextLabel(str, -1, HInfo[i][hIcone[0], HInfo[i][hIcone[1], HInfo[i][hIcone[2], 10); Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0); HInfo[i][hPickUp] = CreatePickup(1273, 2, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1); } } return 1; } public OnGameModeExit() { DOF2_Exit(); return 1; } public OnPlayerRequestClass(playerid, classid) { SpawnPlayer(playerid); return 1; } public OnPlayerConnect(playerid) { for(new i = 0; i < MAX_HOUSES; ++i) { if(!DOF2_FileExists(arquivo_casa[i])) { new str[120]; format(str, sizeof(str), "Casa %d\nDono %s\nAluguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hAluguel]); // Create3DTextLabel(str, -1, HInfo[i][hIcone[0], HInfo[i][hIcone[1], HInfo[i][hIcone[2], 10); Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0); HInfo[i][hPickUp] = CreatePickup(1273, 2, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1); } } return 1; } public OnPlayerDisconnect(playerid, reason) { for(new i = 0; i < MAX_HOUSES; ++i) { Salvar_Casa(i); } return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } CMD:criarcasa(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!"); new id, intr, preco; if(sscanf(params, "ddd", id, intr, preco)) return SendClientMessage(playerid, -1, "/criarcasa id interior preco"); new Float:Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); HInfo[id][hInterior] = intr; HInfo[id][hID] = id; HInfo[id][hCofre] = 0; HInfo[id][hCarro] = 265; HInfo[id][hPreco] = preco; HInfo[id][hAluguel] = 0; HInfo[id][hCarroPos][0] = 0, HInfo[id][hCarroPos][1] = 0, HInfo[id][hCarroPos][2] = 0; new str[120]; format (str, sizeof(str), "O Administrador %s criou uma casa id %d valor: %d", GetNome(playerid), id, preco); SendClientMessageToAll(-1, str); HInfo[id][hIcone][0] = Pos[0], HInfo[id][hIcone][1] = Pos[1], HInfo[id][hIcone][2] = Pos[2]; Criar_Casa(id); // Isso aqui irб funcionar ? return 1; } Criar_Casa(casaid) { format(arquivo_casa, sizeof(arquivo_casa), "casas/%d.ini", HInfo[casaid][hID]); DOF2_SetString(arquivo_casa, "Dono", "Ninguйm"); 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, "Carro", HInfo[casaid][hCarro]); 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_SetFloat(arquivo_casa, "CarroPosx", HInfo[casaid][hCarroPos][0]); DOF2_SetFloat(arquivo_casa, "CarroPosy", HInfo[casaid][hCarroPos][1]); DOF2_SetFloat(arquivo_casa, "CarroPosz", HInfo[casaid][hCarroPos][2]); DOF2_SaveFile(); } Carregar_Casa(casaid) { format(arquivo_casa, sizeof(arquivo_casa), "casas/%d.ini", HInfo[casaid][hID]); new txt[120]; format(txt, sizeof(txt), "%s", DOF2_GetString(arquivo_casa, "Dono")); HInfo[casaid][hDono] = txt; // HInfo[casaid][hDono] = DOF2_GetString(arquivo_casa, "Dono"); // format(HInfo[casaid][hDono], sizeof(HInfo[casaid][hDono]), "%s", DOF2_GetString(arquivo_casa, "Dono")); 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][hCarro] = DOF2_GetInt(arquivo_casa, "Carro"); 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"); HInfo[casaid][hCarroPos][0] = DOF2_GetFloat(arquivo_casa, "CarroPosx"); HInfo[casaid][hCarroPos][1] = DOF2_GetFloat(arquivo_casa, "CarroPosy"); HInfo[casaid][hCarroPos][2] = DOF2_GetFloat(arquivo_casa, "CarroPosz"); } Salvar_Casa(casaid) { format(arquivo_casa, sizeof(arquivo_casa), "casas/%d.ini", HInfo[casaid][hID]); DOF2_SetInt(arquivo_casa, "Dono", HInfo[casaid][hDono]); 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, "Carro", HInfo[casaid][hCarro]); 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_SetFloat(arquivo_casa, "CarroPosx", HInfo[casaid][hCarroPos][0]); DOF2_SetFloat(arquivo_casa, "CarroPosy", HInfo[casaid][hCarroPos][1]); DOF2_SetFloat(arquivo_casa, "CarroPosz", HInfo[casaid][hCarroPos][2]); DOF2_SaveFile(); } stock GetNome(playerid) { new pNome[MAX_PLAYER_NAME]; GetPlayerName(playerid, pNome, 24); return pNome; }