Szerző Téma: Bool probléma  (Megtekintve 706 alkalommal)

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Bool probléma
« Dátum: 2013. május 18. - 18:07:31 »
0 Show voters
Helló, 1 hónap pihenés és kevés fejlesztgetés után újból elkezdtem írni a filterscriptemet. Egy olyat akartam megoldani, hogy két helyen használom a SelectObjectet és végül OnPlayerSelectDynamicObjectnél ketté osztom a feladatoknak megfelelõen, és honnan tudhatom, hogy melyiket kellene elvégezze? Megadtam egy globális bool változónak egy igaz értéket kettõ között az eggyiknél  és az OnPlayerSelectDynamicObjectnél pedig if-el lekérdeztem ha a bool változó értéke igaz akkor teljesítsen az elsõnek, ellentétben pedig a másikat teljesítse. Ez oké is, a parancsnál jó a bool változó a selectnél is lefut, viszont a végén hiába igaz az elsõ, ha a másodikkal kezdem mindíg azt teljesíti és így van ez fordítva is.
A részek:
 

CMD:om(playerid,params[])
{
print(\" A parancsnal a bool lefut (om) \");
ShowPlayerDialog(playerid,DIALOG_2,DIALOG_STYLE_MSGBOX,\"Használat\",\"Az object másolása igen egyszerû, kilépés után ki kellesz válaszd melyik objectet akarod másolni, majd beállítod, mint az object editelésénél a helyét\",\"OK\",\"\");
return 1;
}
CMD:oe(playerid,params[])
{
teszt[playerid] = true;
print(\" A parancsnal a bool lefut (oe) \");
ShowPlayerDialog(playerid,DIALOG_3,DIALOG_STYLE_MSGBOX,\"Használat\",\"Az objectek editelése egyszerû feladat. Elõször válaszd ki az objectet amelyiket editelni akarod, majd a grafikus felületen szabd kedvedre!\",\"OK\",\"\");
return 1;
}

 
Ahol megadtam a bool változót. (Most nem írnám ki a dialogot mert abba amúgy is egy SendClientMessage + a SelectObject van mindkettõnél)
 
public OnPlayerSelectDynamicObject(playerid, objectid, modelid, Float:x, Float:y, Float:z)
{
if(teszt[playerid] == true)
{
print(\" A selectnel a bool lefut (oe) \");
SendClientMessage(playerid, -1, \" Sikeresen kiválasztottad az objectet, mostmár editelheted\");
EditDynamicObject(playerid,objectid);
}
if(teszt[playerid] == false)
{
print(\" A selectnel a bool lefut (om) \");
new Float: rx, Float: ry, Float:rz, WorldID, IntID, objid;
GetPlayerPos(playerid,x,y,z);
IntID = GetPlayerInterior(playerid);
WorldID = GetPlayerVirtualWorld(playerid);
objid = CreateDynamicObject( modelid, Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,WorldID,IntID, -1, 200.0);
EditDynamicObject(playerid, objid);
}
return 1;
}

 
És az OnPlayerSelectDynamicObjectnél az elválasztás.
És a végeredmény:
\"7rsjxha7mqwlpmsc2xl.png\"
Én több megoldást is próbáltam, két bool-al is, és hasonlók de eggyik se mûkött. Remélem valaki választ tud adni  problémára, nagyon hálás lennék érte. Ha alternatív megoldásokat tudtok amivel ugyan ezt érem el azt is szívesen meghallgatom és kipróbálom. Elõre is köszönöm szépen.  :)

Bool probléma
« Válasz #1 Dátum: 2013. május 19. - 12:09:28 »
+1 Show voters
Aha.
És valamikor nem állítod ennek az értékét false-ra nem csak true-ra, valahogy így?
 
teszt[playerid] = false;

 
Mert lehet kellene ahhoz hogy mûködjön a dolog.

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Bool probléma
« Válasz #2 Dátum: 2013. május 19. - 15:36:39 »
0 Show voters
Jézusom, ilyen egyszerû dolgon buktam be az egészet.  :D Ezer köszönet mindenért. Zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal