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: Nátha - 2012. május 15. - 16:06:37

Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:06:37
Találtam a hiv. fórumon egy jó kis reakció tesztet le is fordítottam csak az a baja hogyha valaki meg nyeri akkor 0 $-t és 0 pontot ad... Valaki segítene be állítani hogy adjon 50000 $-t és 10 pontot ?
Így néz ki a script:
 
#include <a_samp>
#define TIME 3
#define MINIMUM_VALUE 2000000
#define MAXIMUM_VALUE 8000000
#define MINIMUM_PRIZE 5000
#define MAXIMUM_PRIZE 20000
#define MINIMUM_SCORE 1
#define MAXIMUM_SCORE 7
new CONTEST_PRIZE;
new CONTEST_SCORE;
new ContestAnswer = -1;
forward NewContest();
forward OnPlayerWinContest(playerid);
public OnFilterScriptInit()
{
SetTimer(\"NewContest\",(1000*60*TIME),1);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(strval(text) == ContestAnswer && ContestAnswer != -1)
{
OnPlayerWinContest(playerid);
}
return 1;
}
public NewContest()
{
new string [128];
ContestAnswer = MINIMUM_VALUE + random(MAXIMUM_VALUE-MINIMUM_VALUE);
format(string,sizeof string,\"Reakció teszt ! Aki elõször beírja: %d az nyer %d $-t és %d pontot !\",ContestAnswer,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
return 1;
}
public OnPlayerWinContest(playerid)
{
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof pName);
format(string,sizeof string,\"%s nyerte meg a reakció tesztet jutalma: %d $ és %d pont !\",pName,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
CONTEST_PRIZE = MINIMUM_PRIZE+random(MAXIMUM_PRIZE-MINIMUM_PRIZE);
GivePlayerMoney(playerid,CONTEST_PRIZE);
CONTEST_SCORE = MINIMUM_SCORE+random(MAXIMUM_SCORE-MINIMUM_SCORE);
SetPlayerScore(playerid, GetPlayerScore(playerid) + CONTEST_SCORE);
ContestAnswer = -1;
return 1;
}

 
A segítséget elõre is köszönöm !
Cím: Reakció teszt
Írta: skbence - 2012. május 15. - 16:09:52
#include <a_samp>
#define TIME 3
#define MINIMUM_VALUE 2000000
#define MAXIMUM_VALUE 8000000
#define MINIMUM_PRIZE 5000
#define MAXIMUM_PRIZE 20000
#define MINIMUM_SCORE 1
#define MAXIMUM_SCORE 7
new CONTEST_PRIZE;
new CONTEST_SCORE;
new ContestAnswer = -1;
forward NewContest();
forward OnPlayerWinContest(playerid);
public OnFilterScriptInit()
{
SetTimer(\"NewContest\",(1000*60*TIME),1);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(strval(text) == ContestAnswer && ContestAnswer != -1)
{
OnPlayerWinContest(playerid);
}
return 1;
}
public NewContest()
{
new string [128];
ContestAnswer = MINIMUM_VALUE + random(MAXIMUM_VALUE-MINIMUM_VALUE);
format(string,sizeof string,\"Reakció teszt ! Aki elõször beírja: %d az nyer %d $-t és %d pontot !\",ContestAnswer,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
return 1;
}
public OnPlayerWinContest(playerid)
{
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof pName);
format(string,sizeof string,\"%s nyerte meg a reakció tesztet jutalma: %d $ és %d pont !\",pName,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
CONTEST_PRIZE = MINIMUM_PRIZE+random(MAXIMUM_PRIZE-MINIMUM_PRIZE);
GivePlayerMoney(playerid, 50000);
CONTEST_SCORE = MINIMUM_SCORE+random(MAXIMUM_SCORE-MINIMUM_SCORE);
SetPlayerScore(playerid, 10);
ContestAnswer = -1;
return 1;
}
Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:22:01
Thx és nem tudom hogy ez olyan hogyha bizonyos idõn belül senki nem írja be a számokat akkor ad egy új feladatot ?
Cím: Reakció teszt
Írta: skbence - 2012. május 15. - 16:30:01
Idézetet írta: Nátha date=1337091721\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21497\" data-ipsquote-contentclass=\"forums_Topic
Thx és nem tudom hogy ez olyan hogyha bizonyos idõn belül senki nem írja be a számokat akkor ad egy új feladatot ?
 
ehhez a részhez már én se értek :S de gondolom timer-el
Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:31:38
Hát igen, timerrel kéne de én sem tudom hogy hogyan  :D
Cím: Reakció teszt
Írta: skbence - 2012. május 15. - 16:38:10
Idézetet írta: Nátha date=1337092298\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21497\" data-ipsquote-contentclass=\"forums_Topic
Hát igen, timerrel kéne de én sem tudom hogy hogyan  :D
 
talán ez segít http://fafsamp.mindenkilapja.hu/html/22163081/render/pawno-timer-keszitese
Cím: Reakció teszt
Írta: Flash - 2012. május 15. - 16:38:31
Mód elejére:
new reaction;
forward reaction2();
Ebbe kell a timer.
 
public NewContest()
{
new string [128];
ContestAnswer = MINIMUM_VALUE + random(MAXIMUM_VALUE-MINIMUM_VALUE);
format(string,sizeof string,\"Reakció teszt ! Aki elõször beírja: %d az nyer %d $-t és %d pontot !\",ContestAnswer,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
reaction = SetTimer(\"reaction2\",120000,1); // 2 perc
return 1;
}

 
public reaction2()
{
ContestAnswer = -1;
SendClientMessageToAll(-1, \"Mivel senki sem oldotta meg a feladványt mingy ö még1 blabla..\");
KillTimer(reaction);
reaction = SetTimer(\"reaction2\",120000,1); // 2 perc
return 1;
}
Valami ilyesmi, de ezt most jól sszecsaptam, szval lehet nem jó de valami ilyesmi kell.
Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:56:48
Kösz Flash mûködik !  ;D
Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:06:37
Találtam a hiv. fórumon egy jó kis reakció tesztet le is fordítottam csak az a baja hogyha valaki meg nyeri akkor 0 $-t és 0 pontot ad... Valaki segítene be állítani hogy adjon 50000 $-t és 10 pontot ?
Így néz ki a script:
 
#include <a_samp>
#define TIME 3
#define MINIMUM_VALUE 2000000
#define MAXIMUM_VALUE 8000000
#define MINIMUM_PRIZE 5000
#define MAXIMUM_PRIZE 20000
#define MINIMUM_SCORE 1
#define MAXIMUM_SCORE 7
new CONTEST_PRIZE;
new CONTEST_SCORE;
new ContestAnswer = -1;
forward NewContest();
forward OnPlayerWinContest(playerid);
public OnFilterScriptInit()
{
SetTimer(\"NewContest\",(1000*60*TIME),1);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(strval(text) == ContestAnswer && ContestAnswer != -1)
{
OnPlayerWinContest(playerid);
}
return 1;
}
public NewContest()
{
new string [128];
ContestAnswer = MINIMUM_VALUE + random(MAXIMUM_VALUE-MINIMUM_VALUE);
format(string,sizeof string,\"Reakció teszt ! Aki elõször beírja: %d az nyer %d $-t és %d pontot !\",ContestAnswer,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
return 1;
}
public OnPlayerWinContest(playerid)
{
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof pName);
format(string,sizeof string,\"%s nyerte meg a reakció tesztet jutalma: %d $ és %d pont !\",pName,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
CONTEST_PRIZE = MINIMUM_PRIZE+random(MAXIMUM_PRIZE-MINIMUM_PRIZE);
GivePlayerMoney(playerid,CONTEST_PRIZE);
CONTEST_SCORE = MINIMUM_SCORE+random(MAXIMUM_SCORE-MINIMUM_SCORE);
SetPlayerScore(playerid, GetPlayerScore(playerid) + CONTEST_SCORE);
ContestAnswer = -1;
return 1;
}

 
A segítséget elõre is köszönöm !
Cím: Reakció teszt
Írta: skbence - 2012. május 15. - 16:09:52
#include <a_samp>
#define TIME 3
#define MINIMUM_VALUE 2000000
#define MAXIMUM_VALUE 8000000
#define MINIMUM_PRIZE 5000
#define MAXIMUM_PRIZE 20000
#define MINIMUM_SCORE 1
#define MAXIMUM_SCORE 7
new CONTEST_PRIZE;
new CONTEST_SCORE;
new ContestAnswer = -1;
forward NewContest();
forward OnPlayerWinContest(playerid);
public OnFilterScriptInit()
{
SetTimer(\"NewContest\",(1000*60*TIME),1);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(strval(text) == ContestAnswer && ContestAnswer != -1)
{
OnPlayerWinContest(playerid);
}
return 1;
}
public NewContest()
{
new string [128];
ContestAnswer = MINIMUM_VALUE + random(MAXIMUM_VALUE-MINIMUM_VALUE);
format(string,sizeof string,\"Reakció teszt ! Aki elõször beírja: %d az nyer %d $-t és %d pontot !\",ContestAnswer,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
return 1;
}
public OnPlayerWinContest(playerid)
{
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof pName);
format(string,sizeof string,\"%s nyerte meg a reakció tesztet jutalma: %d $ és %d pont !\",pName,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
CONTEST_PRIZE = MINIMUM_PRIZE+random(MAXIMUM_PRIZE-MINIMUM_PRIZE);
GivePlayerMoney(playerid, 50000);
CONTEST_SCORE = MINIMUM_SCORE+random(MAXIMUM_SCORE-MINIMUM_SCORE);
SetPlayerScore(playerid, 10);
ContestAnswer = -1;
return 1;
}
Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:22:01
Thx és nem tudom hogy ez olyan hogyha bizonyos idõn belül senki nem írja be a számokat akkor ad egy új feladatot ?
Cím: Reakció teszt
Írta: skbence - 2012. május 15. - 16:30:01
Idézetet írta: Nátha date=1337091721\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21497\" data-ipsquote-contentclass=\"forums_Topic
Thx és nem tudom hogy ez olyan hogyha bizonyos idõn belül senki nem írja be a számokat akkor ad egy új feladatot ?
 
ehhez a részhez már én se értek :S de gondolom timer-el
Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:31:38
Hát igen, timerrel kéne de én sem tudom hogy hogyan  :D
Cím: Reakció teszt
Írta: skbence - 2012. május 15. - 16:38:10
Idézetet írta: Nátha date=1337092298\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21497\" data-ipsquote-contentclass=\"forums_Topic
Hát igen, timerrel kéne de én sem tudom hogy hogyan  :D
 
talán ez segít http://fafsamp.mindenkilapja.hu/html/22163081/render/pawno-timer-keszitese
Cím: Reakció teszt
Írta: Flash - 2012. május 15. - 16:38:31
Mód elejére:
new reaction;
forward reaction2();
Ebbe kell a timer.
 
public NewContest()
{
new string [128];
ContestAnswer = MINIMUM_VALUE + random(MAXIMUM_VALUE-MINIMUM_VALUE);
format(string,sizeof string,\"Reakció teszt ! Aki elõször beírja: %d az nyer %d $-t és %d pontot !\",ContestAnswer,CONTEST_PRIZE,CONTEST_SCORE);
SendClientMessageToAll(0x00FFFFFF,string);
reaction = SetTimer(\"reaction2\",120000,1); // 2 perc
return 1;
}

 
public reaction2()
{
ContestAnswer = -1;
SendClientMessageToAll(-1, \"Mivel senki sem oldotta meg a feladványt mingy ö még1 blabla..\");
KillTimer(reaction);
reaction = SetTimer(\"reaction2\",120000,1); // 2 perc
return 1;
}
Valami ilyesmi, de ezt most jól sszecsaptam, szval lehet nem jó de valami ilyesmi kell.
Cím: Reakció teszt
Írta: Nátha - 2012. május 15. - 16:56:48
Kösz Flash mûködik !  ;D