Making an RP gamemode.
#1

I have decided to make an RP GM from scratch and I would like a development team to helpme with things and also anyone that is interested please PM me and to everyone else, Please give your suggestions

Here is the features I will try to script have:
Dynamic Faction System - admins use /fcreate and then a box comes up and have a few options
1.faction Name
2.Type - 1.Police 2.Prison Guard 3.Army 4.Gang 5.Hitman 6.Fire Department 7.Medical Department 8.Taxi
3.Duty Point
4.Skins - Maximum of 15 ranks
5.Vehicles - Maximum of 15 Vehicles
6.Ranks - Set the rank names
7.Rank Numbers - Set the amount of ranks the department will use

Dynamic Housing system - Admins use /hcreate and get a box with the following options
1.Door entrance
2.Price
3.Interior

Dynamic Business System - Players use /setupbusiness and a box comes up
1.Entrance
2.Type
3.Interior
4.Entrance Fee
5.Price

/Contract command for level 12's - Level 12 is to avoid abuse from under level 12

Paycheck System - Players have to go to the Bank to collect a paycheck

Advanced Admin System - Admins are to have like 100+ commands like
/kick /ban /permban /ajail /goto /aprison /mute

Newbie chat channel - Just like the one from SA-RP,US-RP and NG-RP
/(n)ewbie /tognewb

and other Basic RP commands - like /b /o /me /do /animlist

Phone System - Players can use /call and then type the number for example: /call 911

Give your suggestions and PM me to join my development team and they will be put in the credits

Progress So far
Код:
// Super Cool Role Play
// Made By Sean_Mcelholm
// Steal my work and DIE! >:D

#pragma unused ret_memcpy

#else

#include <a_samp>
#include <dini>
#include <dudb>
#include <djson>
#include <zcmd>

new gPlayerLogged[MAX_PLAYERS]

#define SERVER_USER_FILE "scriptfiles/%s.ini"
#define COLOR_WHITE             0xFFFFFFFF
#define FACTIONS_FILE           "Factions"
#define MAX_GROUPS

public PrepareFactionsFile(commandtype, name, skin1, skin2, skin3, skin4, skin5, skin6, Float:x, FLoat:y, Float:z,interior)
{
    new loopstring[128], otherstring[128];
    new i = 0;
    while(i <= MAX_GROUPS)
    {
        i++;
        format(loopstring, sizeof(loopstring),"Faction_%d",i);
        format(otherstring, sizeof(otherstring),"Faction_%d/FactionName",i);    djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/CommandsType",i);   djSetInt(FACTIONS_FILE,otherstring,commandtype,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank1",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank2",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank3",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank4",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank5",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank6",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank7",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank8",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank9",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank10",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank11",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank12",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank13",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank14",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Rank15",i);  djSet(FACTIONS_FILE,otherstring,"None",true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin1",i);  djSetInt(FACTIONS_FILE,otherstring,skin1,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin2",i);  djSetInt(FACTIONS_FILE,otherstring,skin2,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin3",i);  djSetInt(FACTIONS_FILE,otherstring,skin3,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin4",i);  djSetInt(FACTIONS_FILE,otherstring,skin4,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin5",i);  djSetInt(FACTIONS_FILE,otherstring,skin5,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin6",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin7",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin8",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin9",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true)
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin10",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin11",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin12",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin13",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin14",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Skin15",i);  djSetInt(FACTIONS_FILE,otherstring,skin6,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/X",i);  djSetFloat(FACTIONS_FILE,otherstring,x,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Y",i);  djSetFloat(FACTIONS_FILE,otherstring,y,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Z",i);  djSetFloat(FACTIONS_FILE,otherstring,z,true);
        format(otherstring, sizeof(otherstring),"Faction_%d/Interior",i);   djSetInt(FACTIONS_FILE,otherstring,interior,true);
        djCommit(FACTIONS_FILE);
        LoadFactions();
    }
}

public LoadFactions()
{
    new string[128], otherstring[128];
    new i = 0;
    while(i <= MAX_GROUPS)
    {
        i++;
        format(string, sizeof(string),"Faction_%d",i);
        if(djIsSet(FACTIONS_FILE, string))
        {
            new factionname[128], rankname1[128],rankname2[128],rankname3[128],rankname4[128],rankname5[128],rankname6[128];
            format(otherstring, sizeof(otherstring),"Faction_%d/FactionName",i); format(factionname,sizeof(factionname),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/CommandsType",i); FactionInfo[i][fCommandsType] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank1",i); format(rankname1,sizeof(rankname1),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank2",i); format(rankname2,sizeof(rankname2),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank3",i); format(rankname3,sizeof(rankname3),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank4",i); format(rankname4,sizeof(rankname4),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank5",i); format(rankname5,sizeof(rankname5),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank6",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank7",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank8",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank9",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank10",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank11",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank12",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank13",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank14",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
            format(otherstring, sizeof(otherstring),"Faction_%d/Rank15",i); format(rankname6,sizeof(rankname6),"%s", dj(FACTIONS_FILE, otherstring));
			format(otherstring, sizeof(otherstring),"Faction_%d/Skin1",i); FactionInfo[i][fSkin1] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin2",i); FactionInfo[i][fSkin2] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin3",i); FactionInfo[i][fSkin3] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin4",i); FactionInfo[i][fSkin4] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin5",i); FactionInfo[i][fSkin5] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin6",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring)
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin7",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin8",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin9",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin10",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin11",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin12",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin13",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin14",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Skin15",i); FactionInfo[i][fSkin6] = djInt(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/X",i); FactionInfo[i][fX] = djFloat(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Y",i); FactionInfo[i][fY] = djFloat(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Z",i); FactionInfo[i][fZ] = djFloat(FACTIONS_FILE, otherstring);
            format(otherstring, sizeof(otherstring),"Faction_%d/Interior",i); FactionInfo[i][fInterior] = djInt(FACTIONS_FILE, otherstring);
            FactionInfo[i][fFactionName] = factionname;
            FactionInfo[i][fRank1] = rankname1;
            FactionInfo[i][fRank2] = rankname2;
            FactionInfo[i][fRank3] = rankname3;
            FactionInfo[i][fRank4] = rankname4;
            FactionInfo[i][fRank5] = rankname5;
            FactionInfo[i][fRank6] = rankname6;
            FactionInfo[i][fRank7] = rankname7;
            FactionInfo[i][fRank8] = rankname8;
            FactionInfo[i][fRank9] = rankname9;
            FactionInfo[i][fRank10] = rankname10;
            FactionInfo[i][fRank11] = rankname11;
            FactionInfo[i][fRank12] = rankname12;
            FactionInfo[i][fRank13] = rankname13;
            FactionInfo[i][fRank14] = rankname14;
            FactionInfo[i][fRank15] = rankname15;
        }
    }
    return 1;
}

forward PrepareFactionsFile(commandtype, name, skin1, skin2, skin3, skin4, skin5, skin6, skin7, skin8, skin9, skin10, skin11, skin11, skin 12, skin13, skin14, skin15 Float:x, FLoat:y, Float:z,interior);

enum fInfo
{
    fFactionName[128], //Faction Name
    fCommandsType, //Type of commands. For example "1"
    fRank1[128], // 1st rank name
    fRank2[128], // 2nd rank name
    fRank3[128], // 3rd rank name
    fRank4[128], // 4th rank name
    fRank5[128], // 5th rank name
    fRank6[128], // 6th rank name
    fRank7[128], // 7th rank name
    fRank8[128], // 8th rank name
    fRank9[128], // 9th rank name
    fRank10[128], // 10th rank name
    fSkin1, //1st skin
    fSkin2, //2nd skin
    fSkin3, //3rd skin
    fSkin4, //4th skin
    fSkin5, //5th skin
    fSkin6, //6th skin
    Float:fX, // X coordinate of faction spawn
    Float:fY, // Y coordinate of faction spawn
    Float:fZ, // Z coordinate of faction spawn
    fInterior // Interior of faction spawn
}
new FactionInfo[MAX_GROUPS][fInfo];

COMMAND:fcreate(playerid, params[])
{
    new cmd[128], string[128], otherstring[128], factionid;
    if(IsPlayerAdmin(playerid))
    {
        if(sscanf(params, "s", cmd) != 0)
        {
            return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fcreate [name | commands | ranks | skins | spawn]");
        }
        if(strcmp("name", cmd, true, 4) == 0)
        {
            new name[128];
            if(!sscanf(params, "sds", cmd, factionid, name))
            {
                if(factionid >= 1 && factionid <=20)
                {
                    new str[128];
                    format(otherstring, sizeof(otherstring),"Faction_%d/FactionName",factionid); format(string, sizeof(string), "%s", name);    djSet(FACTIONS_FILE,otherstring,string,true);
                    djCommit(FACTIONS_FILE);
                    format(str, sizeof(str), "Faction [%d] name set to %s", factionid, string);
                    SendClientMessage(playerid, COLOR_WHITE, str);
                }
                else return SendClientMessage(playerid, COLOR_WHITE, "Choose faction id between 1 and 20!");
            }
            else return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fcreate name <id> <name>");
        }
        if(strcmp("commands", cmd, true, 8) == 0)
        {
            new commandtype;
            if(!sscanf(params, "sdd", cmd, factionid, commandtype))
            {
                new str[128];
                format(otherstring, sizeof(otherstring),"Faction_%d/CommandsType",factionid);   djSetInt(FACTIONS_FILE,otherstring,commandtype,true);
                djCommit(FACTIONS_FILE);
                format(str, sizeof(str), "You changed faction [%d] vommand type to [%d]", factionid, commandtype);
                SendClientMessage(playerid, COLOR_WHITE, str);
            }
            else return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /afaction commands <id> <command type>");
        }
        if(strcmp("ranks", cmd, true, 5) == 0)
        {
            new rank, rankname[128];
            if(!sscanf(params, "sdds", cmd, factionid, rank, rankname))
            {
                new str[128];
                format(otherstring, sizeof(otherstring),"Faction_%d/Rank%d",factionid, rank); format(string, sizeof(string), "%s", rankname);   djSet(FACTIONS_FILE,otherstring,string,true);
                djCommit(FACTIONS_FILE);
                format(str, sizeof(str), "faction id [%d] rank%d name set to %s.", factionid, rank,  string);
                SendClientMessage(playerid, COLOR_WHITE, str);
            }
            else return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fcreate ranks <id> <rank id> <rank name>");
        }
        if(strcmp("skins", cmd, true, 5) == 0)
        {
            new slotid, skinid;
            if(!sscanf(params, "sddd", cmd, factionid, slotid, skinid))
            {
                new str[128];
                format(otherstring, sizeof(otherstring),"Faction_%d/Skin%d",factionid, slotid); djSetInt(FACTIONS_FILE,otherstring,skinid,true);
                djCommit(FACTIONS_FILE);
                format(str, sizeof(str), "faction id [%d] skin%d set to %d", factionid, slotid, skinid);
                SendClientMessage(playerid, COLOR_WHITE, str);
            }
            else return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fcreate skins <id> <slot id> <skinid>");
        }
        if(strcmp("spawn", cmd, true, 5) == 0)
        {
            if(!sscanf(params, "sd", cmd, factionid))
            {
                new str[128], Float:x, Float:y, Float:z;
                GetPlayerPos(playerid, x, y, z);
                format(otherstring, sizeof(otherstring),"Faction_%d/X",factionid);  djSetFloat(FACTIONS_FILE,otherstring,x,true);
                format(otherstring, sizeof(otherstring),"Faction_%d/Y",factionid);  djSetFloat(FACTIONS_FILE,otherstring,y,true);
                format(otherstring, sizeof(otherstring),"Faction_%d/Z",factionid);  djSetFloat(FACTIONS_FILE,otherstring,z,true);
                format(otherstring, sizeof(otherstring),"Faction_%d/Interior",factionid);   djSetInt(FACTIONS_FILE,otherstring,GetPlayerInterior(playerid),true);
                djCommit(FACTIONS_FILE);
                format(str, sizeof(str), "You changed faction [%d] spawn to %f %f %f and %d interior.", factionid, x, y, z, GetPlayerInterior(playerid));
                SendClientMessage(playerid, COLOR_WHITE, str);
            }
            else return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fcreate spawn <id>");
        }
    }
    return 1;
}

main()
{
	print("\n----------------------------------");
	print(" Super Cool Role Play");
	print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("SC-RP V1.0");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	return 1;
}

if(!fexist(FACTIONS_FILE))
    {
        print("ERROR: No Factions File! Creating new one");
        fcreate(FACTIONS_FILE);
        new commandtype, name, skin1, skin2, skin3, skin4, skin5, skin6, Float:x, FLoat:y, Float:z,interior;
        PrepareFactionsFile(commandtype, name, skin1, skin2, skin3, skin4, skin5, skin6, Float:x, FLoat:y, Float:z,interior);
    }

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

public OnPlayerConnect(playerid)
{
	return 1;
}

gPlayerLogged[playerid] = 0;
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if (!dini_Exists(file))
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Welcome to Super Cool Role Play, Please Type your Password below", "Register", "Leave");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Welcome to Super Cool Role Play, Please type your password below", "Login", "Leave");
    }

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

new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]);
        dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
    }
    gPlayerLogged[playerid] = 0;
public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		// Do something here
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	return 1;
}

if (dialogid == 1)
    {
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Welcome to Super Cool Role Play", "Please Type your Password below", "Register", "Leave");
        dini_Create(file);
        dini_IntSet(file, "Password", udb_hash(inputtext));
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);
        dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 500);
        dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
        format(string, 128, "[SYSTEM]: You succesfully registered the nickname %s with password %s, you have been auto logged in.", name, inputtext);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        gPlayerLogged[playerid] = 1;
    }

if (dialogid == 2)
    {
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Welcome to Super Cool Role Play", "Please Type your password below to Login", "Login", "Leave");
        new tmp;
        tmp = dini_Int(file, "Password");
        if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, COLOR_RED, "Wrong Password!");
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Welcome to Super Cool Role Play", "Please Type your password below to Login", "Login", "Leave");
        }
        else
        {
            gPlayerLogged[playerid] = 1;
            PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");
            SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
            GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
            SendClientMessage(playerid,COLOR_RED, "[SYSTEM]: Successfully logged in!");
        }
    }

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

enum pInfo
{
    pAdminLevel,
    pCash,
    pScore,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Reply


Messages In This Thread
Making an RP gamemode. - by seanny - 19.05.2011, 21:37
Re: Making an RP gamemode. - by marinov - 19.05.2011, 21:46
Re: Making an RP gamemode. - by seanny - 19.05.2011, 21:48
Re: Making an RP gamemode. - by Steven82 - 19.05.2011, 22:03
Re: Making an RP gamemode. - by seanny - 19.05.2011, 22:13
Re: Making an RP gamemode. - by grand.Theft.Otto - 19.05.2011, 22:55
Re: Making an RP gamemode. - by KeyWay - 20.05.2011, 01:36
Re: Making an RP gamemode. - by Zack9764 - 20.05.2011, 01:40
Re: Making an RP gamemode. - by seanny - 20.05.2011, 06:56
Re: Making an RP gamemode. - by Norn - 20.05.2011, 07:01

Forum Jump:


Users browsing this thread: 1 Guest(s)