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: ZSOLTI99 - 2013. július 26. - 18:12:38

Cím: Gyorsan emelkedik
Írta: ZSOLTI99 - 2013. július 26. - 18:12:38
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
}
Cím: Gyorsan emelkedik
Írta: bbTamas - 2013. július 26. - 18:21:21
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.
Cím: Gyorsan emelkedik
Írta: ZSOLTI99 - 2013. július 26. - 18:42:22
De már annyit ki próbáltam hogy az nem igaz hanyasra írjam?
Cím: Gyorsan emelkedik
Írta: anorennia - 2013. július 26. - 18:59:22
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;
}
Cím: Gyorsan emelkedik
Írta: ZSOLTI99 - 2013. július 26. - 19:16:18
De automata kell abba bele tudnád építeni példának??
Cím: Gyorsan emelkedik
Írta: anorennia - 2013. július 26. - 20:15:51
//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;
}
Cím: Gyorsan emelkedik
Írta: ZSOLTI99 - 2013. július 27. - 08:16:36
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
Cím: Gyorsan emelkedik
Írta: anorennia - 2013. július 27. - 13:40:28
#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;
}
Cím: Gyorsan emelkedik
Írta: ZSOLTI99 - 2013. július 27. - 21:03:25
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?
Cím: Gyorsan emelkedik
Írta: anorennia - 2013. július 28. - 22:18:25
Az IsPlayerInRangeOfPoint résznél átírtad a 0,0,0-t a te x,y,z kordinátádra?
Cím: Gyorsan emelkedik
Írta: ZSOLTI99 - 2013. július 29. - 14:02:21
Sikerült meg csinálni hogy lassan emelkedjen tök jó lett kösz a sok segítséget. zárok....