Jump to content
  • 0

Ajutatima urgent cu DynamicOrganizations


Question

Posted

Ajutatima varog nu siu cum sa adaug organizatii in acest fs

[pawn]/*

DYNAMIC ORGANIZATIONS FILTERSCRIPT

SCRIPTAT DE [s.U.S]Vyper

BY [s.U.S]Vyper

COPYRIGHT © 2013

RELEASE DATE: 19/03/2013

PLEASE REPORT ALL BUGS (If found) @ SA-MP FORUMS

*/

#include <a_samp>

#include <Dini>

#include <sscanf2>

#include <zcmd>

//DEFINIII PENRU CULORI

#define COLOR_GREY 0xAFAFAFAA

#define COLOR_WHITE 0xFFFFFFAA

#define COLOR_ORANGE 0xFF9900AA

#define COLOR_YELLOW 0xFFFF00AA

#define COLOR_RED 0xFF0000FF

//

#pragma tabsize 0

#define WAGE 150 //Define the wage here

#define MAX_ORGS 10 //Change only if you need more than 10 orgs

#define MAX_ORG_WEAPONS 3 //Max amount of weapons for orgs

#define ORG_NAME_LENGTH 32 //Max name length for organization and it's leader

#define MAX_ORG_VEHICLES 10

#define SAVE_LEADERS_TO "org_leaders.txt"

#define SPAWN_WITH_ORG_SKIN //Comment this line IF YOU DON'T WANT THE PLAYERS SPAWN WITH ORGANIZATION SKIN!

forward PayDay();

new OrgsCount;

enum Orgs

{

Name[32],

Leader[24],

Skin,

Float:X,

Float:Y,

Float:Z,

Weapons[3],

Ammo[3],

Vehicles[MAX_ORG_VEHICLES],

VehiclesCreated,

};

new Organization[MAX_ORGS][Orgs];

new PlayerOrg[MAX_PLAYERS];

new PlayerLeader[MAX_PLAYERS];

new PlayerRank[MAX_PLAYERS][28];

new Requesting[MAX_PLAYERS];

new CollectedWage[MAX_PLAYERS];

public OnFilterScriptInit()

{

print("\n-------------------------------------------------");

print("==Dynamic organization filterscript by [s.U.S]Vyper");

print("==© 2013==                                      ");

print("-------------------------------------------------\n");

SetTimer("PayDay",1500000,1); //PayDay every 25 minutes

//Let's create your organizations here

//ALWAYS add your organization BELOW the old one, otherwise the IDs will change = leaders mix up ! ! ! ! !

//CreateOrganization([32], skin, Float:x,Float:y,Float:z, weapon1,ammo1,weapon2,ammo2,weapon3,ammo3)

//*/

//Create here

//

//Create org vehicles AFTER you create the organization, you can add them here:

//Syntax: CreateOrgVehicle(org[], model, Float:x,Float:y,Float:z,Float:rot, clr1,clr2)

//Create here

LoadLeaders();

return 1;

}

public PayDay()

{

for (new i=0;i<MAX_PLAYERS;i++)

{

if (IsPlayerConnected(i))

{

if (PlayerOrg != 0)

{

new string[80];

format(string, sizeof(string),"Ai cistigat din org dvs.. ($%d)", WAGE);

SendClientMessage(i, COLOR_GREY, string);

CollectedWage+=WAGE;

SavePlayerOrgInfo(i);

}

}

}

}

public OnFilterScriptExit()

{

print("Va mulumim pentru utilizarea [s.U.S]Dynamic organizations ");

print("© 2011");

SaveLeaders();

return 1;

}

public OnPlayerConnect(playerid)

{

PlayerOrg[playerid] = 0; //Resetarea org jucator

PlayerLeader[playerid] = 0; //Resetarea org jucãtor lider de stare

Requesting[playerid] = 0;

CollectedWage[playerid] = 0;

PlayerRank[playerid] = "Nici unul";

if(!dini_Exists(PlayerPath(playerid))) // Crearea fisierului (verifica stocul PlayerPath (playerid))

{

SendClientMessage(playerid, COLOR_ORANGE,"As this is your first visit here, we decided to tell you that this server is using Dynamic organization- script by Jakku");

  dini_Create(PlayerPath(playerid));

}

else

{

LoadPlayerOrgInfo(playerid);

}

return 1;

}

