Szerző Téma: Késleltetés (SetTimerEx?) használata  (Megtekintve 764 alkalommal)

Nem elérhető nyomo

  • 159
    • Profil megtekintése
Késleltetés (SetTimerEx?) használata
« Dátum: 2013. október 07. - 11:11:52 »
0 Show voters
Leszedtem egy jármûkezelõt amit kiegészítek/átírok, próbálok fejlesztgetni. Van egy dolog amit szeretnék megoldani benne csak elég értetlen még számomra hogy is kell. Késleltetésrõl lenne szó, amit találtam rá a SetTimerEx olvasgattam utána, de nem értem, és példát sem találtam ami alapján elindulok. Ebben kérnék segítséget. 
A kód ezen része jelenleg így néz ki:
 
#include <a_samp>
#include <zcmd>
#define COLOR_GREEN             0x33AA33AA
#define COLOR_ORANGE          0xFF9933AA
 
#define SCM                   SendClientMessage
cmd(indit, playerid, params[])
{
if(GetPlayerState(playerid) != 2) return SCM(playerid, COLOR_ORANGE, \"Mit akarsz beinditani?\");
new vehicleid = GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine != 1)
{
        GameTextForPlayer(playerid, \"inditod...\", 5000, 5);
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
SCM(playerid, COLOR_GREEN, \"Jármû beinditva!\");
}
else
{
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
SCM(playerid, -1, \"Motor már jár!\");
}
return 1;
}

 
Szóval ha indítom a kocsit a képernyõ kiírás megjelenik hogy inditod.. de a jármû nem indul mondjuk csak 3-4 másodperc elteltével és akkor az SCM meg \"Jármû beinditva!\"
Mellékesen mondom még egyszer ezt nem írtam csak alakítgatok rajta, kiegészítem és próbálok tanulgatni belõle, eredeti neve \"egyszerû jármûkezelés\"  dipsnark-tól.

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Késleltetés (SetTimerEx?) használata
« Válasz #1 Dátum: 2013. október 07. - 12:53:06 »
+1 Show voters

#include <a_samp>
#include <zcmd>
#define COLOR_GREEN                             0x33AA33AA
#define COLOR_ORANGE                    0xFF9933AA
 
#define SCM                                             SendClientMessage
//Létrehozol egy függvényt, amit a timerrel hívsz meg
public Indit( playerid, vehicleid );
cmd(indit, playerid, params[])
{
        if(GetPlayerState(playerid) != 2) return SCM(playerid, COLOR_ORANGE, \"Mit akarsz beinditani?\");
        new vehicleid = GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective;
        GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
        if(engine != 1)
        {
        GameTextForPlayer(playerid, \"inditod...\", 5000, 5);
             SetTimerEx( \"Indit\", 3000, false, \"ii\", playerid, vehicleid ); //Meghívod az \"Indit\" függvényt 3 másodperc múlva, ismétlés nélkül, a \'playerid\' és \'vehicleid\' azonosítókkal
               
        }
        else
        {
                SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
                SCM(playerid, -1, \"Motor már jár!\");
        }
        return 1;
}
//A fent létrehozott és meghívott függvény
public Indit( playerid, vehicleid ) {
    SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
    SCM(playerid, COLOR_GREEN, \"Jármû beinditva!\");
}

 
Ha érdekel a dolog, akkor írtam egy leírást az idõzítõkrõl még anno amikor aktív voltam:
http://sampforum.hu/index.php?topic=6468.0

Nem elérhető nyomo

  • 159
    • Profil megtekintése
Késleltetés (SetTimerEx?) használata
« Válasz #2 Dátum: 2013. október 07. - 13:33:11 »
0 Show voters
Köszönöm hogy segítettél és megoldottad, erre gondoltam.
A végéhez még kellett írnom egy apróságot mert errorozott, most mûködik megfelelõen.
 
/A fent létrehozott és meghívott függvény
    public Indit( playerid, vehicleid ) {
        new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
        SCM(playerid, COLOR_GREEN, \"Jármû beinditva!\");
    }

 
A leírásod mindenképp átlesem.  ;)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Késleltetés (SetTimerEx?) használata
« Válasz #3 Dátum: 2013. október 07. - 13:35:48 »
0 Show voters
Ja hát igen, bocs azt benéztem, látszik, hogy már nem vagyok benne a gyakorlatban, és hát Pawno sincs a gépemen. :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal