[Ajuda] Criar comando de gerar casa
#1

Como vcs vejam o titulo.

Baixei a gamemode world evolution de Learning.
Editei ela, coloquei para zcmd e dof2.

porem ja tentei criar o /criarcasa e /criarempresa (IN-GAME)

n consigo alguem pd me ajudar ae?
Reply
#2

Cade o cуdigo parceiro
Reply
#3

Eu nao fiz o comando nao consigo fazer ;-; pode me fazer pfv .-.

Achei isto

Quote:

stock CriarCasa(casaid, Float:Pickupx, Float:Pickupy, Float:Pickupz, Float:interiorX, Float:interiorY, Float:interiorZ, Interior, cVenda, cPreco, virtualworld, mapicon)
{
format(hFile, sizeof(hFile), "Casas/casa%d.ini", casaid);

if(!fexist(hFile))
{
DOF2_CreateFile(hFile);
CasaInfo[casaid][Numero] = casaid;
format(CasaInfo[casaid][Proprietario], 12, "Ninguem");
DOF2_SetString(hFile, "Proprietario", "Ninguem");
format(CasaInfo[casaid][Morador], 12, "Ninguem");
DOF2_SetString(hFile, "Morador", "Ninguem");
format(CasaInfo[casaid][Morador2], 12, "Ninguem");
DOF2_SetString(hFile, "Morador2", "Ninguem");
format(CasaInfo[casaid][Morador3], 12, "Ninguem");
DOF2_SetString(hFile, "Morador3", "Ninguem");
format(CasaInfo[casaid][Login], 12, "00/00/0000");
DOF2_SetString(hFile, "Login", "00/00/0000");
format(CasaInfo[casaid][Mensagem], 12, "Nada");
DOF2_SetString(hFile, "Horario", "00:00:00");
format(CasaInfo[casaid][Horario], 12, "00:00:00");
DOF2_SetString(hFile, "Mensagem", "Nada");
CasaInfo[casaid][PickupX] = Pickupx;
CasaInfo[casaid][PickupY] = Pickupy;
CasaInfo[casaid][PickupZ] = Pickupz;
CasaInfo[casaid][InteriorX] = interiorX;
CasaInfo[casaid][InteriorY] = interiorY;
CasaInfo[casaid][InteriorZ] = interiorZ;
CasaInfo[casaid][InteriorID] = Interior;
CasaInfo[casaid][Venda] = cVenda;
CasaInfo[casaid][Preco] = cPreco;
CasaInfo[casaid][VirtualWorld] = virtualworld;
CasaInfo[casaid][Status] = 0;
CasaInfo[casaid][MapIcon] = mapicon;
DOF2_SetInt(hFile, "Numero", casaid);
DOF2_SetFloat(hFile, "InteriorX", interiorX);
DOF2_SetFloat(hFile, "InteriorY", interiorY);
DOF2_SetFloat(hFile, "InteriorZ", interiorZ);
DOF2_SetInt(hFile, "Interior", Interior);
DOF2_SetInt(hFile, "Venda", cVenda);
DOF2_SetInt(hFile, "Valor", cPreco);
DOF2_SetInt(hFile, "VirtualWorld", virtualworld);
DOF2_SetInt(hFile, "Dono", 0);
DOF2_SetInt(hFile, "Status", 0);
DOF2_SetInt(hFile, "MapIcon", mapicon);
DOF2_SetFloat(hFile, "X", Pickupx);
DOF2_SetFloat(hFile, "Y", Pickupy);
DOF2_SetFloat(hFile, "Z", Pickupz);
DOF2_SetInt(hFile, "vLiberado", 0);
DOF2_SetInt(hFile, "vM1", 0);
DOF2_SetInt(hFile, "vM2", 0);
DOF2_SetInt(hFile, "vM3", 0);
DOF2_SetInt(hFile, "useCar", 0);


Eu ja tentei usar sscanf e fazer sas bagaзa mais eu bugo no meio de tudo me ajuda vei pfv :/
Reply
#4

Cara nгo faзa isso, desenvolva um sistema para fazer as casas in game. Mas se vocк quer continuar com este sistema, verifique se os argumentos passados para a funзгo CriarCasa estгo corretos.
Reply
#5

Use como base:

PHP Code:
CMD:criarcasa(playeridparams[]) {
    if(
pAdmin[playerid] < 12) return SendClientMessage(playeridErro"** Vocк nгo tem permissгo.");
    new 
precocint;
    if(
sscanf(params"dd"precocint)) return SendClientMessage(playeridVermelho"/criarcasa [preзo] [interior]");
    if(
preco 100000) return SendClientMessage(playeridVermelho"* Vocк sу pode criar casas de no minimo 100k.");
    
CriarCasa(playeridprecocint);
    return 
1;

https://imgur.com/a/8mxeKN8
https://imgur.com/a/DaJqgC5
Reply
#6

Quote:
Originally Posted by LeViNS
View Post
Use como base:

PHP Code:
CMD:criarcasa(playeridparams[]) {
    if(
pAdmin[playerid] < 12) return SendClientMessage(playeridErro"** Vocк nгo tem permissгo.");
    new 
precocint;
    if(
sscanf(params"dd"precocint)) return SendClientMessage(playeridVermelho"/criarcasa [preзo] [interior]");
    if(
preco 100000) return SendClientMessage(playeridVermelho"* Vocк sу pode criar casas de no minimo 100k.");
    
CriarCasa(playeridprecocint);
    return 
1;

https://imgur.com/a/8mxeKN8
https://imgur.com/a/DaJqgC5
Oi vinny ;-;, eu ja tentei fazer isso que tu me mandou deu warnings e erros apaguei e ate hoje nunca consegui
Reply
#7

@Edit

Cada dia fiquei testando esse sistema de casa e deu certo!
olha como ficou:

PHP Code:
// Comeзo
#include <a_samp>
#include <sscanf2>
#include <streamer>
#include <DOF2>
#define MAX_CASAS                                                               200
new Text3D:CasaTLabel[MAX_CASAS];
new 
STRX256 ];
new 
ProximaCasa;
//Comando:
if(strcmp(cmd"/CriarCasa"true) == 0)
{
    new 
PrecoInterior;
    if(
sscanf(cmdtext"s[11]dd"cmdPrecoInterior))
    {
        
SendClientMessage(playerid0xFF0000AA"| ERRO | Use: /CriarCasa [Preзo] [Interior]");
        return 
1;
    }
    new 
Float:XFloat:YFloat:Z;
    
GetPlayerPos(playeridXYZ);
    
PlayerCreateHouse(playeridPrecoInteriorXYZGetPlayerInterior(playerid));
     return 
1;
}
//Final GM
stock PlayerCreateHouse(playeridCasaPrecoCasaInteriorFloat:CasaXFloat:CasaYFloat:CasaZIdInterior)
{
    new 
query250 ], str250 ], PickupIdMapiconId;
    
format(querysizeof(query), "/Casas/Casa%d.ini"ProximaCasa);
    if(
IsPlayerInRangeOfPoint(playerid20.0DOF2_GetFloat(query"PosX"), DOF2_GetFloat(query"PosY"), DOF2_GetFloat(query"PosZ")))
    {
        
SendClientMessage(playerid0xFF0000AA"| ERRO | Nгo pode criar uma casa perto da outra!");
        return 
1;
    }
    if(!
DOF2_FileExists(query))
    {
        
DOF2_CreateFile(query);
        
        
DOF2_SetFloat(query"PosX"CasaX);
        
DOF2_SetFloat(query"PosY"CasaY);
        
DOF2_SetFloat(query"PosZ"CasaZ);
        
DOF2_SetInt(query"Interior"CasaInterior);
        
DOF2_SetInt(query"IdInterior"IdInterior);
        
DOF2_SetInt(query"Preco"CasaPreco);
        
DOF2_SetInt(query"CasaId"ProximaCasa);
        
DOF2_SetString(query"Dono""Ninguem");
        
DOF2_SetInt(query"TDono"0);
        
PickupId CreateDynamicPickup(12731CasaXCasaYCasaZ, -1, -1, -1200.0);
        
DOF2_SetInt(query"PickupId"PickupId);
        
MapiconId CreateDynamicMapIcon(CasaXCasaYCasaZ310, -1, -1, -1100.0);
        
DOF2_SetInt(query"MapiconId"MapiconId);
        
format(STRXsizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}Nнnguem\n\n{00FFFF}Casa Id: {FFFFFF}%d\n/InfoCasa"ProximaCasa);
        
CasaTLabel[ProximaCasa] = CreateDynamic3DTextLabel(STRX, -1CasaXCasaYCasaZ30.0INVALID_PLAYER_IDINVALID_VEHICLE_ID1, -1, -1, -1200.0);
        
format(strsizeof(str), "| INFO-SERVER | O(A) Administrador(a) %s (%d) Criou uma casa nъmero %d"Nome(playerid), playeridProximaCasa);
        
SendClientMessageToAll(0x33AAFFAAstr);
        
ProximaCasa++;
        
        
DOF2_SaveFile();
    }
    return 
1;

Agora quando o player se desconectar as coisa: Pickup, mapicon й Textlabel e deletado ai tem que fazer uma coisa na public OnGameMondeInit, eu ainda n fiz, se dps eu animar eu faзo, Mas e facil isso! tem um exemplo na GM da CVR tlg :v so procurar que vc encontra!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)