public OnPlayerDisconnect(playerid, reason)

{

SavePlayerOrgInfo(playerid);

return 1;

}

public OnPlayerSpawn(playerid)

{

if (PlayerOrg[playerid] != 0)

{

if (GetPVarInt(playerid, "Dead") == 0)

{

new string[160];

new leader[4];

if (PlayerLeader[playerid]) leader = "Yes";

else leader = "No";

format(string,sizeof(string),"Organization: {5CB3FF}%s {FFFFFF}|| Leader: {5CB3FF}%s {FFFFFF}|| Rank: {5CB3FF}%s", GetOrgName(PlayerOrg[playerid]), leader, PlayerRank[playerid]);

SendClientMessage(playerid, COLOR_WHITE, string);

}

GiveOrgFeatures(playerid);

}

SetPVarInt(playerid, "Dead", 0);

return 1;

}

public OnPlayerDeath(playerid, killerid, reason)

{

SetPVarInt(playerid, "Dead", 1);

}

public OnPlayerCommandText(playerid, cmdtext[])

{

return 0;

}

public OnPlayerEnterCheckpoint(playerid)

{

return 1;

}

public OnPlayerPickUpPickup(playerid, pickupid)

{

return 1;

}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

{

if (dialogid == 755)

{

if (response)

{

new string[120];

format(string,sizeof(string),"Ati demisionat de la %s", Organization[PlayerOrg[playerid]][Name]);

SendClientMessage(playerid, COLOR_YELLOW, string);

format(string,sizeof(string),"**%s a demisionat de la %s", PlayerName(playerid), Organization[PlayerOrg[playerid]][Name]);

SendClientMessageToAllEx(playerid, COLOR_GREY, string);

new none[24];

format(none,sizeof(none),"Nici unul");

Organization[PlayerOrg[playerid]][Leader] = none;

PlayerOrg[playerid] = 0;

PlayerLeader[playerid] = 0;

SavePlayerOrgInfo(playerid);

SetPlayerSkin(playerid, 0);

ResetPlayerWeapons(playerid);

}

else

{

SendClientMessage(playerid, COLOR_YELLOW, "Demisia anulat");

}

}

if (dialogid == 756 && response)

{

switch (listitem)

{

case 0:

{

for (new i=1;i<OrgsCount+1;i++)

{

if (IsPlayerInRangeOfPoint(playerid, 3.0, Organization[X], Organization[Y],Organization[Z]))

{

new string[140];

format(string,sizeof(string),"{5CB3FF}Organizatia: {FFFFFF}%s\n{5CB3FF}Lider: {FFFFFF}%s", GetOrgName(i), Organization[Leader]);

ShowPlayerDialog(playerid, 757, DIALOG_STYLE_MSGBOX, "Organizatia",string,"Inchide","");

}

}

}

case 1:

{

if (CollectedWage[playerid] <= 0) return SendClientMessage(playerid, COLOR_RED, "Nu aveti nici un salariu castigat inca!");

new string[80];

format(string,sizeof(string),"Ati colectat $%d", CollectedWage[playerid]);

SendClientMessage(playerid, COLOR_YELLOW, string);

GivePlayerMoney(playerid, CollectedWage[playerid]);

CollectedWage[playerid] = 0;

SavePlayerOrgInfo(playerid);

}

}

}

return 1;

}

public OnPlayerStateChange(playerid,newstate,oldstate)

{

    if (newstate == PLAYER_STATE_DRIVER)

    {

for (new i=1;i<OrgsCount+1;i++)

{

  for (new a=0;a<MAX_ORG_VEHICLES;a++)

  {

        new vehicleid = GetPlayerVehicleID(playerid);

if (vehicleid == Organization[Vehicles][a] && PlayerOrg[playerid] != i)

{

new string[100];

format(string,sizeof(string),"Acest vehicul apartine lui %s. Tu nu esti in aceasta organiatie ca sal poti folosi.", GetOrgName(i));

SendClientMessage(playerid, COLOR_RED, string);

RemovePlayerFromVehicle(playerid);

}

  }

}

    }

    return 1;

}

