-
Hello. Az lenne a problámám hogy túl gyorsan emelkedik és azt szeretném ha lassan den em igazán jövök rá mivel is lehetne ezt be állítani már írtam oda sebességet de nem igazán akar jó lenne aki tud esetleg segíteni annak hálás lennék
#include <a_samp>
new valamicske11;
public OnFilterScriptInit()
{
valamicske11 = CreateObject(968,-1641.8000500,572.9000200,39.4000000,0.0000000,268.5000000,316.2500000); //
SetTimer(\"ajtotimer11\", 5000, true);
return 1;
}
forward ajtotimer11();
public ajtotimer11(){
new bool:nyissuk = false;
for(new i; i<MAX_PLAYERS; i++){
if(!IsPlayerConnected(i)) continue;
if(IsPlayerInRangeOfPoint(i, 7.5,-1641.8000500,572.9000200,39.4000000)){
nyissuk=true;
break;
}
}
if(nyissuk)
MoveObject(valamicske11,-1641.8000500,572.9000200,39.4000000,0.0001,0.0000000,352.5000000,316.2500000);//-1641.5000500,573.1000200,39.7000000, 0.01, 0.0000000,352.5000000,0.0000000); // ha van játékos a közelben lassan áthelyezzük az objektumot - \"kinyissuk\" - az értékeket itt a nyitott állapotéval helyettesítsük be
else
MoveObject(valamicske11,-1641.8000500,572.9000200,39.4000000,0.0001,0.0000000,268.5000000,316.2500000); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}
-
MoveObject függvény:
( objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0 )
objectid - Annak a tárgynak az azonosítója, amit mozgatni szeretnénk.
Float:X - A tárgy új X pozíciója, ami egy lebegõpontos érték.
Float:Y - A tárgy új Y pozíciója, ami egy lebegõpontos érték.
Float:Z - A tárgy új Z pozíciója, ami egy lebegõpontos érték.
Float:Speed - A tárgy mozgatási sebességi, ami egy lebegõpontos érték. (Egységek másodpercenként)
Float:RotX - A tárgy új X forgása, ami egy lebegõpontos érték. (Alapból, -1000, így nem változik)
Float:RotY - A tárgy új Y forgása, ami egy lebegõpontos érték. (Alapból, -1000, így nem változik)
Float:RotZ - A tárgy új Z forgása, ami egy lebegõpontos érték. (Alapból, -1000, így nem változik)
Visszatérés Az idõ, ami alatt elfog mozdulni az új pozíciókra. ( ms-ban )
Forrás: http://sampforum.hu/index.php?topic=10002.0
Tehát ha a mozgás sebességét szeretnéd állítani:
MoveObject(valamicske11,-1641.8000500,572.9000200,39.40000000.0001,0.0000000,352.5000000,316.2500000);
MoveObject(valamicske11,-1641.8000500,572.9000200,39.4000000,0.0001,0.0000000,268.5000000,316.2500000);
Pirossal kijelölt résznél lehet állítani a mozgási sebességet.
-
De már annyit ki próbáltam hogy az nem igaz hanyasra írjam?
-
new sorompo;
new Float:rot = 270;
CMD:soromp(playerid, params[])
{
sorompo = CreateObject(968,1543.5000000,-1490.5999800,14.5000000,0.0000000,270.0000000,90.0000000);
SetTimer(\"close\", 7, 270); //beállítjuk az idõzítõt
return 1;
}
forward close();
public close()
{
MoveObject(sorompo, 1543.5000000 ,-1490.5999800, 14.5000000, 1, 0, rot, 90); //ez pedig a már fent említett close...az idõzítõ beállítva, automatikus csukódás :)
rot = rot - 1;
return 1;
}
-
De automata kell abba bele tudnád építeni példának??
-
//gamemodeinithez:
new sorompo;
new Float:rot = 270;
SetTimer(\"checkgate\", 500, true);
forward checkgate(playerid);
public checkgate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 7, x,y,z); //az x,y,z helyére a kordinátát írd be
sorompo = CreateObject(968,1543.5000000,-1490.5999800,14.5000000,0.0000000,270.0000000,90.0000000);
SetTimer(\"open\", 7, 270); //beállítjuk az idõzítõt, itt 270-x fut le, 0,007mp-nként annyi legyen ahány fokot fordul
return 1;
}
forward open();
public open()
{
if(rot >= 90) //addig fut, amíg több mint 90
{
MoveObject(sorompo, 1543.5000000 ,-1490.5999800, 14.5000000, 1, 0, rot, 90); //ez pedig a már fent említett close...az idõzítõ beállítva, automatikus csukódás :)
rot = rot - 1;
}
else
{
SetTimer(\"close_inst\", 5, false); //5 másodpercig van nyitva
}
return 1;
}
forward close_ins();
public close_ins()
{
SetTimer(\"close\", 7, 270); //beállítjuk az idõzítõt, itt 270-x fut le, 0,007mp-nként annyi legyen ahány fokot fordul
return 1;
}
forward close();
public close()
{
if(rot <= 90) //addig fut, amíg több mint 90
{
MoveObject(sorompo, 1543.5000000 ,-1490.5999800, 14.5000000, 1, 0, rot, 90); //ez pedig a már fent említett close...az idõzítõ beállítva, automatikus csukódás :)
rot = rot + 1;
}
return 1;
}
-
Köszi kis is próbálom ha
Dupla hozzászólás automatikusan összefûzve. ( 2013. július 27. - 08:28:21 )
C:\\Documents and Settings\\Rendszergazda\\Asztal\\sorompo.pwn(8) : warning 204: symbol is assigned a value that is never used: \"rot\"
C:\\Documents and Settings\\Rendszergazda\\Asztal\\sorompo.pwn(6) : warning 203: symbol is never used: \"sorompo\"
C:\\Documents and Settings\\Rendszergazda\\Asztal\\sorompo.pwn(6 -- 13) : error 021: symbol already defined: \"SetTimer\"
C:\\Documents and Settings\\Rendszergazda\\Asztal\\sorompo.pwn(6 -- 20) : error 001: expected token: \")\", but found \";\"
C:\\Documents and Settings\\Rendszergazda\\Asztal\\sorompo.pwn(6 -- 20) : error 036: empty statement
C:\\Documents and Settings\\Rendszergazda\\Asztal\\sorompo.pwn(6 -- 20) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Ezt írja ki
-
#include a_samp
//gamemodeinithez:
forward checkgate(playerid);
new sorompo;
new Float:rot = 270.0;
public OnGameModeInit()
{
SetTimer(\"checkgate\", 500, true);
return 1;
}
public checkgate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 7, 0,0,0))
{ //az x,y,z helyére a kordinátát írd be
sorompo = CreateObject(968,1543.5000000,-1490.5999800,14.5000000,0.0000000,270.0000000,90.0000000);
SetTimer(\"open\", 7, 270); //beállítjuk az idõzítõt, itt 270-x fut le, 0,007mp-nként annyi legyen ahány fokot fordul
}
return 1;
}
forward open();
public open()
{
if(rot >= 90) //addig fut, amíg több mint 90
{
MoveObject(sorompo, 1543.5000000 ,-1490.5999800, 14.5000000, 1, 0, rot, 90); //ez pedig a már fent említett close...az idõzítõ beállítva, automatikus csukódás :)
rot = rot - 1;
}
else
{
SetTimer(\"close_inst\", 5, false); //5 másodpercig van nyitva
}
return 1;
}
forward close_ins();
public close_ins()
{
SetTimer(\"close\", 7, 270); //beállítjuk az idõzítõt, itt 270-x fut le, 0,007mp-nként annyi legyen ahány fokot fordul
return 1;
}
forward close();
public close()
{
if(rot <= 90) //addig fut, amíg több mint 90
{
MoveObject(sorompo, 1543.5000000 ,-1490.5999800, 14.5000000, 1, 0, rot, 90); //ez pedig a már fent említett close...az idõzítõ beállítva, automatikus csukódás :)
rot = rot + 1;
}
return 1;
}
-
Holnap kipróbálom köszi a segítséget
Dupla hozzászólás automatikusan összefûzve. ( 2013. július 28. - 12:40:35 )
http://kepfeltoltes.hu/view/130728/861293392sa-mp-003_www.kepfeltoltes.hu_.png
Így áll és nem mozog
#include <a_samp>
//gamemodeinithez:
forward checkgate(playerid);
new sorompo;
new Float:rot = 270.0;
public OnGameModeInit()
{
SetTimer(\"checkgate\", 500, true);
return 1;
}
public checkgate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 7, 0,0,0))
{ //az x,y,z helyére a kordinátát írd be
sorompo = CreateObject(968,1543.5000000,-1490.5999800,14.5000000,0.0000000,270.0000000,90.0000000);
SetTimer(\"open\", 7, 270); //beállítjuk az idõzítõt, itt 270-x fut le, 0,007mp-nként annyi legyen ahány fokot fordul
}
return 1;
}
forward open();
public open()
{
if(rot >= 90) //addig fut, amíg több mint 90
{
MoveObject(sorompo, 1543.5000000 ,-1490.5999800, 14.5000000, 1, 0, rot, 90); //ez pedig a már fent említett close...az idõzítõ beállítva, automatikus csukódás :)
rot = rot - 1;
}
else
{
SetTimer(\"close_inst\", 5, false); //5 másodpercig van nyitva
}
return 1;
}
forward close_ins();
public close_ins()
{
SetTimer(\"close\", 7, 270); //beállítjuk az idõzítõt, itt 270-x fut le, 0,007mp-nként annyi legyen ahány fokot fordul
return 1;
}
forward close();
public close()
{
if(rot <= 90) //addig fut, amíg több mint 90
{
MoveObject(sorompo, 1543.5000000 ,-1490.5999800, 14.5000000, 1, 0, rot, 90); //ez pedig a már fent említett close...az idõzítõ beállítva, automatikus csukódás :)
rot = rot + 1;
}
return 1;
}
Dupla hozzászólás automatikusan összefûzve. ( 2013. július 28. - 18:58:37 )
Valami tipp?
-
Az IsPlayerInRangeOfPoint résznél átírtad a 0,0,0-t a te x,y,z kordinátádra?
-
Sikerült meg csinálni hogy lassan emelkedjen tök jó lett kösz a sok segítséget. zárok....