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: kamionos - 2014. július 06. - 01:35:30

Cím: SetTimer csak 1x fusson végig
Írta: kamionos - 2014. július 06. - 01:35:30
Sziasztok!
Azt hogyan tudom megoldani, hogy a SetTimer csak egyszer fusson végig??
Tehát a kombó az úgy nézne ki, hogy ha range of point ba belemegyek akkor aktiválódik a Timer, viszont nekem az kellene, hogy ha aktiválódik ne minden egyes 2.5 másodpercenként(Megadott idõ) induljon el, hanem csak 1x 2.5 másodperc után.
És ha újra belemegyek akkor is csak 1x induljon el megadott idõ után...
igy néz ki:
 
public OnFilterScriptInit()
{
SetTimer(\"kozutado\", 2500, true);
return 1;
}
public kozutado();
public kozutado()
{
    for(new playerid; playerid<MAX_PLAYERS; playerid++)
    {
if(IsPlayerInRangeOfPoint(playerid, 8.0, 50.0511,-1539.1676,5.1490) || IsPlayerInRangeOfPoint(playerid,8.0, 52.6,-1524.3,5.1))
{
   GivePlayerMoney(playerid, -10000);
   GameTextForPlayer(playerid, \"~r~Áthaladsz a határon~n~ezért a szerver levon tõled~n~~y~10.000$-t\", 2500, 4);
}
    }
return 1;
}
Cím: SetTimer csak 1x fusson végig
Írta: Kyosuke_Hiroshi - 2014. július 06. - 06:13:40
http://wiki.sa-mp.com/wiki/SetTimer
a truet mondjuk átírod falsera... és akkor nem ismétlödik
Cím: SetTimer csak 1x fusson végig
Írta: kamionos - 2014. július 06. - 07:59:41
megpróbáltam akkor viszont el se indul
Cím: SetTimer csak 1x fusson végig
Írta: ZyZu. - 2014. július 06. - 08:09:56
Használj SetTimerEx -et.. sokkal jobb, majd lelépéskor leállítod KillTimer -el.
Cím: SetTimer csak 1x fusson végig
Írta: lackos888 - 2014. július 06. - 11:12:50
Csak változó kell ide..
 

    new athaladt[MAX_PLAYERS];
    public OnFilterScriptInit()
    {
    SetTimer(\"kozutado\", 2500, true);
    return 1;
    }
     
    forward kozutado();
    public kozutado()
    {
        for(new playerid; playerid<MAX_PLAYERS; playerid++)
        {
                    if(IsPlayerInRangeOfPoint(playerid, 8.0, 50.0511,-1539.1676,5.1490) || IsPlayerInRangeOfPoint(playerid,8.0, 52.6,-1524.3,5.1))
                    {
                           if(adhaladt[playerid] == 0){
                                 GivePlayerMoney(playerid, -10000);
                                 GameTextForPlayer(playerid, \"~r~Áthaladsz a határon~n~ezért a szerver levon tõled~n~~y~10.000$-t\", 2500, 4);
                                 athaladt[playerid] = 1;
                          }
                    } else {
                            athaladt[playerid] = 0;
                    }
        }
            return 1;
    }
Cím: SetTimer csak 1x fusson végig
Írta: kamionos - 2014. július 08. - 01:08:04
Ezt nem értem...elvileg jó ...de a pénzt nem vonja le
Cím: SetTimer csak 1x fusson végig
Írta: ZyZu. - 2014. július 08. - 08:17:03
Idézetet írta: Dead Space date=1404774484\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49249\" data-ipsquote-contentclass=\"forums_Topic
Ezt nem értem...elvileg jó ...de a pénzt nem vonja le
 
Az üzenetet kiírja neked?
Cím: SetTimer csak 1x fusson végig
Írta: kamionos - 2014. július 08. - 16:15:39
igen, de a pénzt leveszi és visszaadja
Cím: SetTimer csak 1x fusson végig
Írta: BackUP - 2014. július 11. - 23:17:55
Az másért van. Gondolom nem saját mód. Gondolom a módba van egy védelem pénz cheat ellen, és az adja vissza. Ezért kell ismerni a módot, változóbol vond le az összeget, ne GivePlayerMoney(); függvénnyel.
Cím: SetTimer csak 1x fusson végig
Írta: blackdog476 - 2014. július 15. - 10:01:36
Másolj be egy olyan parancsot (nem muszáj a leghosszabbat :D) ami a pénzedet módosítja. Vagy pedig ha tudod, akkor szedd ki belõle a pénz változót, és építsd bele a scriptbe a GivePlayerMoney helyére. Pl
[pawn]pInfo[playerid][pMoney] = pInfo[playerid][pMoney] - 10000[/pawn]
Cím: SetTimer csak 1x fusson végig
Írta: SuBwayer - 2014. augusztus 10. - 16:57:47
Próbáld meg így:
 
GivePlayerMoney(playerid, GetPlayerMoney(playerid)-10000);

 
[mod]Kitettem helyetted a

taget! Ráadásul több hetes témához nem kéne hozzászólni, arról nem is beszélve, hogy a témanyitó némítva van.[/mod]
Cím: SetTimer csak 1x fusson végig
Írta: Dfoglalo - 2014. augusztus 10. - 17:22:30
Idézetet írta: SuBwayer date=1407682667\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49249\" data-ipsquote-contentclass=\"forums_Topic
Próbáld meg így:
 
GivePlayerMoney(playerid, GetPlayerMoney(playerid)-10000);

 
[mod]Kitettem helyetted a

taget! Ráadásul több hetes témához nem kéne hozzászólni, arról nem is beszélve, hogy a témanyitó némítva van.[/mod]
 
Ha elolvasnád a hozzászólásokat, akkor tudnád, hogy az nem mûködik, mert pénz cheat védelem van a módban...
[mod]Elavult téma és a témanyitó is némítva lett, így zárok.[/mod]