Szerző Téma: Timer  (Megtekintve 938 alkalommal)

Timer
« Dátum: 2013. Július 17. - 00:56:06 »
0
Sziasztok ehez hogyan tudnék timert fûzni?
 
    SetPlayerWeather(playerid, -66);

Timer
« Válasz #1 Dátum: 2013. Július 17. - 03:32:30 »
0
#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...

Timer
« Válasz #2 Dátum: 2013. Július 17. - 04:43:27 »
0
É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?

Timer
« Válasz #3 Dátum: 2013. Július 17. - 05:29:47 »
0
#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;
}

Timer
« Válasz #4 Dátum: 2013. Július 17. - 09:09:18 »
0
Idézetet írta: anorennia date=1374031787\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"39928\" data-ipsquote-contentclass=\"forums_Topic

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

Timer
« Válasz #5 Dátum: 2013. Július 17. - 09:14:03 »
0
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);

Timer
« Válasz #6 Dátum: 2013. Július 17. - 11:17:42 »
0
Ez a rész fontos?Mert dcmd ésé Zcmd ben írom.
 
public OnPlayerCommandText(playerid, cmdtext[])
{
        dcmd(sziv,4,cmdtext);
        return 0;
}

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Timer
« Válasz #7 Dátum: 2013. Július 17. - 12:49:29 »
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;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal