Szerző Téma: Hiba a scriptemben, de miért?  (Megtekintve 1683 alkalommal)

Nem elérhető .:Secur:.

  • 2430
  • GTA Hero
    • Profil megtekintése
Hiba a scriptemben, de miért?
« Dátum: 2011. november 16. - 15:40:58 »
0 Show voters
Üdvözletem!
Cole megmutatta, hogy hogyan kell csinálni ezt, hogy egy parancs beírására lemegy a víz alá az object x másodpercenként 1db.
Ez eddig szép és jó, sikerült de:
Fogalmam nincsen miért, de az object nem lefele indul el hanem szinte vízszintesen elmegy elõre felé, kicsit süllyed de elõrefelé elmegy ::|
Itt van, mi lehet a hiba?
[pawn]#include <a_samp>
#include <streamer>
new o1, o2; //itt van rengeteg, de most ennyit másolok be
forward objectleesik1();
forward objectleesik2();
public OnFilterScriptInit()
{
o1=CreateObject(3458,2705.39990234,483.20001221,0.00000000,0.00000000,0.00000000,82.00000000);
o2=CreateObject(3458,2710.50000000,482.50000000,0.00000000,0.00000000,0.00000000,81.99645996); //stb...
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/indul\", cmdtext, true, 10) == 0)
{
   SetTimer(\"objectleesik1\", 2500, false);
   return 1;
}
return 0;
}
public objectleesik1()
{
new Float: x, Float: y, Float:z;
GetObjectPos(o1, x, y, z);
MoveDynamicObject(o1, x, y, z-20, 6);
SetTimer(\"objectleesik2\", 1300, false);
}
public objectleesik2()
{
new Float: x, Float: y, Float:z;
GetObjectPos(o2, x, y, z);
MoveDynamicObject(o2, x, y, z-20, 6);
SetTimer(\"objectleesik3\", 1300, false);
}[/pawn]
ésígytovább...!!! következõnél    SetTimer(\"objectleesik4\", 1300, false);    mindig a következõnek számolja a timert...
Ja és amúgy 69 objectröl van szó.
Köszi elõre is a segítséget.
« Utoljára szerkesztve: 2011. november 17. - 15:13:52 írta .:Secur:. »

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Hiba a scriptemben, de miért?
« Válasz #1 Dátum: 2011. november 16. - 16:26:36 »
0 Show voters
esetleg:
SetTimer(\"objectleesik1\", 2500, true);
+ nem kell return itt: public objectleesik1()
Bár nem biztos hogy ettõl jó lesz

Nem elérhető .:Secur:.

  • 2430
  • GTA Hero
    • Profil megtekintése
Hiba a scriptemben, de miért?
« Válasz #2 Dátum: 2011. november 16. - 18:34:49 »
0 Show voters
nem jó megoldás, de azt vettem észre, hogy a -20-as koordinátáig megy el, tehát... lehet tudom hogyan kell megcsinálni.

Hiba a scriptemben, de miért?
« Válasz #3 Dátum: 2011. november 16. - 18:47:11 »
0 Show voters
Próbáld GetDynamicObjectPos -al.

Nem elérhető .:Secur:.

  • 2430
  • GTA Hero
    • Profil megtekintése
Hiba a scriptemben, de miért?
« Válasz #4 Dátum: 2011. november 16. - 19:36:55 »
0 Show voters
Ez hogy függ össze?

Hiba a scriptemben, de miért?
« Válasz #5 Dátum: 2011. november 16. - 19:56:25 »
+1 Show voters
Ez a CreateDynamicObject miatt van. Csináld az egészet CreateObject-el, MoveObject-el, stb. Nemtom miért csinálja ezt, de nekem is ezt csinálta a dynamicobject-es megoldással (hasonló script mint ez (Don\'t Get Wet FS))

Hiba a scriptemben, de miért?
« Válasz #6 Dátum: 2011. november 16. - 19:57:30 »
+2 Show voters
Talán azért mert alap objectek id sorszáma nem egyezhet a dynamic objectekével.
Mivel a dyanmic objectek száma elég sok lehet, míg a samp objecteké 0.3d esetében 1000 maximum.
Ezért object függvényeket nem kell keverni egymással.
Ha dynamic objectrõl van szó akkor azokat az eljárásokat kell használni amik a streamer.inc-ben szerepelnek. (nem kell keverni az alap samp object függvényeivel.)
Másik része a dolognak hogy a CreateDynamicObject az a CreatePlayerObject native funkcióval hozza létre az objecteket ezért azoknak az objecteknek adatainak lekérdezése a CreatePlayerObjectPos eljárással kérdezhetõ le.
Vedd úgy ezeket a függvényeket hogy párosítva vannak. CreatePlayer  Create és CreateDynamic (streamer plugin).
[pawn]CreatePlayerObject(...
GetPlayerObjectPos(...[/pawn]
[pawn]CreateDynamicObject(...
GetDynamicObjectPos(...[/pawn]
[pawn]CreateObject(..
GetObjectPos(...[/pawn]

Nem elérhető .:Secur:.

  • 2430
  • GTA Hero
    • Profil megtekintése
Hiba a scriptemben, de miért?
« Válasz #7 Dátum: 2011. november 16. - 20:28:10 »
0 Show voters
Ez valószínûleg megoldja a problémám!
Köszönöm...

Dupla hozzászólás automatikusan összefûzve. ( 2011. november 17. - 15:09:46 )

Hát, mostmár nem mozdulnak sehova az objectek...  :\'(
Raktam még pár objectet hozzá, meg frissítettem!
A fõpostban van az új kód...
« Utoljára szerkesztve: 2011. november 17. - 15:09:46 írta .:Secur:. »

Hiba a scriptemben, de miért?
« Válasz #8 Dátum: 2011. november 17. - 16:24:39 »
0 Show voters
Hiába ír neked az ember bármit is?
[pawn]#include <a_samp>
#include <streamer>
new
o[2];
forward objectleesik1();
forward objectleesik2();
public OnFilterScriptInit()
{
o[0]=CreateDynamicObject(3458,2705.39990234,483.20001221,0.00000000,0.00000000,0.00000000,82.00000000);
o[1]=CreateDynamicObject(3458,2710.50000000,482.50000000,0.00000000,0.00000000,0.00000000,81.99645996); //stb...
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/indul\", cmdtext, true) == 0)
{
   SendClientMessage(playerid, -1, \"Objectek mozgatása elindítva\");
   SetTimer(\"objectleesik1\", 2500, false);
   return 1;
}
if(strcmp(\"/vissza\", cmdtext, true) == 0)
{
   SendClientMessage(playerid, -1, \"Objectek visszaállítása.\");
   MoveDynamicObject(o[0], 2705.39990234,483.20001221,0.00000000, 10);
   MoveDynamicObject(o[1], 2710.50000000,482.50000000,0.00000000, 10);
   return 1;
}
return 0;
}
public objectleesik1()
{
new Float: x, Float: y, Float:z;
GetDynamicObjectPos(o[0], x, y, z);
MoveDynamicObject(o[0], x, y, z-20, 6);
SetTimer(\"objectleesik2\", 1300, false);
}
public objectleesik2()
{
new Float: x, Float: y, Float:z;
GetDynamicObjectPos(o[1], x, y, z);
MoveDynamicObject(o[1], x, y, z-20, 6);
SetTimer(\"objectleesik3\", 1300, false);
}[/pawn]

Nem elérhető .:Secur:.

  • 2430
  • GTA Hero
    • Profil megtekintése
Hiba a scriptemben, de miért?
« Válasz #9 Dátum: 2011. november 17. - 21:27:53 »
0 Show voters
1. CreateObject-be van rakva!
2. ezzel mivel lesz jobb? [] semmivel.

Hiba a scriptemben, de miért?
« Válasz #10 Dátum: 2011. november 17. - 22:52:03 »
0 Show voters
Idézetet írta: .:Secur:. date=1321561673\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"13445\" data-ipsquote-contentclass=\"forums_Topic
1. CreateObject-be van rakva!
2. ezzel mivel lesz jobb? [] semmivel.
 
Esetleg kipróbálnád úgy ahogy átírtam az egészet és nem kritizálnál lehet többre jutnál, nem csak annyi benne a változás amit te észrevettél.
Ha CreateObjectbe rakod az objecteket akkor meg használd a MoveObject funkciót és ne a MoveDynamicObjectet.
« Utoljára szerkesztve: 2011. november 18. - 11:28:52 írta Zsolesszka »

g_szColumnData

  • Vendég
Hiba a scriptemben, de miért?
« Válasz #11 Dátum: 2011. november 18. - 05:29:45 »
0 Show voters
« Utoljára szerkesztve: 2011. november 18. - 05:32:04 írta g_szColumnData »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal