-
Sziasztok ehez hogyan tudnék timert fûzni?
SetPlayerWeather(playerid, -66);
-
#define WeatherTime 10 // 10 millisec (ez lehet egy kicsit gyors :D)
public OnGameModeInit()
{
SetTimer(\"ChangeWeather\", WeatherTime, true);
return 1;
}
forward ChangeWeather(playerid);
public ChangeWeather(playerid)
{
switch(random(10))
{
case 0:
{
SetPlayerWeather(playerid, -66);
}
case 1:
{
SetPlayerWeather(playerid, 666);
}
case 2:
{
SetPlayerWeather(playerid, 10000);
}
}
return 1;
}
Ha erre gondoltál...
-
És Ha pl ugy zseretném hoyg Be irja hoyg /sziv és akk utána egy ideig tartson aztán már ne?Azt mehlehet?
-
#include <a_samp>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
dcmd_sziv(playerid,params[])
{
#pragma unused params
SetPlayerWeather(playerid, -66); // átállítja arra a drogosra (-66)
SetTimer(\"Beszivva\", 60000, false); // 1 perc false = nem ismétli
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(sziv,4,cmdtext);
return 0;
}
forward Beszivva(playerid);
public Beszivva(playerid)
{
SetPlayerWeather(playerid, 1); // 1 perc múlva visszaállítja 1-re a weatherid-t
return 1;
}
-
#include <a_samp>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
dcmd_sziv(playerid,params[])
{
#pragma unused params
SetPlayerWeather(playerid, -66); // átállítja arra a drogosra (-66)
SetTimer(\"Beszivva\", 60000, false); // 1 perc false = nem ismétli
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(sziv,4,cmdtext);
return 0;
}
forward Beszivva(playerid);
public Beszivva(playerid)
{
SetPlayerWeather(playerid, 1); // 1 perc múlva visszaállítja 1-re a weatherid-t
return 1;
}
Köszönöm ez nekem is jól jött :)
-
Annyi a baj hogy csak a 0 ID-vel jelölt játékosnak mûködnek a fenti kódok.
Ez helyett:
SetTimer(\"Beszivva\", 60000, false);
ez:
SetTimerEx(\"Beszivva\", 60000, false, \"i\", playerid);
-
Ez a rész fontos?Mert dcmd ésé Zcmd ben írom.
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(sziv,4,cmdtext);
return 0;
}
-
Akkor ez nem szükséges.. Akkor így kell:
CMD:sziv(playerid) {
SetPlayerWeather(playerid, -66); // átállítja arra a drogosra (-66)
SetTimerEx(\"Beszivva\", 60000, false, \"i\", playerid); // 1 perc false = nem ismétli
return 1;
}