Jump to content
  • 0

problema comada createhouse


Question

Posted

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

12 answers to this question

Recommended Posts

  • 0
Posted

imi explica si mie sau ramane asa ;)

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

  • 0
  • Administrator
Posted

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?

  • 0
Posted
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

  • 0
  • Administrator
Posted

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).

  • Upvote 1
  • 0
Posted
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

  • 0
  • Administrator
Posted
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.

  • 0
Posted
Acum 12 ore, WopsS a spus:

Da.

nu era problema de acolo si de-la comanda createhouse am rezolvato acuma multumesc!

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

  • 0
  • Administrator
Posted
4 hours ago, Geani said:

nu era problema de acolo si de-la comanda createhouse am rezolvato acuma multumesc!

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

  • 0
Posted
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

  • 0
  • Administrator
Posted
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
  • 0
Posted
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

  • 0
  • Administrator
Posted
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.

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.