new obj1;
new obj2;
obj1 = CreateObject(968, 351.931915, -1781.162720, 5.426754, 0.000000, 0.000000, 0.000000); // Gate1
obj2 = CreateObject(968, 352.098083, -1781.130127, 5.191676, 0.000000, 270.25364954, -178.954199984); // Gate 2
if(strcmp(\"/parancsamimozgatjaakaput\", cmdtext, true) == 0)
{
if(IsPlayerAdmin(playerid))
{
MoveObject(obj1, x, y, z, ido); // Az x, y, z az a koordináta ahova a kapu mozogjon
}
return 1;
}
#include <a_samp>
new kapu;
public OnFilterScriptInit( )
{
kapu = CreateObject(968, 351.931915, -1781.162720, 5.426754, 0.000000, 0.000000, 0.000000); // Gate1
return 1;
}
public OnFilterScriptExit( )
{
DestroyObject(kapu);
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/nyit\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 351.931915, -1781.162720, 5.426754, 2); // 2 a sebessége
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
if(!strcmp(\"/zár\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 352.098083, -1781.130127, 5.191676, 2);
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
return 0;
}
O, kaptam egy ilyen error hibát :DNem definiáltad a lift-et...egyszeruen csak ahol használod csinálj egy ilyet:
E:\\GTASAMP\\gamemodes\\samp.pwn(744) : error 017: undefined symbol \"lift\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
new lift;
Nem definiáltad a lift-et...egyszeruen csak ahol használod csinálj egy ilyet:
O, kaptam egy ilyen error hibát :D
E:\\GTASAMP\\gamemodes\\samp.pwn(744) : error 017: undefined symbol \"lift\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
new lift;
[/quote]
Minek hozza létre fölöslegesen ? :o
DestroyObject(lift);
Csak itt van használatban, de ez se tudom mit szeretne eltávolítani.? :neutral:
\" \" Alien nem jól fejezte be, az átírást... :)
@szileni
Ne hozd létre fölöslegesen, elég ha ezt átírod.:
DestroyObject(lift); -> erre DestroyObject( kapu );
A gondod, pedig abból ered, hogy nem a \'nyitott\' állapotban hoztad létre az objectet, hanem mikor zárva van.
Tehát így nézne ki:
#include <a_samp>
new kapu;
public OnFilterScriptInit( )
{
kapu = CreateObject(968, 352.098083, -1781.130127, 5.191676, 0.000000, 0.000000, 0.000000); // Gate1
return 1;
}
public OnFilterScriptExit( )
{
DestroyObject( kapu );
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/nyit\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 351.931915, -1781.162720, 5.426754, 2); // 2 a sebessége
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
if(!strcmp(\"/zár\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 352.098083, -1781.130127, 5.191676, 2);
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
return 0;
}
Így biztos jónnak kell lennie. ;)
#include <a_samp>
new kapu;
public OnFilterScriptInit() return kapu = CreateObject(968, 352.098083, -1781.130127, 5.191676, 0.000000, 0.000000, 0.000000);
public OnFilterScriptExit() return DestroyObject(kapu);
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/kapu-nyit\", cmdtext, true))
{
if(IsPlayerAdmin(playerid)) return MoveObject(kapu, 351.931915, -1781.162720, 5.426754, 2);
else SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
return 1;
}
if(!strcmp(\"/kapu-zár\", cmdtext, true))
{
if(IsPlayerAdmin(playerid)) return MoveObject(kapu, 352.098083, -1781.130127, 5.191676, 2);
else SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
return 1;
}
return 0;
}
[/quote]
Nem definiáltad a lift-et...egyszeruen csak ahol használod csinálj egy ilyet:
O, kaptam egy ilyen error hibát :D
E:\\GTASAMP\\gamemodes\\samp.pwn(744) : error 017: undefined symbol \"lift\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
new lift;
[/quote]
Minek hozza létre fölöslegesen ? :o
DestroyObject(lift);
Csak itt van használatban, de ez se tudom mit szeretne eltávolítani.? :neutral:
\" \" Alien nem jól fejezte be, az átírást... :)
@szileni
Ne hozd létre fölöslegesen, elég ha ezt átírod.:
DestroyObject(lift); -> erre DestroyObject( kapu );
A gondod, pedig abból ered, hogy nem a \'nyitott\' állapotban hoztad létre az objectet, hanem mikor zárva van.
Tehát így nézne ki:
#include <a_samp>
new kapu;
public OnFilterScriptInit( )
{
kapu = CreateObject(968, 352.098083, -1781.130127, 5.191676, 0.000000, 0.000000, 0.000000); // Gate1
return 1;
}
public OnFilterScriptExit( )
{
DestroyObject( kapu );
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/nyit\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 351.931915, -1781.162720, 5.426754, 2); // 2 a sebessége
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
if(!strcmp(\"/zár\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 352.098083, -1781.130127, 5.191676, 2);
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
return 0;
}
Így biztos jónnak kell lennie. ;)
[/quote]
Igaz elnézést csak az utolsó HSZ-t néztem :/
#include <a_samp>
new kapu;
public OnFilterScriptInit( )
{
kapu = CreateObject(968, 351.931915, -1781.162720, 5.426754, 0.000000, 0.000000, 0.000000); // Gate1
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/nyit\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 351.931915, -1781.162720, 5.426754, 2); // 2 a sebessége
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
if(!strcmp(\"/zár\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 352.098083, -1781.130127, 5.191676, 2);
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
return 0;
}
#include <a_samp>
new kapu;
public OnPlayerGameModeInit( )
{
kapu = CreateObject(968, 351.931915, -1781.162720, 5.426754, 0.000000, 0.000000, 0.000000); // Gate1
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[ ] )
{
if(!strcmp(\"/nyit\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 351.931915, -1781.162720, 5.426754, 2); // 2 a sebessége
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
if(!strcmp(\"/zár\", cmdtext, true) )
{
if( IsPlayerAdmin( playerid ) )
{
MoveObject(kapu, 352.098083, -1781.130127, 5.191676, 2);
}
else
{
SendClientMessage(playerid, 0xFF3366FF, \"Nem vagy admin!\");
}
return 1;
}
return 0;
}
Az a lényeg hogy amit küldtetek az jó. Az a baj hogy nem mutatja az objectet...De mibe raktad amit leírtunk?? GameMódba, v. Script-be?
kapu = CreateObject(968, 351.931915, -1781.162720, 5.426754, 0.000000, 0.000000, 0.000000); // Gate1
Oda tettem ahova mondtátok.Nem írtad el a koordinátát?:D
Na ismét egy gubanc :D
Most meg az a baj hogy nem csukódik be xD
Spatrik\" post=\"9044\" timestamp=\"1238062909\"]
Sziasztok! Most leírom nektek, hogyan kell MoveObjectet (mozgatható objectet) készíteni lépésekre bontva. Most egy egyszeru példával fogom nektek bemutatni, hogyan is kell használni. Akkor hát, csináljunk liftet!
1., Elso lépésként le kell mentenünk 2 objectet. Ezt megtehetjük az MTA-ban vagy más object lerakó scriptel. Azért kell 2 objectet lerakni mert az egyik az object alaphelyzete, azaz amikor beindul a szerver akkor itt áll a lift (vagy úgy is mondhatjuk, hogy /close parancs kapuknál). A 2. object pedig azt az objectet mutatja amely már a lift felemelt pozícióját mutatja. (kapuknál /open parancs). Ha ezzel megvagyunk mehetünk a 2. pontra.
2., Ha megvagyunk az object lerakással átkonvertáltuk meg minden akkor megkapjuk az objectet:CreateObject(18553, 226.433655, 1872.436768, 14.026321, 0.0000, 0.0000, 180.0000);
Nos a továbbiakban az objectet így fogom jelölni:
CreateObject(modelid, X, Y, Z, rX, rY, rZ);
Na, ha ezzel megvagyunk akkor azt az objectet rakjuk be elsonek amelyik az alap helyzeten áll (/close parancs).
Így rakjuk be:
Ha gamemódba rakjuk:
public OnGameModeInit()
{
CreateObject(modelid, X, Y, Z, rX, rY, rZ);
return 1;
}
Ha filterscriptbe rakjuk:
public OnFilterScriptInit()
{
CreateObject(modelid, X, Y, Z, rX, rY, rZ);
return 1;
}
Ha megvagyunk elkezdhetjük a MoveObjectet csinálni. Go 3-as pont!
3., Elso lépésként meg kell neveznünk az objectet. Ezért létre kell hoznunk \"az object nevét\". A mód elejére írjuk:
new lift;
Majd odaugrunk ahová a 2. pontban az objectet beillesztettük és átírjuk a sort erre:
lift = CreateObject(modelid, X, Y, Z, rX, rY, rZ);
Azaz így néz ki:
Ha gamemódba raktuk:
public OnGameModeInit()
{
lift = CreateObject(modelid, X, Y, Z, rX, rY, rZ);
return 1;
}
Ha filterscriptbe raktuk:
public OnFilterScriptInit()
{
lift = CreateObject(modelid, X, Y, Z, rX, rY, rZ);
return 1;
}
Most hogy megneveztük az objectet, létrehozzuk azt a parancsot ami mozgatni fogja. Leugrunk az OnPlayerCommandText függvényhez és beírjuk a parancsot:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/lift1-fel\", true) == 0)
{
MoveObject(lift, X, Y, Z, sebesség);
return 1;
}
return 0;
}
Itt ahogy látjátok a /lift-fel parancsot adtam. Ami azt jelenti, hogy a MoveObject(lift, X, Y, Z, sebesség); -ben szereplo X, Y, Z koordinátát le kell cserélni arra az X, Y? Z koordinátára ami a 2. objectben található, azaz, azaz object ami a lift felemelt pozícióját mutatja.
Megjegyzés: CreateObject(modelid, X, Y, Z, rX, rY, rZ);
MoveObject(lift, X, Y, Z, sebesség);
Ha mehvagyunk ezzel akkor, be kell állítanunk a sebességet:
MoveObject(lift, X, Y, Z, sebesség);
Ezt a sebességet lifteknél, hogy ne essünk ki belole 2-re szokás állítani de kapuknál elérheti az 5-ös sebességet is. pl:
MoveObject(lift, X, Y, Z, 2);
Ha megvagyunk a koordináták bemásolásával és a sebesség megadásával is akkor csak az object nevét kell megadnunk amit mozgatni fog. Pl:
lift = CreateObject(modelid, X, Y, Z, rX, rY, rZ);
MoveObject(lift, X, Y, Z, sebesség);
Ha mind ezzel megvagyunk akkor megcsináljuk a lefele utat is. Létrehozunk egy /lift-le parancsot a lift lefele mozgatásához:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/lift-fel\", true) == 0)
{
MoveObject(lift, X, Y, Z, sebesség);
return 1;
}
if(strcmp(cmdtext, \"/lift-le\", true) == 0)
{
MoveObject(lift, X, Y, Z, sebesség);
return 1;
}
return 0;
}
A lefele mozgató parancsnál az X, Y, Z koordináta helyére az eredeti koordinátákat kell megadni. Azaz ezeket:
public OnGameModeInit() // vagy filterscriptnél: OnFilterScriptInit()
{
lift = CreateObject(modelid, X, Y, Z, rX, rY, rZ);
return 1;
}
Majd rendesen beállítjuk a sebességet az object nevét is beírjuk. Ha mindezeket megcsináltuk akkor kész van egy komplett lift.
Végül egy példa:
#include <a_samp>
#define FILTERSCRIPT
#if defined FILTERSCRIPT
new lift;
public OnFilterScriptInit()
{
lift = CreateObject(18553, 226.433655, 1872.436768, 14.026321, 0.0000, 0.0000, 180.0000);
return 1;
}
#else
public OnGameModeInit()
{
lift = CreateObject(18553, 226.433655, 1872.436768, 14.026321, 0.0000, 0.0000, 180.0000);
return 1;
}
#endif
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/lift-fel\", true) == 0)
{
MoveObject(lift, 226.433655, 1872.436768, 11.401323, 2.0);
return 1;
}
if(strcmp(cmdtext, \"/lift-le\", true) == 0)
{
MoveObject(lift, 226.433655, 1872.436768, 14.026321, 2.0);
return 1;
}
return 0;
}
[/quote]
forward OnPlayerUpdate(playerid);
\"gArmySpawns\"Ezek a gl_spawns.inc-ben vannak létrehozva a grandlarc játákmódhoz. Ne ágyazd be a gl_spawns.inc-t és eltunnek.
\"gMedicalSpawns\"
\"gPoliceSpawns\"
Ez a három warning érthetetlen :/
\"gArmySpawns\"Lásd:
\"gMedicalSpawns\"
\"gPoliceSpawns\"
Letöltés:http://data.hu/get/2369804/grandlarc.pwn.html
[/quote]
forward OnPlayerUpdate(playerid);
Ezeket nem hozta létre.
Lásd:
\"gArmySpawns\"
\"gMedicalSpawns\"
\"gPoliceSpawns\"
Letöltés:http://data.hu/get/2369804/grandlarc.pwn.html
[/quote]
[/quote]
Épp ez az, hogy a gl_spawns.inc fájlban létre van hozva és o nem használja, leírtam már.
KÉRLEK NE VÁLASZOLJ, HA MÁR ELOTTED KETTEN IS VÁLASZOLTAK (pontosan)! (foleg ha nem igaz, amit mondasz!)
Ezeket nem hozta létre.
Lásd:
\"gArmySpawns\"
\"gMedicalSpawns\"
\"gPoliceSpawns\"
Letöltés:http://data.hu/get/2369804/grandlarc.pwn.html
[/quote]
[/quote]
Épp ez az, hogy a gl_spawns.inc fájlban létre van hozva és o nem használja, leírtam már.
[/quote]
Iceaac:Tudom, Vampesznek írtam.
szileni: máskor szólj hogy 0.2-nél vagy lemaradva.
(AMÚGY MÁR MEGJLENT A 0.3 IS. ;) )