stock PlayerName(playerid)

{

  new name[24];

  GetPlayerName(playerid, name, 24);

  return name;

}

stock CreateOrganization(name[32], skin, Float:x,Float:y,Float:z, wp1 = 0,a1 = 0,wp2 = 0,a2 = 0,wp3 = 0,a3 = 0)

{

OrgsCount++;

if (OrgsCount >= MAX_ORGS) return printf("Ati depasit MAX_ORGS-defini! avortat");

new id = OrgsCount;

Organization[id][Name] = name;

Organization[id][skin] = skin;

Organization[id][X] = x;

Organization[id][Y] = y;

Organization[id][Z] = z;

Organization[id][Weapons][0] = wp1;

Organization[id][Ammo][0] = a1;

Organization[id][Weapons][1] = wp2;

Organization[id][Ammo][1] = a2;

Organization[id][Weapons][2] = wp3;

Organization[id][Ammo][2] = a3;

printf("Organizatie creatã: ID: %d || Nume: %s",id, name);

new string[100];

format(string,sizeof(string),"{5CB3FF}HQ:{FFFFFF} %s\nScrie {5CB3FF}/org{FFFFFF} pentru mai multe informatii!",name);

Create3DTextLabel(string, 0x008080FF, x, y, z, 25.0, 0);

return 1;

}

stock PlayerPath(playerid)

{

new path[45];

format(path, sizeof(path),"Orginfo_%s.ini", PlayerName(playerid));

return path;

}

stock SaveLeaders()

{

new part[40];

if (!dini_Exists(SAVE_LEADERS_TO))

{

dini_Create(SAVE_LEADERS_TO);

}

for (new i=1;i<OrgsCount+1;i++)

{

format(part,sizeof(part),"%d", i);

dini_Set(SAVE_LEADERS_TO,part,Organization[Leader]);

}

}

stock LoadLeaders()

{

new part[24];

new part2[40];

if (!dini_Exists(SAVE_LEADERS_TO))

{

for (new i=1;i<OrgsCount+1;i++)

{

dini_Create(SAVE_LEADERS_TO);

format(part,sizeof(part),"Nici unul");

Organization[Leader] = part;

SaveLeaders();

}

return 1;

}

for (new i=1;i<OrgsCount+1;i++)

{

format(part2,sizeof(part2),"%d", i);

format(part,sizeof(part),dini_Get(SAVE_LEADERS_TO,part2));

Organization[Leader] = part;

}

return 1;

}

stock SavePlayerOrgInfo(playerid)

{

if (!dini_Exists(PlayerPath(playerid)))

{

dini_Create(PlayerPath(playerid));

}

//dini_Set(savef,"ContactName1",ContactNames[0][playerid]);

dini_Set(PlayerPath(playerid),"Org",Organization[PlayerOrg[playerid]][Name]);

dini_Set(PlayerPath(playerid),"Rank",PlayerRank[playerid]);

dini_IntSet(PlayerPath(playerid),"SalariiColectate",CollectedWage[playerid]);

}

stock LoadPlayerOrgInfo(playerid)

{

new string[45];

format(string,sizeof(string),"%s",dini_Get(PlayerPath(playerid),"Org"));

PlayerOrg[playerid] = GetOrgID(string);

new string2[28];

format(string2,sizeof(string2),"%s",dini_Get(PlayerPath(playerid),"Rank"));

PlayerRank[playerid] = string2;

CollectedWage[playerid] = dini_Int(PlayerPath(playerid), "SalariiColectate");

if (strcmp(Organization[PlayerOrg[playerid]][Leader], PlayerName(playerid),true) == 0)

{

PlayerLeader[playerid] = 1;

}

}

stock GiveOrgFeatures(playerid)

{

new org = PlayerOrg[playerid];

if (!org) return 1;

GivePlayerWeapon(playerid, Organization[org][Weapons][0],Organization[org][Ammo][0]);

GivePlayerWeapon(playerid, Organization[org][Weapons][1],Organization[org][Ammo][1]);

GivePlayerWeapon(playerid, Organization[org][Weapons][2],Organization[org][Ammo][2]);

#if defined SPAWN_WITH_ORG_SKIN

SetPlayerSkin(playerid, Organization[org][skin]);

#endif

return 1;

}

stock GetOrgName(orgid)

{

new name[32];

format(name,sizeof(name),"%s",Organization[orgid][Name]);

if (orgid == 0) format(name,sizeof(name),"Nici unul");

return name;

}

stock SendClientMessageToAllEx(exception, clr, const message[])

{

    for(new i; i<MAX_PLAYERS; i++)

    {

        if(IsPlayerConnected(i))

{

    if(i != exception)

    {

        SendClientMessage(i, clr, message);

    }

}

    }

}

stock ResetPlayerOrg(playerid)

{

if (PlayerOrg[playerid] == 0) return 1;

printf("%s a fost eliminat din %s", GetOrgName(PlayerOrg[playerid]));

SetPlayerSkin(playerid, 0);

ResetPlayerWeapons(playerid);

PlayerOrg[playerid] = 0;

Requesting[playerid] = 0;

return 1;

}

CMD:resign(playerid, params[])

