Szerző Téma: Pickup hiba  (Megtekintve 1111 alkalommal)

Pickup hiba
« Dátum: 2016. július 04. - 17:06:10 »
0 Show voters
Sziasztok.
Ház rendszert irogatok, és azt szeretném megoldani, ha egy játékos bemegy a ház pickupjába hozzon be egy dialogot. Megírtam, de semmi, semmit sem csinál.  :facepalm: :confused:
Itt amit remekeltem:
Itt amit remekeltem:
 

public OnPlayerPickUpDynamicPickup(playerid, pickupid)
{
     new houseid = GetHouseID(playerid);
    if(pickupid == HousePickup[houseid])
{
    if(Ugyanaz(hInfo[houseid][hTulaj],GetName(playerid)))
    {
       new S[128];
      format(S,sizeof(S),\"Házszám:%d | Tulajdonos :%s\",hInfo[houseid][hID],hInfo[houseid][hTulaj]);
      new S2[128];
      format(S2,sizeof(S2),\"Belép\\nElad(%.2f)\",(hInfo[houseid][hAr] * 77) / 100);
        ShowPlayerDialog(playerid,550,DIALOG_STYLE_LIST,S,S2,\"Rendben\",\"Mégsem\");
           }
}
return 1;
}
stock GetHouseID(playerid)
{
new result = -1;
for(new i;i<MAX_HOUSES;i++)
{
    if(IsPlayerInRangeOfPoint(playerid, 2.0, hInfo[hX], hInfo[hY], hInfo[hZ]))
{
   result = i;
    break;
    }
}
return result;
}
« Utoljára szerkesztve: 2016. július 04. - 19:03:03 írta anGeL »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Pickup hiba
« Válasz #1 Dátum: 2016. július 04. - 19:55:29 »
0 Show voters
A pickupnak nem kell kulon valtozo. Tedd be a hPickupot a hInfo valtozo enumatoraba es nem fog kavarodni.

Pickup hiba
« Válasz #2 Dátum: 2016. július 04. - 21:30:58 »
0 Show voters
Ok és? Továbbra sem működik, lehet én nem tudom felfogni az egészet :S
 

public OnPlayerPickUpPickup(playerid, pickupid)
{
    new houseid = GetHouseID(playerid);
if(pickupid == hInfo[houseid][hPickup])
{
    if(Ugyanaz(hInfo[houseid][hTulaj],GetName(playerid)))
    {
       new S[128];
   format(S,sizeof(S),\"Házszám:%d | Tulajdonos :%s\",hInfo[houseid][hID],hInfo[houseid][hTulaj]);
   new S2[128];
   format(S2,sizeof(S2),\"Belép\\nElad(%.2f)\",(hInfo[houseid][hAr] * 77) / 100);
        ShowPlayerDialog(playerid,550,DIALOG_STYLE_LIST,S,S2,\"Rendben\",\"Mégsem\");
        
}
printf(\"%d\",houseid);
}
    return 1;
}

 
Házbetöltésnél adom meg az értéket a hInfo[houseid][hPickup]-nak:
 

                 if(hInfo[hSell] == 0)
         {
             new S[128];
             format(S,sizeof(S),\"{00FF00}ELADÓ HÁZ\\nHázszám: %d\\nÁr: %d Ft\\n((/hazvesz))\",hInfo[hID],hInfo[hAr]);
   HouseLabel = Create3DTextLabel(S, 0x13f034AA, hInfo[hX], hInfo[hY], hInfo[hZ], 20.0, 0, 1);
   HousePickup = CreatePickup(1273, 0, hInfo[hX], hInfo[hY], hInfo[hZ], -1);
   hInfo[hPickup] = HousePickup;
         }
         if(hInfo[hSell] == 1)
         {
             new S[128];
             format(S,sizeof(S),\"{00FF00}Tulajdonos: %s\\nHázszám: %d\",hInfo[hTulaj], hInfo[hID]);
   HouseLabel = Create3DTextLabel(S, 0x13f034AA, hInfo[hX], hInfo[hY], hInfo[hZ], 20.0, 0, 1);
   HousePickup = CreatePickup(1272, 0, hInfo[hX], hInfo[hY], hInfo[hZ], -1);
   hInfo[hPickup] = HousePickup;
         }

 
Lehet én vagyok hozzá hülye. Ha igyen bocsi  :crazy:
« Utoljára szerkesztve: 2016. július 04. - 22:52:39 írta anGeL »

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Pickup hiba
« Válasz #3 Dátum: 2016. július 04. - 21:59:29 »
0 Show voters
Előszőr is ez a sor fölösleges :
 
hInfo[hPickup] = HousePickup;

 
Simán lehet hInfo[hPickup] = createDynamic stb.

Másodszor, Ha Dynamic pickupot kérdezel le, akkor miért nem azt hozol létre?



CreatePickup(1272, 0, hInfo[hX], hInfo[hY], hInfo[hZ], -1);

 

Helyett



CreateDynamicPickup

Pickup hiba
« Válasz #4 Dátum: 2016. július 04. - 22:26:47 »
0 Show voters
oké, viszont így se hoz be semmit, ha belemegyek bármely ház pickupjába :(

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Pickup hiba
« Válasz #5 Dátum: 2016. július 05. - 10:49:31 »
0 Show voters
Az én ház rendszerembe így van :
 

HazPickup[id] = CreateDynamicPickup(1273,1,hInfo[id][h_x],hInfo[id][h_y],hInfo[id][h_z],0);

 

public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i = 0; i < hazszam; i++)
{
if(pickupid == HazPickup)
{
   ShowPlayerDialog(playerid,.....);
}
}
return 1;
}

 
És nekem ez tökéletesen müködik

Pickup hiba
« Válasz #6 Dátum: 2016. július 05. - 21:53:22 »
0 Show voters
:facepalm: :facepalm: :facepalm: :facepalm:
Hát én nagyon nem értem nekem mért a francokért nem megy :(
 

public OnPlayerPickUpPickup(playerid, pickupid)
{
    for(new i = 0; i < MAX_HOUSES; i++)
{
        if(pickupid == hInfo[hPickup])
        {
    if(Ugyanaz(hInfo[hTulaj],GetName(playerid)))
    {
       new S[128];
      format(S,sizeof(S),\"Házszám:%d | Tulajdonos :%s\",hInfo[hID],hInfo[hTulaj]);
      new S2[128];
      format(S2,sizeof(S2),\"Belép\\nElad(%.2f)\",(hInfo[hAr] * 77) / 100);
        ShowPlayerDialog(playerid,550,DIALOG_STYLE_LIST,S,S2,\"Rendben\",\"Mégsem\");
   }
   else
   {
       new S[128];
      format(S,sizeof(S),\"Házszám:%d | Tulajdonos :%s\",hInfo[hID],hInfo[hTulaj]);
      new S2[128];
      format(S2,sizeof(S2),\"Belép\");
        ShowPlayerDialog(playerid,550,DIALOG_STYLE_LIST,S,S2,\"Rendben\",\"Mégsem\");
   }
   printf(\"%d\",hInfo[hID]);
}
}
    return 1;
}
« Utoljára szerkesztve: 2016. július 05. - 22:08:31 írta anGeL »

Nem elérhető anGeL

  • Adminisztrátor
  • 2158
    • Profil megtekintése
Pickup hiba
« Válasz #7 Dátum: 2016. július 05. - 22:09:01 »
0 Show voters
[gmod]Utolsó alkalom volt hogy kiraktam a pawn taget, legközelebb figyelmeztetést kapsz!  :nono:[/gmod]

Pickup hiba
« Válasz #8 Dátum: 2016. július 05. - 22:28:15 »
0 Show voters
Újúj, bocsi  :whistle: :( elfelejtettem  :-X
 
Kód: (pawn) [Kijelölés]

 :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal