Pages

06 November 2012

MySQL R7 - Example Account Script


/*	

	MySQL R7 - Example Account Script
	
	by: VincentDunn
	
*/

#include 
#include 
#include 

//-----------------------------------------------------

#define		MAX_LOG_TRIES		(4)
#define		MAX_PASS_LENGTH		(40)

#define     NEWB_SKIN			(299) // claude's skin

/* MySQL Credentials */
#define 	SQL_HOST 			"localhost"
#define 	SQL_USER 			"root"
#define 	SQL_PASS 			"r3070968"
#define 	SQL_DB 	 			"example"

/* Used for position arrays */
#define		posArr{%0}		%0[0], %0[1], %0[2]   
#define		posArrEx{%0}	%0[0], %0[1], %0[2], %0[3]

//-----------------------------------------------------

native WP_Hash(buffer[], len, const str[]);

//-----------------------------------------------------

/* Credits to RyDeR` */
stock randomString(strDest[], strLen = 30)
{
    while(strLen--)
        strDest[strLen] = random(2) ? (random(26) + (random(2) ? 'a' : 'A')) : (random(10) + '0');
}

//-----------------------------------------------------

static Float:g_newbSpawn[4] = {1815.2614,-1369.6233,15.0781,270.4365};

enum e_pInfo
{
	pSQLid,
	pPass[129],
	pSalt[30],
    Float:pHealth,
	Float:pPos[4],
	pInterior,
	pVirtualWorld,
	pSkin
}

new 
	g_PlayerInfo[MAX_PLAYERS][e_pInfo],
	g_Logged[MAX_PLAYERS char],
	g_LogTries[MAX_PLAYERS char],
	g_Died[MAX_PLAYERS char],
	g_Handle;

//-----------------------------------------------------

main(){}

//-----------------------------------------------------

public OnGameModeInit()
{	
	SetGameModeText("MySQL R-7 Gamemode");
	UsePlayerPedAnims();
	DisableInteriorEnterExits();
	
	mySQL_init();
	TextDraws_Init();
    return 1;
}

public OnGameModeExit()
{
	mysql_close(g_Handle); 
    return 1;
}

//-----------------------------------------------------

stock mySQL_init()
{
	mysql_debug(1); 
	g_Handle = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
	
	/* Table Structure - kind of messy, I know. */
	mysql_function_query(g_Handle, "CREATE TABLE IF NOT EXISTS `users` ( \
		`id` int(11) NOT NULL AUTO_INCREMENT, \
		`name` varchar(24) NOT NULL, \
		`pass` varchar(129) NOT NULL, \
		`salt` varchar(30) NOT NULL, \
		`health` float NOT NULL, \
		`X` float NOT NULL, \
		`Y` float NOT NULL, \
		`Z` float NOT NULL, \
		`A` float NOT NULL, \
		`interior` int(11) NOT NULL, \
		`vw` int(11) NOT NULL, \
		`skin` int(11) NOT NULL, \
		PRIMARY KEY (`id`) \
	)", false, "SendQuery", "");

	return 1;
}

forward SendQuery();
public SendQuery()
{
	// callback for queries that don't fetch data
	return 1;
}

//-----------------------------------------------------

public OnPlayerConnect(playerid)
{
	ToggleMainMenu(playerid, 1);
	SetTimerEx("SafeOnPlayerConnect", 250, 0, "d", playerid);
    return 1;
}

forward SafeOnPlayerConnect(playerid);
public SafeOnPlayerConnect(playerid)
{
	g_Logged[playerid] = 255;
	g_LogTries[playerid] = 0;
	g_Died[playerid] = 0;
	
	SetSpawnInfo(playerid, 0, NEWB_SKIN, posArr{g_newbSpawn}-4.0, 0.0, 0, 0, 0, 0, 0, 0);
	SpawnPlayer(playerid);
	
	CheckAccount(playerid);
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	SaveAccount(playerid);
	return 1;
}

//-----------------------------------------------------

public OnPlayerSpawn(playerid)
{	
	if(g_Logged[playerid] == 255) {
		g_Logged[playerid] = 0;
		clearScreen(playerid);
		
		SetPlayerCameraPos(playerid, posArr{g_newbSpawn});
		SetPlayerCameraLookAt(playerid, posArr{g_newbSpawn});
	}
	
	if(g_Died[playerid]) {
		SetCameraBehindPlayer(playerid);
		SetPlayerPos(playerid, posArr{g_newbSpawn});
		SetPlayerFacingAngle(playerid, g_newbSpawn[3]);
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	g_Died[playerid] = 1;
	return 1;
}

//-----------------------------------------------------

stock CheckAccount(playerid)
{
	new query[82];
	
	format(query, sizeof(query), "SELECT id, pass, salt FROM `users` WHERE `name` = '%s' LIMIT 1", returnName(playerid));
	mysql_function_query(g_Handle, query, true, "OnAccountCheck", "d", playerid);
	return 1;
}

forward OnAccountCheck(playerid);
public OnAccountCheck(playerid)
{
	if(playerid != INVALID_PLAYER_ID) { // prevent crashes
	
		new rows, fields;
		cache_get_data(rows, fields, g_Handle); 
		
		if(rows) {
			new 
				id[30];
				
			cache_get_row(0, 0, id, g_Handle);  g_PlayerInfo[playerid][pSQLid] = strval(id);
			cache_get_row(0, 1, g_PlayerInfo[playerid][pPass], g_Handle);
			cache_get_row(0, 2, g_PlayerInfo[playerid][pSalt], g_Handle);
			
			ShowDialog(playerid, Show:, DIALOG_STYLE_PASSWORD, "{1564F5}Login", "Type in your password below to log in.", "Okay", "Cancel");
		}
		
		else {
			ShowDialog(playerid, Show:, DIALOG_STYLE_PASSWORD, "{1564F5}Register", "Type in a password below to register an account.", "Okay", "Cancel");
		}
	}
	return 1;
}

//-----------------------------------------------------

Dialog:Login(playerid, response, listitem, inputtext[])
{
	if(!response || !strlen(inputtext)) {
		return ShowDialog(playerid, Show:, DIALOG_STYLE_PASSWORD, "{1564F5}Login", "Type in your password below to log in.", "Okay", "Cancel");
	}
	
	new 
		hashedinput[129];
	
	format(hashedinput, sizeof(hashedinput), "%s%s", g_PlayerInfo[playerid][pSalt], inputtext);
	WP_Hash(hashedinput, 129, hashedinput);
	
	if(strcmp(hashedinput, g_PlayerInfo[playerid][pPass])) {
		g_LogTries[playerid]++;
		
		if(g_LogTries[playerid] == MAX_LOG_TRIES) {
			return SendClientMessage(playerid, -1, "SERVER: Too many login attempts."), Kick(playerid);
		}
		
		SendClientMessage(playerid, -1, "SERVER: Invalid password!"),
		ShowDialog(playerid, Show:, DIALOG_STYLE_PASSWORD, "{1564F5}Login", "Type in your password below to log in.", "Okay", "Cancel");
	}
	else {
		LoadAccount(playerid);
	}
	return 1;
}

stock LoadAccount(playerid)
{
	new query[128];
	
	format(query, sizeof(query), "SELECT * FROM `users` WHERE `id` = %d", g_PlayerInfo[playerid][pSQLid]);
	mysql_function_query(g_Handle, query, true, "OnAccountLoad", "d", playerid);
}

forward OnAccountLoad(playerid);
public OnAccountLoad(playerid)
{
	ToggleMainMenu(playerid, 0);
	SetCameraBehindPlayer(playerid);
	
	new temp[40];
	format(temp, sizeof(temp), "SERVER: Welcome %s", returnNameEx(playerid));
	SendClientMessage(playerid, -1, temp);

	// Field indexes are relative to the query.
	cache_get_row(0, 4, temp), g_PlayerInfo[playerid][pHealth] = floatstr(temp),
	cache_get_row(0, 5, temp), g_PlayerInfo[playerid][pPos][0] = floatstr(temp),
	cache_get_row(0, 6, temp), g_PlayerInfo[playerid][pPos][1] = strval(temp),
	cache_get_row(0, 7, temp), g_PlayerInfo[playerid][pPos][2] = strval(temp),
	cache_get_row(0, 8, temp), g_PlayerInfo[playerid][pPos][3] = strval(temp),
	cache_get_row(0, 9, temp), g_PlayerInfo[playerid][pInterior] = strval(temp),
	cache_get_row(0, 10, temp), g_PlayerInfo[playerid][pVirtualWorld] = strval(temp),
	cache_get_row(0, 11, temp), g_PlayerInfo[playerid][pSkin] = strval(temp);
	
	SetPlayerHealth(playerid, g_PlayerInfo[playerid][pHealth]);	
	SetPlayerPos(playerid, posArr{g_PlayerInfo[playerid][pPos]});
	SetPlayerFacingAngle(playerid, g_PlayerInfo[playerid][pPos][3]);
	SetPlayerInterior(playerid, g_PlayerInfo[playerid][pInterior]);
	SetPlayerVirtualWorld(playerid, g_PlayerInfo[playerid][pVirtualWorld]);
	SetPlayerSkin(playerid, g_PlayerInfo[playerid][pSkin]);
	return 1;
}

//-----------------------------------------------------

Dialog:Register(playerid, response, listitem, inputtext[]) 
{
	if(!response) {
		return SendClientMessage(playerid, -1, "SERVER: You have left the server."), Kick(playerid);
	}
	
	if(isnull(inputtext)) {
		return ShowDialog(playerid, Show:, DIALOG_STYLE_PASSWORD, "{1564F5}Register", "Type in a password below to register an account.", "Okay", "Cancel");
	}
	
	if(strlen(inputtext) >= MAX_PASS_LENGTH) {
		return SendClientMessage(playerid, -1, "SERVER: Password must not be more than 40 characters"), ShowDialog(playerid, Show:, DIALOG_STYLE_PASSWORD, "{1564F5}Register", "Type in a password below to register an account.", "Okay", "Cancel");
	}
	
	new 
		Salt[30],
		hash[129];
	
	randomString(Salt, 30);
	format(hash, sizeof(hash), "%s%s", Salt, inputtext);
	
	WP_Hash(hash, sizeof(hash), hash);
	CreateAccount(playerid, Salt, hash);
	
	format(hash, sizeof(hash), "SERVER: Welcome %s", returnNameEx(playerid));
	SendClientMessage(playerid, -1, hash);
	
	g_PlayerInfo[playerid][pSkin] = NEWB_SKIN;
	
	ToggleMainMenu(playerid, 0);
	SetCameraBehindPlayer(playerid);
	SetPlayerPos(playerid, posArr{g_newbSpawn});
	SetPlayerFacingAngle(playerid, g_newbSpawn[3]);
	SetPlayerSkin(playerid, NEWB_SKIN);	
	return 1;
}

//-----------------------------------------------------

stock CreateAccount(playerid, salt[], pass[129])
{
	new query[240];
	format(query, sizeof(query), "INSERT INTO `users` (name, salt, pass) VALUES (\'%s\', \'%s\', \'%s\')",
		returnName(playerid),
		salt,
		pass
	);
	
	mysql_function_query(g_Handle, query, false, "OnAccountCreate", "d", playerid);
}

forward OnAccountCreate(playerid);
public OnAccountCreate(playerid)
{
	g_PlayerInfo[playerid][pSQLid] = mysql_insert_id();
	return 1;
}

stock SaveAccount(playerid)
{
	new 
		query[300],
		Float:pos[4],
		Float:health;
	
	GetPlayerPos(playerid, posArr{pos});
	GetPlayerFacingAngle(playerid, pos[3]);
	GetPlayerHealth(playerid, health);
	
	format(query, sizeof(query), "UPDATE `users` SET health = %.1f, X = %.2f, Y = %.2f, Z = %.2f, A = %.2f, interior = %d, vw = %d, skin = %d WHERE `id` = %d",
		health,
		posArrEx{pos},
		GetPlayerInterior(playerid),
		GetPlayerVirtualWorld(playerid),
		GetPlayerSkin(playerid),
		g_PlayerInfo[playerid][pSQLid]
	);
	
	mysql_function_query(g_Handle, query, false, "SendQuery", "");
	return 1;
}

//-----------------------------------------------------

stock returnName(playerid)
{
	new name[24];
	GetPlayerName(playerid, name, 24);
	return name;
}

stock returnNameEx(playerid)
{
	new name[24];
	GetPlayerName(playerid, name, 24);
	
	for(new x=0; x<24; x++) {
		if(name[x] == '_') {
			name[x] = ' ';
		}
	}

	return name;
}

stock clearScreen(playerid)
{
	for(new i; i<100; i++) {
		SendClientMessage(playerid, -1, "");
	}
	return 1;
}

//-----------------------------------------------------

new
	Text:MainMenu[4];

stock TextDraws_Init()
{	
	/* Bottom Bar */
	MainMenu[0] = TextDrawCreate(250.000000, 343.000000, "~n~~n~~n~~n~~n~~n~");
	TextDrawAlignment(MainMenu[0], 2);
	TextDrawBackgroundColor(MainMenu[0], 255);
	TextDrawFont(MainMenu[0], 1);
	TextDrawLetterSize(MainMenu[0], 1.000000, 2.000000);
	TextDrawColor(MainMenu[0], -16776961);
	TextDrawSetOutline(MainMenu[0], 1);
	TextDrawSetProportional(MainMenu[0], 1);
	TextDrawUseBox(MainMenu[0], 1);
	TextDrawBoxColor(MainMenu[0], 255);
	TextDrawTextSize(MainMenu[0], 90.000000, 803.000000);

	/* Top Bar */
	MainMenu[1] = TextDrawCreate(250.000000, -12.000000, "~n~~n~~n~~n~~n~~n~");
	TextDrawAlignment(MainMenu[1], 2);
	TextDrawBackgroundColor(MainMenu[1], 255);
	TextDrawFont(MainMenu[1], 1);
	TextDrawLetterSize(MainMenu[1], 1.000000, 2.000000);
	TextDrawColor(MainMenu[1], -16776961);
	TextDrawSetOutline(MainMenu[1], 1);
	TextDrawSetProportional(MainMenu[1], 1);
	TextDrawUseBox(MainMenu[1], 1);
	TextDrawBoxColor(MainMenu[1], 255);
	TextDrawTextSize(MainMenu[1], 90.000000, 918.000000);

	/* Top Colored Bar */
	MainMenu[2] = TextDrawCreate(729.000000, 99.000000, "_");
	TextDrawBackgroundColor(MainMenu[2], 255);
	TextDrawFont(MainMenu[2], 1);
	TextDrawLetterSize(MainMenu[2], 50.000000, 0.099999);
	TextDrawColor(MainMenu[2], -16776961);
	TextDrawSetOutline(MainMenu[2], 0);
	TextDrawSetProportional(MainMenu[2], 1);
	TextDrawSetShadow(MainMenu[2], 1);
	TextDrawUseBox(MainMenu[2], 1);
	TextDrawBoxColor(MainMenu[2], 0x1564F5FF);
	TextDrawTextSize(MainMenu[2], -5.000000, 1031.000000);

	/* Bottom Colored Bar */
	MainMenu[3] = TextDrawCreate(729.000000, 340.000000, "_");
	TextDrawBackgroundColor(MainMenu[3], 255);
	TextDrawFont(MainMenu[3], 1);
	TextDrawLetterSize(MainMenu[3], 50.000000, 0.099999);
	TextDrawColor(MainMenu[3], -16776961);
	TextDrawSetOutline(MainMenu[3], 0);
	TextDrawSetProportional(MainMenu[3], 1);
	TextDrawSetShadow(MainMenu[3], 1);
	TextDrawUseBox(MainMenu[3], 1);
	TextDrawBoxColor(MainMenu[3], 0x1564F5FF);
	TextDrawTextSize(MainMenu[3], -5.000000, 1031.000000);
	return 1;
}

stock ToggleMainMenu(playerid, toggle)
{
	for(new i=0; i
Baca Selengkapnya... MySQL R7 - Example Account Script

26 March 2012

Sistem Informasi Jadwal Penerbangan Pesawat berbasis WAP (J2ME)

Sebelum memulai pembahasan ini, saya ingin mengucapkan banyak terima kasih kepada :
  • Bapak Drs. I Wayan Simpen, M.MSI dan Bapak Indra Syamsie, M.Kom atas clue dan masukkannya selama penulisan Tugas Akhir ini.
  • Bapak Yesaya Tommy P. S.Kom atas penjelasannya mengenai definisi WAP.
  • Hamran Syah Putra, my best friend & partner in crime (You know me so well brother) LOL hahahha :D

Pembahasan ini merupakan lanjutan dari cerita "Perkenalan dengan NetBeans".

Perancangan Sistem Informasi Jadwal Penerbangan Pesawat berbasis WAP (J2ME) pada PT. Angkasa Pura 1 cabang Bandar Udara Internasional Sultan Hasanuddin Makassar, merupakan sebuah aplikasi sistem informasi yang menampilkan informasi jadwal penerbangan pesawat yang ada pada FIDS (Flight Informartion Display System) kemudian ditampilkan pada layar handphone yang mendukung JAVA Mobile Aplication. Berikut adalah gambaran dari rancangan aplikasi ini,
Rancangan Arsitektur Sistem Infromasi Jadwal Penerbangan Pesawat berbasi WAP
Gambar Rancangan Arsitektur Aplikasi
Rancangan Aplikasi :
  • Aplikasi ini terdiri dari NetBeans Mobile Aplication, PHP, dan Database jadwal penerbangan pesawat yang tersimpan pada sebuah server yang sama dengan server FIDS.
  • Aplikasi jadwal penerbangan pesawat ini dibuat dengan mengggunakan NetBeans Mobile Aplication yang akan dihubungkan dengan file PHP pada server FIDS untuk melakukan request data/jadwal penerbangan pesawat yang ingin ditampilkan pada layar Mobile Phone.
  • Aplikasi ini juga menampilkan jadwal penerbangan pesawat secara keseluruhan. Artinya jadwal penerbangan yang ditampilkan telah mendapat izin dari Makassar Air Traffic Service Center untuk melakukan proses penerbangan di Bandar Udara Sultan Hasanuddin Makassar.
  • Untuk menghindari adanya SQL Injection pada server FIDS, saya memblock beberapa penggunaan Command SQL tertentu pada file PHP yang tersimpan di server FIDS.
Tampilan Aplikasi Jadwal Penerbangan Pesawat :
1. Splash Screen
Splash Screen
   





























2. Menu Utama
Menu Utama
    
































3. Jadwal Penerbangan
Jadwal Penerbangan Pesawat
   


































4. Cari Informasi Keberangkatan Pesawat
   






























5. Output Cari informasi keberangkatan Pesawat






































6. Cari informasi kedatangan pesawat




































7. Output Cari informasi kedatangan pesawat







































Kesimpulan dari Perancangan Aplikasi

A. Kekurangan aplikasi
             Dari beberapa pengujian aplikasi pada beberapa merek Handphone tertentu, saya melihat adanya kelemahan-kelemahan yang terdapat pada aplikasi ini, dianntaranya :
  • Karena aplikasi ini dibuat dengan menggunakan konfigurasi CLDC (Connected Limited Device Configuration) secara otomatis aplikasi ini juga mengadopsi beberapa kekurangan dan keterbatasan konfigurasi CLDC, yaitu : Memori minimal 128 KB, Memori runtime minimal 32 KB, Antar muka pengguna sangat terbatas, Konektifitas jaringan biasanya wireless dengan bandwidth terbatas dan akses yang terputus-putus, Untuk platform Java tersedia memori 160 - 512 KB, Prosesor 6-bit atau 8-bit, Konsumsi daya rendah dan sering menggunakan baterai yang dapat diisi ulang.
  • A plikasi ini dapat berjalan pada beberapa merek handphone, seperti : Mito 833, Nokia C3, Nokia X3, Cross touchscreen (lupa tipe HP nya) dengan konfigurasi MIDP 2.0 dan CLDC 1.0


B. Saran dan Kritik
            Saya menyadari dalam penulisan karya ilmiah ini masih banyak terdapat kekurangan dan sangat jauh dari kata sempurna, untuk itu saya sangat berharap adanya saran dan kritik dari teman-teman pembaca untuk pengembangan dari Sistem Informasi Jadwal Penerbangan Pesawat berbasis WAP ( J2ME ) ini.
Baca Selengkapnya... Sistem Informasi Jadwal Penerbangan Pesawat berbasis WAP (J2ME)

25 March 2012

Perkenalan dengan NetBeans

Beberapa waktu yang lalu saya dihadapkan pada sebuah permasalahan yang menuntut saya untuk mempelajari kembali bahasa pemograman ini (JAVA). Dengan sedikit rasa percaya diri dan agak pesimis melihat tenggak waktu yang ada, saya dan partner saya mengiakan untuk membuat program tersebut sebagai Tugas Akhir ( SKRIPSI ) pada salah satu Perguruan Tinggi Swasta di kota Makassar.

Sistem Informasi Jadwal Penerbangan Pesawat berbasis WAP (J2ME) + PHP dan MySQL.

Awalnya saya mulai mencari referensi software apa yang harus saya gunakan untuk merancang dan membuat aplikasi ini. Berkat Googling sana sini, saya menemukan 2 Software yang bisa saya gunakan untuk membangun aplikasi sistem informasi  jadwal penerbangan pesawat berbasis WAP ini, yaitu
Eclipse dan NetBeans. Melalui postingan website, artikel, dan informasi dari teman-teman di dunia maya, saya memilih untuk menggunakan NetBeans dalam membangun aplikasi tersebut.
NetBeans IDE 7.0 RC1
NetBeans IDE 7.0 RC1

Baca Selengkapnya... Perkenalan dengan NetBeans

04 January 2012

Ebook Premium 2012 Harga Gratis

٩(●̮̮̃•)۶ Adsense Guide

Ebook gratis satu ini berisi Panduan Lengkap bisnis Adsense khususnya Google Adsense. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2317830/Adsense-Guide.zip.html

٩(●̮̮̃•)۶ Bluejacking

Ebook gratis satu ini berisi cara membajak ponsel orang lain. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2317831/bluejacking.zip.html

٩(●̮̮̃•)۶ Blog Profit Blueprint

Ebook gratis satu ini berisi keuntungan berbisnis online di internet. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2317832/blog_profites_blueprint.zip.html

٩(●̮̮̃•)۶ Adsense Blogging 2007

Ebook gratis satu ini berisi Panduan Lengkap bisnis Adsense khususnya Google Adsense. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2317833/Adsense-Blogging-2007.zip.html

٩(●̮̮̃•)۶ Belanja Hemat

Ebook gratis satu ini berisi Panduan Lengkap berbelanja hemat hingga 70%. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2317834/belanja_hemat.zip.html

٩(●̮̮̃•)۶ Buat Web PHP

Ebook gratis satu ini berisi Panduan Lengkap membuat website dengan PHP walaupun kita tidak menguasai PHP. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318095/buat_webPHP.zip.html

٩(●̮̮̃•)۶ Contoh Praktek Bisnis Online

Ebook gratis satu ini berisi Panduan praktek bisnis online. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318134/contohpraktek-edit.zip.html

٩(●̮̮̃•)۶ Contoh Praktek Bisnis Online

Ebook gratis satu ini berisi Panduan Lengkap bisnis online. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318135/contohpraktek.zip.html

٩(●̮̮̃•)۶ Cloning SIM GSM

Ebook gratis satu ini berisi Panduan Lengkap mengkloning kartu SIM GSM. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318136/cloningSIMGSM.zip.html

٩(●̮̮̃•)۶ Bisnis Gratis

Ebook gratis satu ini berisi Panduan Lengkap bisnis gratisan di internet. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318173/gratis.zip.html

٩(●̮̮̃•)۶ Ebook Bisnis

Ebook gratis satu ini berisi Panduan Lengkap bisnis ebook. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318174/ebookutama.zip.html

٩(●̮̮̃•)۶ Email Marketing

Ebook gratis satu ini berisi Panduan Lengkap pemasaran lewat email, bagaimana menghasilkan uang dari email kita. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318176/email_marketing.zip.html

٩(●̮̮̃•)۶ Printer Epson Blinking

Ebook gratis satu ini berisi Panduan Lengkap cara mengatasi blinking pada printer Epson. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2318177/ESFBlink.zip.html

٩(●̮̮̃•)۶ eCarding

Ebook gratis satu ini berisi Panduan Lengkap cara membajak kartu kredit orang lain. Silahkan download.
http://www.ziddu.com/download/2318178/eCarding.zip.html

٩(●̮̮̃•)۶ Kalkulator Online dengan PHP

Ebook gratis satu ini berisi Panduan Lengkap membuat kalkulator online dengan PHP. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328264/Kalkulator-online-dengan-PHP.zip.html

٩(●̮̮̃•)۶ Kumpulan Humor Terbaik

Ebook gratis satu ini berisi Kumpulan Humor Terbaik. Lucu dan menghibur, cocok untuk menghilangkan stres. Silahkan download.
http://www.ziddu.com/download/2328265/KumHumTerbaik.zip.html

٩(●̮̮̃•)۶ Kumpulan Cerita Menarik

Ebook gratis satu ini berisi kumpulan cerita menarik. Silahkan download.
http://www.ziddu.com/download/2328266/KumCeMenarik.zip.html

٩(●̮̮̃•)۶ Internet Marketing For Beginner

Ebook gratis satu ini berisi Panduan Lengkap bisnis internet untuk pemula. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328267/imfb.zip.html

٩(●̮̮̃•)۶ Internet Flexy

Ebook gratis satu ini berisi Panduan Lengkap internet dengan Telkom flexy. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328268/internet_flexi.zip.html

٩(●̮̮̃•)۶ Membuat Cuplikan Artikel

Ebook gratis satu ini berisi Panduan Lengkap membuat cuplikan artikel. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328316/Membuat-Cuplikan-Artikel.zip.html

٩(●̮̮̃•)۶ Membuat File Mail

Ebook gratis satu ini berisi Panduan Lengkap membuat file mail. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328317/Membuat-file-mail.zip.html

٩(●̮̮̃•)۶ Membuat Dynamic Title

Ebook gratis satu ini berisi Panduan Lengkap membuat judul yang dinamis dan menarik. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328318/Membuat-Dynamic-Title.zip.html

٩(●̮̮̃•)۶ Membuat Halaman Login

Ebook gratis satu ini berisi Panduan Lengkap cara membuat halaman login. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328319/Membuat-Halaman-Login.zip.html

٩(●̮̮̃•)۶ Masterweb Jadi Bos

Ebook gratis satu ini berisi Panduan Lengkap cara seorang masterweb menjadi bos. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328320/masterweb_jadibos.zip.html

٩(●̮̮̃•)۶ Membuat Page 1-2-3

Ebook gratis satu ini berisi Panduan Lengkap membuat halaman 1-2-3. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328398/Membuat-PAGE-1-2-3.zip.html

٩(●̮̮̃•)۶ Origami Theory

Ebook gratis satu ini berisi Panduan Lengkap Origami Theory. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328438/orithe.zip.html

٩(●̮̮̃•)۶ Misteri Rumah Tua

Ebook gratis satu ini berisi Cerita menarik tentang Misteri Rumah Tua. Cocok untuk menambah koleksi novel anda. Silahkan download.
http://www.ziddu.com/download/2328439/MisRumTua.zip.html

٩(●̮̮̃•)۶ Panduan Memasarkan E-book

Ebook gratis satu ini berisi Panduan Lengkap membuat dan memasarkan ebook. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328450/panduan_ebook.zip.html

٩(●̮̮̃•)۶ PHP Script Validasi

Ebook gratis satu ini berisi Panduan Lengkap membuat script validasi dengan PHP. Lengkap dan terperinci. Silahkan download.
http://www.ziddu.com/download/2328451/Php-Script-Validasi.zip.html

٩(●̮̮̃•)۶ Tiga Kunci Sukses Bisnis di Internet

Ebook gratis ini berisi kunci sukses bisnis di internet. Dijelaskan dengan lengkap dan terperinci. Silahkan download di sini.
http://www.ziddu.com/download/2285809/3_Kunci_Sukses.zip.html

٩(●̮̮̃•)۶ 101 Bahasa I Love You

Ebook gratis ini berisi cara-cara “Bagaimana Mengatakan “I Love U” dalam 100+ Bahasa?”. Silahkan download di sini.
http://www.ziddu.com/download/2285810/101_Bahasa_I_Love_U.zip.html

٩(●̮̮̃•)۶ 866 My Seo Guide

Ebook gratis ini berisi Panduan SEO, bagaimana mengoptimalkan SEO untuk mempopulerkan website Anda. Dijelaskan dengan lengkap dan terperinci. Silahkan download di sini.
http://www.ziddu.com/download/2285812/866MYSEOEGUIDE.zip.html

٩(●̮̮̃•)۶ Adsense

Ebook gratis ini berisi kunci sukses bisnis di internet. Dijelaskan dengan lengkap dan terperinci. Silahkan download di sini.
http://www.ziddu.com/download/2285811/adsense.zip.html

٩(●̮̮̃•)۶ Adsense Affiliate Income

Ebook gratis ini berisi cara-cara meningkatkan pendapatan dari adsense, khususnya Google Adsense. Dijelaskan dengan lengkap dan terperinci. Silahkan download di sini.
http://www.ziddu.com/download/2285808/adsense_affiliate_income.zip.html

٩(●̮̮̃•)۶ 10 Tips Adsense

E-book gratis yang satu ini berisi 10 Rahasia Luar Biasa menghasilkan uang dari Google Adsense. Petunjuk praktis dan lengkap yang bisa Anda ikuti untuk menjadi kaya dari Google Adsense. Silahkan Download disini.
http://www.ziddu.com/download/2254427/10-AdSense-Tips.pdf.html

٩(●̮̮̃•)۶ Pendapatan dari Afiliasi Adsense

E-book gratis yang satu ini berisi semua hal yang berkaitan dengan adsense dan afiliasi. Lebih khususnya Google Adsense. Lengkap dan praktis dipelajari. Silahkan Download disini.
http://www.ziddu.com/download/2254494/adsense-affiliate-income.pdf.html

٩(●̮̮̃•)۶ Panduan Adword

E-book gratis yang satu ini berisi panduan langkah demi langkah cara mendaftar Google Adwords. Lengkap dan terperinci, mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2254495/adwords.zip.html

٩(●̮̮̃•)۶ 57 Artikel tentang E-book Gratis

E-book gratis yang satu ini berisi 57 artikel tentang e-book gratis, antara lain tentang tips membuat e-book, mendapatkan traffic dari e-book, dan masih banyak lagi. Sayang kalau tidak dimiliki. Silahkan Download disini.
http://www.ziddu.com/download/2254496/57articles.zip.html

٩(●̮̮̃•)۶ Rahasia Sukses Menghasilkan Uang dengan Google Adsense

E-book gratis yang satu ini berisi langkah-langkah yang harus dilakukan agar bisa sukses menghasilkan uang dengan Google Adsense. Sangat lengkap dan mudah dipahami. Silahkan Download disini.
http://www.ziddu.com/download/2254497/adsense.exe.html

٩(●̮̮̃•)۶ E-book Bisnis Online

E-book gratis yang satu ini berisi aneka tips dan trick mengelola bisnis online di internet. Cocok bagi Anda yang ingin mendalami bisnis online. Silahkan Download disini.
http://www.ziddu.com/download/2254498/ANTIN.zip.html

٩(●̮̮̃•)۶ Cara Mendaftar di Amazon.com

E-book gratis yang satu ini berisi panduan step by step cara mendaftar di Amazon.com. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261549/caramendaftardiamazon.zip.html

٩(●̮̮̃•)۶ Cara Mendaftar Google Adsense

E-book gratis yang satu ini berisi panduan step by step cara mendaftar Google Adsense. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261550/CaraDaftarGoogleAdsense.pdf.html

٩(●̮̮̃•)۶ 101 Cyber Taktik

E-book gratis yang satu ini berisi 101 taktik website. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261551/ct101.zip.html

٩(●̮̮̃•)۶ Blog profit blueprint

E-book gratis yang satu ini berisi serba serbi mendapatkan uang dari blog pribadi. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261552/blog-profits-blueprint.pdf.html

٩(●̮̮̃•)۶ Cara Widraw ke Bank Indonesia

E-book gratis yang satu ini berisi panduan step by step Cara Widraw ke Bank Indonesia. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261553/carawithdrawkebankindonesia.zip.html

٩(●̮̮̃•)۶ Ebook Tips dan Trick

E-book gratis yang satu ini berisi aneka tips dan tricks e-book. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261642/ebook.zip.html

٩(●̮̮̃•)۶ Telkom Speedy

E-book gratis yang satu ini berisi seputar Telkom Speedy. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261643/file.pdf.html

٩(●̮̮̃•)۶ Domain co.cc

E-book gratis yang satu ini berisi panduan step by step cara mempersingkat alamat website dengan doman gratis co.cc. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261644/domain-cocc.pdf.html

٩(●̮̮̃•)۶ EAD

E-book gratis yang satu ini berisi panduan step by step cara meningkatkan kepopuleran produk dan website kita di internet. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261645/EAD.exe.html

٩(●̮̮̃•)۶ First 1000

E-book gratis yang satu ini berisi panduan step by step cara menghasilkan uang melimpah dari internet. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261646/First1000.pdf.html

٩(●̮̮̃•)۶ E-book adsense gratis

E-book gratis yang satu ini berisi panduan step by step memperoleh uang berlimpah dari adsense, khususnya Google Adsense. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261766/free-adsense-ebook.pdf.html

٩(●̮̮̃•)۶ Kamus Adsense dan Perihal Banned

E-book gratis yang satu ini berisi berbagai istilah yang terdapat dalam Google Adsense dan Perihal Banned. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261767/KamusAdSenseDanPerihalBanned.pdf.html

٩(●̮̮̃•)۶ Pemasaran Afiliasi Performa Tinggi

E-book gratis yang satu ini berisi cara-cara pemasaran afiliasi performa tinggi. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261768/HighPerformanceAffiliateMarketing.pdf.html

٩(●̮̮̃•)۶ Inspirasi Bisnis

E-book gratis yang satu ini berisi Inspirasi Bisnis, cara memperoleh uang melimpah dari internet. Lengkap dan mudah diikuti. Silahkan Download disini.
http://www.ziddu.com/download/2261769/inspirasi-bisnis.pdf.html

٩(●̮̮̃•)۶ HBS 2

E-book gratis yang satu ini berisi script untuk mengetahui statistik pengunjung website. Lengkap dan mudah diikuti. SilahkanDownload disini.
http://www.ziddu.com/download/2261770/HBS_2_0.zip.html


Sumber : http://www.facebook.com/groups/177605925644909/doc/245524988853002/
Baca Selengkapnya... Ebook Premium 2012 Harga Gratis