{

#pragma unused params

if (PlayerOrg[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "Tu nu esti intr-o organizatie");

ShowPlayerDialog(playerid, 755, DIALOG_STYLE_MSGBOX, "{FFFFFF}Sunteti sigur ca doriti sa demisionezi?","{FFFFFF}Va rog {00FF00}confirmati {FFFFFF}cerere dumneavoastra.","Cerere","Inchide");

return 1;

}

CMD:org(playerid, params[])

{

#pragma unused params

for (new i=1;i<OrgsCount+1;i++)

{

if (IsPlayerInRangeOfPoint(playerid, 3.0, Organization[X],Organization[Y],Organization[Z]))

{

new string[35];

new string2[80];

format(string, sizeof(string),"%s", GetOrgName(i));

format(string2, sizeof(string2),"Informatii");

if (PlayerOrg[playerid] == i) format(string2, sizeof(string2),"Informatii\nSalariiColectate");

ShowPlayerDialog(playerid, 756, DIALOG_STYLE_LIST, string,string2,"Ok","Inchide");

return 1;

}

}

SendClientMessage(playerid, COLOR_RED,"Tu nu esti destul de aproape de vrio organizatie!");

return 1;

}

CMD:setmember(playerid, params[])

{

if (!PlayerLeader[playerid]) return SendClientMessage(playerid,COLOR_RED,"Tu nu esti lider al unei organizatii.");

new ID;

if (sscanf(params, "u", ID)) return SendClientMessage(playerid,COLOR_WHITE,"Scrie: /setmember [playerid]");

if (!IsPlayerConnected(ID) || ID == playerid) return 1;

new org = PlayerOrg[playerid];

if (PlayerOrg[iD]) return SendClientMessage(playerid, COLOR_RED,"Acel jucator deja apartine unei organizatii.");

if (Requesting[iD] != org) return SendClientMessage(playerid, COLOR_RED,"Acel jucator nu se cere sa se alature organizatiei dumneavoastra!");

new string[120];

format(string,sizeof(string),"%s v-a stabilit ca un membru al %s", PlayerName(playerid), GetOrgName(org));

SendClientMessage(ID, COLOR_YELLOW, string);

format(string,sizeof(string),"Ati setat %s un membru al %s", PlayerName(ID), GetOrgName(org));

SendClientMessage(playerid, COLOR_YELLOW, string);

PlayerOrg[iD] = org;

GiveOrgFeatures(ID);

Requesting[iD] = 0;

return 1;

}

CMD:setleader(playerid, params[])

{

if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Trebuie sã fii logat în RCON pentru a folosi aceasta comanda!");

new ID,orgid;

if (sscanf(params, "ud", ID,orgid)) return SendClientMessage(playerid,COLOR_WHITE,"Scrie: /setleader [playerid] [orgid]");

if (!IsPlayerConnected(ID)) return 1;

if (PlayerOrg[iD]) return SendClientMessage(playerid, COLOR_RED,"Acel jucator deja apartine unei organizatii");

new string[140];

format(string,sizeof(string),"Adminul %s te-a stabilit ca lider al %s", PlayerName(playerid), GetOrgName(orgid));

SendClientMessage(ID, COLOR_YELLOW, string);

format(string,sizeof(string),"Ati setat pe %s ca lider %s", PlayerName(ID), GetOrgName(orgid));

SendClientMessage(playerid, COLOR_YELLOW, string);

PlayerOrg[iD] = orgid;

PlayerLeader[iD] = 1;

Organization[orgid][Leader] = PlayerName(ID);

SaveLeaders();

SavePlayerOrgInfo(ID);

GiveOrgFeatures(ID);

return 1;

}

CMD:setrank(playerid, params[])

{

if (!PlayerLeader[playerid]) return SendClientMessage(playerid,COLOR_RED,"Tu nu esti lider al unei organizatii.");

new ID, rank[28];

if (sscanf(params, "us[28]", ID, rank)) return SendClientMessage(playerid,COLOR_WHITE,"Scrie: /setrank [playerid] [rank]");

if (strlen(rank) > 28) return SendClientMessage(playerid, COLOR_RED,"Lungimea maxima este de rang 28 de caractere!");

if (!IsPlayerConnected(ID)) return 1;

new org = PlayerOrg[playerid];

if (PlayerOrg[iD] != org) return SendClientMessage(playerid, COLOR_RED,"Acest player nu apartine organizatiei dumneavoastra");

new string[120];

format(string,sizeof(string),"Liderul %s tia dat un rang: '%s'", PlayerName(playerid), rank);

SendClientMessage(ID, COLOR_YELLOW, string);

format(string,sizeof(string),"Ati dat un rang lui %s (%s)", PlayerName(ID), rank);

SendClientMessage(playerid, COLOR_YELLOW, string);

PlayerRank[iD] = rank;

SavePlayerOrgInfo(ID);

return 1;

}

CMD:kickmember(playerid, params[])

{

if (!PlayerLeader[playerid]) return SendClientMessage(playerid,COLOR_RED,"Tu nu esti lider al unei organizatii.");

new ID;

if (sscanf(params, "u", ID)) return SendClientMessage(playerid,COLOR_WHITE,"Scrie: /kickmember [playerid]");

if (!IsPlayerConnected(ID) || ID == playerid) return 1;

new org = PlayerOrg[playerid];

if (PlayerOrg[iD] != org) return SendClientMessage(playerid, COLOR_RED,"Acest player nu apartine organizatiei dumneavoastra");

new string[130];

format(string,sizeof(string),"%s a fost dat afara de catre %s", PlayerName(playerid), GetOrgName(org));

SendClientMessage(ID, COLOR_YELLOW, string);

format(string,sizeof(string),"Ai fost dat afara %s din %s", PlayerName(ID), GetOrgName(org));

SendClientMessage(playerid, COLOR_YELLOW, string);

ResetPlayerOrg(ID);

return 1;

}

CMD:request(playerid, params[])

{

if (PlayerOrg[playerid] > 0) return SendClientMessage(playerid, COLOR_RED,"Deja apartii unei organizatii!");

if (Requesting[playerid] > 0) return SendClientMessage(playerid, COLOR_RED,"Sunteti deja aderati la o organizatie!");

new ID;

if (sscanf(params, "d", ID)) return SendClientMessage(playerid,COLOR_WHITE,"Scrie: /request [org id]");

if (ID < 1 || ID > OrgsCount) return SendClientMessage(playerid,COLOR_RED,"Aceasta organizaie nu exista! Scrie /orglist pentru a vedea organizatiile.");

new string[120];

format(string,sizeof(string),"%s cere sa se alature %s", PlayerName(playerid), GetOrgName(ID));

SendClientMessageToAllEx(playerid, COLOR_GREY, string);

format(string,sizeof(string),"Cererea ta la %s a fost trimisa!", GetOrgName(ID));

SendClientMessage(playerid, COLOR_YELLOW, string);

Requesting[playerid] = ID;

return 1;

}

CMD:orglist(playerid, params[])

{

#pragma unused params

new string[90];

if (OrgsCount == 0) return SendClientMessage(playerid, COLOR_RED,"Ne pare rau, nu exista organizatii create!");

SendClientMessage(playerid, COLOR_WHITE, "Organizatii Curente:");

for (new i=1;i<OrgsCount+1;i++)

{

format(string,sizeof(string),"ID: %d || Nume: %s || Lider: %s", i, GetOrgName(i), Organization[Leader]);

SendClientMessage(playerid, COLOR_YELLOW, string);

}

return 1;

}

CMD:members(playerid, params[])

{

#pragma unused params

if (!PlayerLeader[playerid]) return SendClientMessage(playerid, COLOR_RED,"Tu nu esti lider al unei organizatii");

new string[60];

new count = 0;

SendClientMessage(playerid, COLOR_YELLOW,"Membrii Online:");

for (new i=0;i<MAX_PLAYERS;i++)

{

if (IsPlayerConnected(i))

{

    if (PlayerOrg == PlayerOrg[playerid] && i != playerid)

    {

format(string,sizeof(string),"%s - %s", PlayerName(i), PlayerRank);

SendClientMessage(playerid, COLOR_WHITE, string);

count++;

    }

}

}

if (count == 0)

{

SendClientMessage(playerid, COLOR_YELLOW,"Nici unul dintre membrii dumneavoastra nu sunt online");

}

else

{

format(string,sizeof(string),"%d membrii online.", count);

SendClientMessage(playerid, COLOR_WHITE, string);

}

return 1;

}

CMD:myorg(playerid, params[])

{

#pragma unused params

if (PlayerOrg[playerid] == 0) return SendClientMessage(playerid, COLOR_RED,"Nu sunteti un membru al unei organizatii");

new string[140];

format(string,sizeof(string),"{5CB3FF}Organizatie: {FFFFFF}%s\n{5CB3FF}Lider: {FFFFFF}%s", GetOrgName(PlayerOrg[playerid]), Organization[PlayerOrg[playerid]][Leader]);

ShowPlayerDialog(playerid, 757, DIALOG_STYLE_MSGBOX, "Organizatia mea", string, "Ok", "");

return 1;

}

CMD:orghelp(playerid, params[])

{

#pragma unused params

SendClientMessage(playerid, COLOR_YELLOW, "Dynamic Organizations by [s.U.S]Vyper");

SendClientMessage(playerid, COLOR_WHITE, "/orglist || /myorg || /request || /resign || /org || /setleader");

if (PlayerLeader[playerid]) SendClientMessage(playerid, COLOR_WHITE,"Comenzi pentru lideri: /setmember || /kickmember || /setrank || /members");

return 1;

}

stock GetOrgID(name[])

{

if (strlen(name) <= 0) return 0;

for (new i=1;i<OrgsCount+1;i++)

{

if (strcmp(name,Organization[Name],true) == 0) return i;

}

return 0;

}

stock CreateOrgVehicle(org[], model, Float:x,Float:y,Float:z,Float:rot, clr1,clr2)

{

new orgid = GetOrgID(org);

new freeslot = Organization[orgid][VehiclesCreated];

if (freeslot >= MAX_ORG_VEHICLES-1) return printf("%s nu poate manipula mai multe vehicule! Anulat", org);

Organization[orgid][Vehicles][freeslot] = CreateVehicle(model, x,y,z,rot,clr1,clr2,900);

printf("%d, %d, %s", model, freeslot, org);

Organization[orgid][VehiclesCreated]++;

return 1;

}

[/pawn]

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.