Raised This Month: $ Target: $400
 0% 

Help| change my code


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
moshe191
Junior Member
Join Date: Feb 2011
Old 04-16-2012 , 12:52   Help| change my code
Reply With Quote #1

Hi,
I have a code on base this code(down), and I want to do that what you write in the INI file
will show at hmm, example asd -> dsa, Reverse the text .

*This code belong to GHW_CHRONIC!, I have another code on the base of this code...
but I need it on this code, THX
Code:
/*
*   _______     _      _  __          __
*  | _____/    | |    | | \ \   __   / /
*  | |         | |    | |  | | /  \ | |
*  | |         | |____| |  | |/ __ \| |
*  | |   ___   | ______ |  |   /  \   |
*  | |  |_  |  | |    | |  |  /    \  |
*  | |    | |  | |    | |  | |      | |
*  | |____| |  | |    | |  | |      | |
*  |_______/   |_|    |_|  \_/      \_/
*
*
*
*  Last Edited: 06-21-08
*
*  ============
*   Changelog:
*  ============
*
*  v2.1
*    -Bug Fix
*    -Changed String lengths from 128 - 256
*
*  v2.0
*    -Remake
*
*  v1.0
*    -Initial Release
*
*/

#define VERSION	"2.1"

#include <amxmodx>
#include <amxmisc>

#define NUM_MESSAGES	20
#define STRING_LEN	256

static const configfile[] = "addons/amxmodx/configs/messages.ini"
new text_messages[NUM_MESSAGES][STRING_LEN]
new hud_messages[NUM_MESSAGES][4][STRING_LEN]
new hud_message_colors[NUM_MESSAGES][4][3]
new saytext_msgid

new num_hudmessages, num_textmessages, cur_hudmessage, cur_textmessage

public plugin_init()
{
	register_plugin("GHW Auto Message Displayer",VERSION,"GHW_Chronic")

	register_cvar("advertise_hud_len","20.0")
	register_cvar("advertise_text_len","21.0")
	register_cvar("advertise_hud_loc","1")

	saytext_msgid = get_user_msgid("SayText")

	read_configfile()

	if(num_hudmessages) set_task(get_cvar_float("advertise_hud_len"),"display_hudmessage",0,"",0,"b")
	if(num_textmessages) set_task(get_cvar_float("advertise_text_len"),"display_textmessage",0,"",0,"b")
}

public read_configfile()
{
	new Fsize = file_size(configfile,1)
	new read[STRING_LEN], trash
	for(new i=0;i<Fsize;i++)
	{
		read_file(configfile,i,read,STRING_LEN - 1,trash)
		if(containi(read,"Text")==0)
		{
			read_file(configfile,i+1,read,STRING_LEN - 1,trash)
			replace_all(read,STRING_LEN - 1,"[blue]","^x03")
			replace_all(read,STRING_LEN - 1,"[/blue]","^x01")
			replace_all(read,STRING_LEN - 1,"[red]","^x03")
			replace_all(read,STRING_LEN - 1,"[/red]","^x01")
			replace_all(read,STRING_LEN - 1,"[green]","^x04")
			replace_all(read,STRING_LEN - 1,"[/green]","^x01")
			replace_all(read,STRING_LEN - 1,"[Blue]","^x03")
			replace_all(read,STRING_LEN - 1,"[/Blue]","^x01")
			replace_all(read,STRING_LEN - 1,"[Red]","^x03")
			replace_all(read,STRING_LEN - 1,"[/Red]","^x01")
			replace_all(read,STRING_LEN - 1,"[Green]","^x04")
			replace_all(read,STRING_LEN - 1,"[/Green]","^x01")
			format(text_messages[num_textmessages],STRING_LEN - 1,"^x04^x01%s",read)
			num_textmessages++
		}
		else if(containi(read,"Hud")==0)
		{
			read_file(configfile,i+1,read,STRING_LEN - 1,trash)
			new j = 0, position = 0;
			while(position < strlen(read) && i<4)
			{
				while(contain(read[position]," ")==0) position++
				if(containi(read[position],"[blue]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 6])
					position = containi(read[position],"[/blue]") + 7 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/blue]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 0
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 255
				}
				else if(containi(read[position],"[red]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 5])
					position = containi(read[position],"[/red]") + 6 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/red]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				else if(containi(read[position],"[green]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 7])
					position = containi(read[position],"[/green]") + 8 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/green]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 0
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				else if(containi(read[position],"[Yellow]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/Yellow]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Yellow]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				else if(containi(read[position],"[Orange]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/Orange]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Orange]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 128
					hud_message_colors[num_hudmessages][j][2] = 64
				}
				else if(containi(read[position],"[Pink]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 6])
					position = containi(read[position],"[/Pink]") + 7 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Pink]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 128
				}
				else if(containi(read[position],"[Indigo]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/Indigo]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Indigo]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 0
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 255
				}
				else if(containi(read[position],"[White]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/White]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/White]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 255
				}
				else if(
				containi(read[position],"[blue]")==-1 &&
				containi(read[position],"[red]")==-1 &&
				containi(read[position],"[green]")==-1 &&
				containi(read[position],"[Yellow]")==-1 &&
				containi(read[position],"[Orange]")==-1 &&
				containi(read[position],"[Pink]")==-1 &&
				containi(read[position],"[Indigo]")==-1 &&
				containi(read[position],"[White]")==-1
				)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position])
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 255
					position = 129
				}
				else
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position])
					position = containi(read[position],"[") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				j++
			}
			format(hud_messages[num_hudmessages][1],STRING_LEN - 1,"^n%s",hud_messages[num_hudmessages][1])
			format(hud_messages[num_hudmessages][2],STRING_LEN - 1,"^n^n%s",hud_messages[num_hudmessages][2])
			format(hud_messages[num_hudmessages][3],STRING_LEN - 1,"^n^n^n%s",hud_messages[num_hudmessages][3])
			num_hudmessages++
		}
	}
}

