World of Scripters!

General Category => General => Topic started by: BlAck_DeViL on August 26, 2012, 09:34:57 pm


Title: {Urgent}Help Needed
Post by: BlAck_DeViL on August 26, 2012, 09:34:57 pm
Topic Removed
Title: Re: {Urgent}Help Needed
Post by: Lordz on August 26, 2012, 09:41:56 pm
Replace OnPlayerCommand text section from this script to this:
Code: [Select]
public OnPlayerText(playerid, text[])
{
if(gServerData[E_STARTED] && strval(text) == gServerData[E_ANSWER]) {
GivePlayerMoney(playerid,E_CASH);
SetPlayerScore(GetPlayerScore(playerid)+1);
Title: Re: {Urgent}Help Needed
Post by: BlAck_DeViL on August 26, 2012, 09:43:16 pm
Can u do it and give me now ?
Title: Re: {Urgent}Help Needed
Post by: Lordz on August 26, 2012, 09:50:51 pm
Code: [Select]
/*
* Maths FILTERSCRIPT
* This is a short minigame
* Answer maths task for money
*/


#include <a_samp>

// Colours
#define COLOR_GREEN 0x00CC00FF
#define COLOR_RED 0xFF0000FF
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_ORANGE 0xEE9911FF
#define red    0xFF0000AA
#define blue    0x00FFFFAA
#define E_TIME 75 // Every how much seconds will new Maths game start
#define E_MAX_NUMBER 50 // Whats the highest number for script to choose as random
#define E_MIN_NUMBER 30 // Whats the smallest number for script to choose as random
#define E_CASH 10000 // How much will the player get for solving the task successfully

#if E_MAX_NUMBER < E_MIN_NUMBER
#error "MAX_NUMBER shouldn't be less than MIN_NUMBER"
#endif

enum E_SERVER_DATA
{
bool: E_STARTED,
E_ANSWER,
E_START_TIME,
E_TIMER,
}
new gServerData[E_SERVER_DATA];

forward LoadGame();

public OnFilterScriptInit()
{
print("Maths script is starting...");
print("Time between tests: " #E_TIME " seconds");
print("Min number: " #E_MIN_NUMBER " Max number: " #E_MAX_NUMBER );
SendClientMessageToAll(COLOR_YELLOW,"Maths script has been loaded!");

LoadGame();

SetTimer("LoadGame",E_TIME*1000,true);
return 1;
}

public OnFilterScriptExit()
{
print("Maths script has been unloaded!");
return 1;
}

public OnPlayerText(playerid, text[])
{
if(gServerData[E_STARTED] && strval(text) == gServerData[E_ANSWER]) {
GivePlayerMoney(playerid,E_CASH);
SetPlayerScore(GetPlayerScore(playerid)+1;

new msg[128],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(msg,sizeof(msg),"%s has solved a task successfully in %i seconds (Ans: %i)",name, GetTimerInSeconds(GetTickCount(),gServerData[E_START_TIME]), gServerData[E_ANSWER]);
SendClientMessageToAll(blue,msg);
print(msg);

gServerData[E_STARTED] = false;
gServerData[E_ANSWER] = 0;
gServerData[E_START_TIME] = 0;
return 1;
}
return 1;
}

public LoadGame()
{
new E_NUM1 = random(E_MAX_NUMBER-E_MIN_NUMBER) + E_MIN_NUMBER,
E_NUM2 = random(E_MAX_NUMBER-E_MIN_NUMBER) + E_MIN_NUMBER,
E_NUM3 = random(E_MAX_NUMBER-E_MIN_NUMBER) + E_MIN_NUMBER,
E_NUM4 = random(E_MAX_NUMBER-E_MIN_NUMBER) + E_MIN_NUMBER;

gServerData[E_STARTED] = true;
gServerData[E_ANSWER] = E_NUM1 + E_NUM2 - E_NUM3 + E_NUM4;
gServerData[E_START_TIME] = GetTickCount();

new msg[128];
format(msg,sizeof(msg),"First One who solve => %i + %i - %i + %i <= will get $%i and 1 score!",E_NUM1,E_NUM2,E_NUM3,E_NUM4,E_CASH);
SendClientMessageToAll(red,msg);
print(msg);
}

GetTimerInSeconds(now, started)
{
new secs, ms;
ms = now - started;
while(ms > 999) {
secs++;
ms = ms-1000;
}
return secs;
}
Title: Re: {Urgent}Help Needed
Post by: BlAck_DeViL on August 26, 2012, 09:56:57 pm
One Warning is Coming
Title: Re: {Urgent}Help Needed
Post by: [RD]Cenation on August 27, 2012, 07:57:41 am
is this a c++ program
Title: Re: {Urgent}Help Needed
Post by: BlAck_DeViL on August 27, 2012, 01:29:46 pm
Nop This is a Script Brother... :)

Post Anything in This Forum Brother And Get Reputation And Admin
Title: Re: {Urgent}Help Needed
Post by: Lordz on August 27, 2012, 05:51:20 pm
Replace your line 60,with this
Code: [Select]
SetPlayerScore(playerid)(GetPlayerScore(playerid)+1);
This might help.