GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: .:Secur:. - 2011. november 16. - 15:40:58

Cím: Hiba a scriptemben, de miért?
Írta: .:Secur:. - 2011. november 16. - 15:40:58
Ü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.
Cím: Hiba a scriptemben, de miért?
Írta: Sheet - 2011. november 16. - 16:26:36
esetleg:
SetTimer(\"objectleesik1\", 2500, true);
+ nem kell return itt: public objectleesik1()
Bár nem biztos hogy ettõl jó lesz
Cím: Hiba a scriptemben, de miért?
Írta: .:Secur:. - 2011. november 16. - 18:34:49
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.
Cím: Hiba a scriptemben, de miért?
Írta: Zsolesszka - 2011. november 16. - 18:47:11
Próbáld GetDynamicObjectPos -al.
Cím: Hiba a scriptemben, de miért?
Írta: .:Secur:. - 2011. november 16. - 19:36:55
Ez hogy függ össze?
Cím: Hiba a scriptemben, de miért?
Írta: staubka - 2011. november 16. - 19:56:25
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))
Cím: Hiba a scriptemben, de miért?
Írta: Zsolesszka - 2011. november 16. - 19:57:30
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]
Cím: Hiba a scriptemben, de miért?
Írta: .:Secur:. - 2011. november 16. - 20:28:10
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...
Cím: Hiba a scriptemben, de miért?
Írta: Zsolesszka - 2011. november 17. - 16:24:39
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]
Cím: Hiba a scriptemben, de miért?
Írta: .:Secur:. - 2011. november 17. - 21:27:53
1. CreateObject-be van rakva!
2. ezzel mivel lesz jobb? [] semmivel.
Cím: Hiba a scriptemben, de miért?
Írta: Zsolesszka - 2011. november 17. - 22:52:03
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.
Cím: Hiba a scriptemben, de miért?
Írta: g_szColumnData - 2011. november 18. - 05:29:45
night-fallout.pwn ( 36,0 KB )