public display_hudmessage()
{
	new Float:loc[2]
	switch(get_cvar_num("advertise_hud_loc"))
	{
		case 2: 
		{
			loc[0] = -1.0
			loc[1] = -1.0
		}
		default:
		{
			loc[0] = -1.0
			loc[1] = 0.2
		}
	}
	set_hudmessage(hud_message_colors[cur_hudmessage][0][0],hud_message_colors[cur_textmessage][0][1],hud_message_colors[cur_textmessage][0][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
	show_hudmessage(0,hud_messages[cur_hudmessage][0])
	if(hud_messages[cur_hudmessage][1][2]!=0)
	{
		set_hudmessage(hud_message_colors[cur_hudmessage][1][0],hud_message_colors[cur_textmessage][1][1],hud_message_colors[cur_textmessage][1][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
		show_hudmessage(0,hud_messages[cur_hudmessage][1])
	}
	if(hud_messages[cur_hudmessage][2][4]!=0)
	{
		set_hudmessage(hud_message_colors[cur_hudmessage][2][0],hud_message_colors[cur_textmessage][2][1],hud_message_colors[cur_textmessage][2][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
		show_hudmessage(0,hud_messages[cur_hudmessage][2])
	}
	if(hud_messages[cur_hudmessage][3][6]!=0)
	{
		set_hudmessage(hud_message_colors[cur_hudmessage][3][0],hud_message_colors[cur_textmessage][3][1],hud_message_colors[cur_textmessage][3][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
		show_hudmessage(0,hud_messages[cur_hudmessage][3])
	}
	cur_hudmessage = (cur_hudmessage + 1 ) % num_hudmessages
}

public display_textmessage()
{
	new num, players[32], player
	get_players(players,num,"ch")
	for(new i=0;i<num;i++)
	{
		player = players[i]

		message_begin(MSG_ONE,saytext_msgid,{0,0,0},player)
		write_byte(player)
		write_string(text_messages[cur_textmessage])
		message_end()
	}
	cur_textmessage = (cur_textmessage + 1 ) % num_textmessages
}
moshe191 is offline
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 04-16-2012 , 12:57   Re: Help| change my code
Reply With Quote #2

Code:
stock str_reverse(const string[], output[], output_len) {     new len = strlen(string);     new i;         while(i < output_len && len > 0)     {         output[i++] = string[--len];     }         output[i] = 0;         return i; }
Code:
new reversed[4]; str_reverse("asd", reversed, charsmax(reversed)); // reversed = "dsa"
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
moshe191
Junior Member
Join Date: Feb 2011
Old 04-16-2012 , 13:39   Re: Help| change my code
Reply With Quote #3

thx, but I have 2 questions,
How do I put this in the code,
and its only on asd?
I think like that because it reading from the INI file, and I want that all wrote there will reverse,
and still you wrote "reversed = dsa" so its just on asd?
Thx again.
moshe191 is offline
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 04-16-2012 , 14:13   Re: Help| change my code
Reply With Quote #4

It was just an example on how to use the function. It can be used with any input string.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
moshe191
Junior Member
Join Date: Feb 2011
Old 04-16-2012 , 14:27   Re: Help| change my code
Reply With Quote #5

Ok, hhh, so how did I do it on all the words?
(sorry for my stupid questions, I'm new in this subject)
moshe191 is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 04-16-2012 , 20:56   Re: Help| change my code
Reply With Quote #6

Quote:
Originally Posted by moshe191 View Post
Ok, hhh, so how did I do it on all the words?
(sorry for my stupid questions, I'm new in this subject)
You just use it on every string you need reversed.
__________________

Last edited by fysiks; 04-16-2012 at 20:57.
fysiks is offline
moshe191
Junior Member
Join Date: Feb 2011
Old 04-17-2012 , 06:27   Re: Help| change my code
Reply With Quote #7

but it impossible because if I didnt say, its will be on all the words so
if you will change it in the INI its still be reversed, maybe can you make a variable that containing
all the words if it possible, if it didnt so how someone make thing like that?
Thanks again
moshe191 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:44.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode