Jump to content
  • 0

problema comada createhouse


InceMan

Question

ma chinui de vre-o cateva zile sa refac comanda si nu reusesc deci cand fac o casa setez exteriorul dupa interiorul ma duc in alta casa  supa dau complete se creaza casa in locul ala dar cand incerc sa intru in ea ma da in interior dupa cand es ma da la spawnul casei care am setat eu interiorul deci ma da in alta parte nu ma mai da la casa creata , si nu stiu ce naiba sa-i mai fac

CMD:createhouse(playerid, params[])
{
    if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
    if(IsPlayerConnected(playerid))
    {
        if(PlayerInfo[playerid][pAdmin] >= 6)
        {
            new house[64],Float:pX,Float:pY,Float:pZ,string[128],PropertyString[256],query[500];
            if(sscanf(params, "s[64]", house)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF9900}Scrie: {33CCFF}/createhouse <exterior/interior/complete>");
            if(strcmp(house,"exterior",true) == 0)
            {
                GetPlayerPos(playerid, pX, pY, pZ);
                SetPVarFloat(playerid, "pHeX", pX);
                SetPVarFloat(playerid, "pHeY", pY);
                SetPVarFloat(playerid, "pHeZ", pZ);
                SetPVarInt(playerid, "hExt", 1);
                SendClientMessage(playerid, COLOR_YELLOW, "House exterior position configured.");
            }
            if(strcmp(house,"interior",true) == 0)
            {
                GetPlayerPos(playerid, pX, pY, pZ);
                SetPVarFloat(playerid, "pHiX", pX);
                SetPVarFloat(playerid, "pHiY", pY);
                SetPVarFloat(playerid, "pHiZ", pZ);
                SetPVarInt(playerid, "pHiID", GetPlayerInterior(playerid));
                SetPVarInt(playerid, "pHiVW", GetPlayerVirtualWorld(playerid));
                SetPVarInt(playerid, "hInt", 1);
                SendClientMessage(playerid, COLOR_YELLOW, "House interior position configured.");
            }
            if(strcmp(house,"complete",true) == 0)
            {
                if(GetPVarInt(playerid, "hExt") != 1 || GetPVarInt(playerid, "hInt") != 1)
                    return SendClientMessage(playerid, COLOR_RED, "You haven't configured either the house exterior or interior. Creation attempt failed.");

                new i = housess+1;
                mysql_format(SQL, query, sizeof(query), "INSERT INTO houses (Owner, Lockk, Hel, Arm, Level, Rentabil, Rent, Owned, Discription, Value, Takings) VALUES('AdmBot', '0', '0', '0', '10', '1', '500', '0', 'House', '10000000', '0')");
                mysql_tquery(SQL, query, "", "");

                HouseInfo[hID]                           = i;
                   HouseInfo[hEntrancex]                    = GetPVarFloat(playerid, "pHeX");
                HouseInfo[hEntrancey]                    = GetPVarFloat(playerid, "pHeY");
                 HouseInfo[hEntrancez]                    = GetPVarFloat(playerid, "pHeZ");
                HouseInfo[hExitx]                        = GetPVarFloat(playerid, "pHiX");
                HouseInfo[hExity]                        = GetPVarFloat(playerid, "pHiY");
                HouseInfo[hExitz]                        = GetPVarFloat(playerid, "pHiZ");
                format(HouseInfo[hOwner], 64, "AdmBot");
                format(HouseInfo[hDiscription], 64, "House");
                HouseInfo[hValue]                        = 10000000;
                HouseInfo[hHel]                          = 0;
                  HouseInfo[hArm]                          = 0;
                HouseInfo[hInterior]                     = GetPVarInt(playerid, "pHiID");
                HouseInfo[hLock]                         = 0;
                HouseInfo[hOwned]                        = 0;
                HouseInfo[hRent]                         = 500;
                HouseInfo[hRentabil]                     = 1;
                HouseInfo[hTakings]                      = 0;
                HouseInfo[hLevel]                        = 10;
                HouseInfo[hVirtual]                      = GetPVarInt(playerid, "pHiVW");

                mysql_format(SQL, query, sizeof(query), "UPDATE `houses` SET `Entrancex`='%f',`Entrancey`='%f',`Entrancez`='%f',`Exitx`='%f',`Exity`='%f',`Exitz`='%f',`Interior`='%d',`Virtual`='%d' WHERE `ID`='%d'",HouseInfo[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez],HouseInfo[hExitx],HouseInfo[hExity],HouseInfo[hExitz],HouseInfo[hInterior],HouseInfo[hVirtual],i);
                mysql_tquery(SQL,query,"","");

                DeletePVar(playerid, "pHeX");
                DeletePVar(playerid, "pHeY");
                DeletePVar(playerid, "pHeZ");
                DeletePVar(playerid, "pHiX");
                DeletePVar(playerid, "pHeY");
                DeletePVar(playerid, "pHeZ");
                DeletePVar(playerid, "pHiID");
                DeletePVar(playerid, "pHiVW");
                DeletePVar(playerid, "pExt");
                DeletePVar(playerid, "pInt");

                DestroyDynamic3DTextLabel(HouseLabel);
                format(PropertyString, sizeof(PropertyString),"{FFFFFF}House {FF0000}%d \n{FF0000}This house is for sale(/buyhouse) ! \n{FFFFFF}Owner: {FF0000}AdmBot\n{FFFFFF}Description: {FF0000}%s \n{FFFFFF}Price: {FF0000}$%s \n{FFFFFF}Level: {FF0000}%d",i,HouseInfo[hDiscription],FormatNumber(HouseInfo[hValue]),HouseInfo[hLevel]);
                HouseLabel = CreateDynamic3DTextLabel(PropertyString ,0x09FF00CC,HouseInfo[hEntrancex], HouseInfo[hEntrancey], HouseInfo[hEntrancez],25, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 100.0);
                DestroyDynamicPickup(HousePickup);
                HousePickup = CreateDynamicPickup(1273, 23, HouseInfo[hEntrancex], HouseInfo[hEntrancey], HouseInfo[hEntrancez]);

                SetPlayerInterior(playerid, 0);
                SetPlayerVirtualWorld(playerid, 0);
                SetPlayerPos(playerid, HouseInfo[hEntrancex], HouseInfo[hEntrancey], HouseInfo[hEntrancez]);
                housess++;
                format(string,sizeof(string),"House %d created!",i);
                SendClientMessage(playerid, COLOR_YELLOW, string);
            }
        }
        else return SendClientMessage(playerid, COLOR_ERROR, AdminOnly);
    }
    return 1;
}

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Nu am stat sa ma uit peste toata comanda da, dar din cate am inteles te da la alta iesire cand iesi din casa, nu? Daca da, vezi virtual world-ul casei sa fie altul fata de ce ai tu setat prin case. Am vazut ca iei virtual world-ul jucatorului, care e 0

SetPVarInt(playerid, "pHiVW", GetPlayerVirtualWorld(playerid));

sau nu am inteles eu bine?

Link to comment
Share on other sites

  • 0
Acum 5 ore, WopsS a spus:

Nu am stat sa ma uit peste toata comanda da, dar din cate am inteles te da la alta iesire cand iesi din casa, nu? Daca da, vezi virtual world-ul casei sa fie altul fata de ce ai tu setat prin case. Am vazut ca iei virtual world-ul jucatorului, care e 0


SetPVarInt(playerid, "pHiVW", GetPlayerVirtualWorld(playerid));

sau nu am inteles eu bine?

da asa este dupa ce am creato complet ma da la spawn-ul altei case si nu inteleg de-ce si de unde ar putea fii problema ce-a mai grava

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

Link to comment
Share on other sites

  • 0
Acum 3 minute, WopsS a spus:

Presupun ca verifici si virtual world-ul in care e jucatorul atunci cand vrei sa iasa, daca da pune alt virtual world pentru casa respectiva, nu cel in care e jucatorul (care e posibil sa fie 0).

te referi la for(new i = 1; i <  sizeof(HouseInfo); i++)
           {
               if (PlayerToPoint(2, playerid,HouseInfo[hExitx], HouseInfo[hExity], HouseInfo[hExitz]) && HouseInfo[hVirtual] == GetPlayerVirtualWorld(playerid))
               {
                   SetPlayerVirtualWorld(playerid,0);
                   SetPlayerInterior(playerid,0);
                   SetPlayerPosEx(playerid,HouseInfo[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez]);
                   PlayerInfo[playerid][pInt] = 0;
                   PlayerInfo[playerid][pLocal] = 255;
                   InHouse[playerid] = -1;
                   StopAudioStreamForPlayer(playerid);
               }
           }

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

Link to comment
Share on other sites

  • 0
9 minutes ago, Geani said:

te referi la for(new i = 1; i <  sizeof(HouseInfo); i++)
           {
               if (PlayerToPoint(2, playerid,HouseInfo[hExitx], HouseInfo[hExity], HouseInfo[hExitz]) && HouseInfo[hVirtual] == GetPlayerVirtualWorld(playerid))
               {
                   SetPlayerVirtualWorld(playerid,0);
                   SetPlayerInterior(playerid,0);
                   SetPlayerPosEx(playerid,HouseInfo[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez]);
                   PlayerInfo[playerid][pInt] = 0;
                   PlayerInfo[playerid][pLocal] = 255;
                   InHouse[playerid] = -1;
                   StopAudioStreamForPlayer(playerid);
               }
           }

Da.

Link to comment
Share on other sites

  • 0
Acum 7 ore, WopsS a spus:

Nu inteleg, daca nu era de la comanda ta, atunci de unde era?

am lasat aia asa

La 11.01.2017 la 18:10, Geani a spus:

te referi la for(new i = 1; i <  sizeof(HouseInfo); i++)
           {
               if (PlayerToPoint(2, playerid,HouseInfo[hExitx], HouseInfo[hExity], HouseInfo[hExitz]) && HouseInfo[hVirtual] == GetPlayerVirtualWorld(playerid))
               {
                   SetPlayerVirtualWorld(playerid,0);
                   SetPlayerInterior(playerid,0);
                   SetPlayerPosEx(playerid,HouseInfo[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez]);
                   PlayerInfo[playerid][pInt] = 0;
                   PlayerInfo[playerid][pLocal] = 255;
                   InHouse[playerid] = -1;
                   StopAudioStreamForPlayer(playerid);
               }
           }

si am refacut comanda din nou si am adaucat modelele la case in comanda si imi merge perfect acum if(ivInt == 1)IntPos[0] = 140.17, IntPos[1] = 1366.07, IntPos[2] = 1083.65, inter = 5;
                else if(ivInt == 2)IntPos[0] = 2324.53, IntPos[1] = -1149.54, IntPos[2] = 1050.71, inter = 12;

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

Link to comment
Share on other sites

  • 0
1 hour ago, Geani said:

am lasat aia asa

si am refacut comanda din nou si am adaucat modelele la case in comanda si imi merge perfect acum if(ivInt == 1)IntPos[0] = 140.17, IntPos[1] = 1366.07, IntPos[2] = 1083.65, inter = 5;
                else if(ivInt == 2)IntPos[0] = 2324.53, IntPos[1] = -1149.54, IntPos[2] = 1050.71, inter = 12;

Mai bine fai sa setezi virtual world-ul casei la comanda de creat.

  • Upvote 1
Link to comment
Share on other sites

  • 0
Acum 1 minut, WopsS a spus:

Mai bine fai sa setezi virtual world-ul casei la comanda de creat.

ok am sa tin cont si de varianta ta acum imi merge bine am create 57 de interioare in comanda si ruleaza cu succes am pus si un   printf si nu am nicio eroare sa imi provoace, poate pe viitor cand voi renoi tot system-ul am sa tin cont si de ce mi-ai zis multumesc !

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

Link to comment
Share on other sites

  • 0
2 hours ago, Geani said:

ok am sa tin cont si de varianta ta acum imi merge bine am create 57 de interioare in comanda si ruleaza cu succes am pus si un   printf si nu am nicio eroare sa imi provoace, poate pe viitor cand voi renoi tot system-ul am sa tin cont si de ce mi-ai zis multumesc !

Cu placere.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.