-
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.
-
#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
-
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. ;)
-
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. :)