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: siklosikrisz - 2013. november 18. - 19:20:48

Cím: Mozgó objekt
Írta: siklosikrisz - 2013. november 18. - 19:20:48
Üdv!
Van egy objektem.
Hogy oldjam meg ,hogy :
Van Pl 5 db pozició.
Ha beírom hogy /mozog1 akkor az objekt az elsõ pozicióhoz mozog..ha /mozog2 akkor a másodikhoz..Értelemszerûen ugyan úgy a többi.
De ezt csak egy adott sugárban és magasságban lehessen beírni.
Cím: Mozgó objekt
Írta: BoOy - 2013. november 18. - 19:49:07
Szia. lehet hogy egy kicsit nehezebben de röviden csináltam meg  ;)
 
#include <a_samp>
#include <zcmd>
#include <sscanf2>
new OID;
new Float:Positions[][] = {
{0.0,0.0,0.0},//Elsõ hely pozíció
{0.0,0.0,0.0},//Második hely pozíció
{0.0,0.0,0.0}//Harmadik hely pozíció
};
public OnFilterScriptInit()
{
OID = CreateObject(324,Positions[0][0],Positions[0][1],Positions[0][2],0.0,0.0,0.0);//Az object..
return 1;
}
CMD:mozog(playerid,params[])
{
new pos;
if(sscanf(params,\"d\",pos)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /mozog [tárgy helyének elmozgatása 0-3]\");
if(!IsPlayerInRangeOfPoint(playerid,4.0,/*Ide írod be az adott pozíciót*/))return SendClientMessage(playerid,-1,\"Nem vagy az adott helyen!\");
MoveObject(OID,Positions[pos-1][0],Positions[pos-1][1],Positions[pos-1][2], 3.00);
return 1;
}
Cím: Mozgó objekt
Írta: Pedró - 2013. november 18. - 19:53:11

Szia. lehet hogy egy kicsit nehezebben de röviden csináltam meg  ;)
 
#include 
#include
#include
new OID;
new Float:Positions[][] = {
{0.0,0.0,0.0},//Elsõ hely pozíció
{0.0,0.0,0.0},//Második hely pozíció
{0.0,0.0,0.0}//Harmadik hely pozíció
};
public OnFilterScriptInit()
{
OID = CreateObject(324,Positions[0][0],Positions[0][1],Positions[0][2],0.0,0.0,0.0);//Az object..
return 1;
}
CMD:mozog(playerid,params[])
{
new pos;
if(sscanf(params,\"d\",pos)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /mozog [tárgy helyének elmozgatása 0-3]\");
if(!IsPlayerInRangeOfPoint(playerid,4.0,/*Ide írod be az adott pozíciót*/))return SendClientMessage(playerid,-1,\"Nem vagy az adott helyen!\");
MoveObject(OID,Positions[pos-1][0],Positions[pos-1][1],Positions[pos-1][2], 3.00);
return 1;
}

 

[/quote]
Helyesbítenék:
 
#include 
#include
#include
new OID;
new Float:Positions[][] = {
{0.0,0.0,0.0},//Elsõ hely pozíció
{0.0,0.0,0.0},//Második hely pozíció
{0.0,0.0,0.0}//Harmadik hely pozíció
};
public OnFilterScriptInit()
{
OID = CreateObject(324,Positions[0][0],Positions[0][1],Positions[0][2],0.0,0.0,0.0);//Az object..
return 1;
}
CMD:mozog(playerid,params[])
{
new pos;
if(sscanf(params,\"d\",pos)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /mozog [tárgy helyének elmozgatása 0-3]\");
       if(!(-1 < pos =< sizeof(Positions))) return SendClientMessage(playerid, 0xFF0000AA, \"Hibás érték!\");
if(!IsPlayerInRangeOfPoint(playerid,4.0,/*Ide írod be az adott pozíciót*/))return SendClientMessage(playerid,-1,\"Nem vagy az adott helyen!\");
MoveObject(OID,Positions[pos][0],Positions[pos][1],Positions[pos][2], 3.00);
return 1;
}
Cím: Mozgó objekt
Írta: BoOy - 2013. november 18. - 19:57:19

 

Szia. lehet hogy egy kicsit nehezebben de röviden csináltam meg  ;)
 
#include 
#include
#include
new OID;
new Float:Positions[][] = {
{0.0,0.0,0.0},//Elsõ hely pozíció
{0.0,0.0,0.0},//Második hely pozíció
{0.0,0.0,0.0}//Harmadik hely pozíció
};
public OnFilterScriptInit()
{
OID = CreateObject(324,Positions[0][0],Positions[0][1],Positions[0][2],0.0,0.0,0.0);//Az object..
return 1;
}
CMD:mozog(playerid,params[])
{
new pos;
if(sscanf(params,\"d\",pos)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /mozog [tárgy helyének elmozgatása 0-3]\");
if(!IsPlayerInRangeOfPoint(playerid,4.0,/*Ide írod be az adott pozíciót*/))return SendClientMessage(playerid,-1,\"Nem vagy az adott helyen!\");
MoveObject(OID,Positions[pos-1][0],Positions[pos-1][1],Positions[pos-1][2], 3.00);
return 1;
}

 

[/quote]
Helyesbítenék:
 
#include 
#include
#include
new OID;
new Float:Positions[][] = {
{0.0,0.0,0.0},//Elsõ hely pozíció
{0.0,0.0,0.0},//Második hely pozíció
{0.0,0.0,0.0}//Harmadik hely pozíció
};
public OnFilterScriptInit()
{
OID = CreateObject(324,Positions[0][0],Positions[0][1],Positions[0][2],0.0,0.0,0.0);//Az object..
return 1;
}
CMD:mozog(playerid,params[])
{
new pos;
if(sscanf(params,\"d\",pos)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /mozog [tárgy helyének elmozgatása 0-3]\");
       if(!(-1 < pos =< sizeof(Positions))) return SendClientMessage(playerid, 0xFF0000AA, \"Hibás érték!\");
if(!IsPlayerInRangeOfPoint(playerid,4.0,/*Ide írod be az adott pozíciót*/))return SendClientMessage(playerid,-1,\"Nem vagy az adott helyen!\");
MoveObject(OID,Positions[pos][0],Positions[pos][1],Positions[pos][2], 3.00);
return 1;
}

 

[/quote]
 :p :p :p :p :p :p :p
Cím: Mozgó objekt
Írta: siklosikrisz - 2013. november 18. - 20:20:31
 public OnFilterScriptInit()
{
       OID = CreateObject(324,Positions[0][0],Positions[0][1],Positions[0][2],0.0,0.0,0.0);//Az object..
       return 1;
}

 
Erre kérhetnék egy rövidke magyarázatot?:D
Cím: Mozgó objekt
Írta: Zsolesszka - 2013. november 18. - 20:25:03
Egyszerû.
Ha egy objectet szeretnél mozgatni akkor elõtte létre is kell hozni. :D
Amit majd az OID változó fog azonosítani a kódban.
A kódban most az eltárolt tömb változóban \"Positions\" felhasznált legelsõ hely szerepel, hogy az eredeti helyére is vissza lehessen mozdítani a parancs segítségével \"/mozgat 0\".
Cím: Mozgó objekt
Írta: siklosikrisz - 2013. november 18. - 20:34:16
Köszönöm szépen mindenkinek! :D +-ok kiosztva,Téma zárva ;)