Sziasztok szeretnék kérni tõletek ( szerintem nagy])segítséget.
Elkezdtem nézegetni a GM -eket és találtam egy jó TDM -est.
Csak egy gond van vele hogy nem tetszik ahol van és ahogy
kinéz ahol számolja ki vezet.
Itt a GM: #include <a_samp>
#include <zcmd>
#define COLOR_LIGHTGREEN 0x00CC00AA
#define COLOR_PINK 0xFF00FFAA
#define red 5
#define blue 3
#define maxtk 3
#define roundkills 50
#define COLOR_RED 0xFF0000AA
#define COLOR_BLUE 0x00FFFFAA // lightblue
#define pJutalom 5 // Ennyi egymás utáni ölésnél kap jutalmat
new rKills;
new bKills;
new pName[MAX_PLAYER_NAME];
new string[256];
new tk[MAX_PLAYERS];
new pKills[MAX_PLAYERS];
new Text:allas;
new allastimer;
new strallas[256];
forward changeallas();
stock Equip(playerid)
{
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
}
stock w(playerid)
{
GivePlayerWeapon(playerid,26,60);
GivePlayerWeapon(playerid,32,460);
GivePlayerWeapon(playerid,4,1);
}
stock AddPlayerScore(playerid,score)
{
SetPlayerScore(playerid,GetPlayerScore(playerid)+score);
}
main()
{
print(\"-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\");
print(\" WAR MODE >v2.0>By BuBa>Loaded\");
print(\" CopyRight 2011 \");
print(\"-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\");
}
public OnGameModeInit()
{
SetGameModeText(\"[HuN]War Mod v2.0\");
AddPlayerClass(19,-2118.4238,222.3794,38.8127,179.0048,0,0,0,0,0,0); // rSpawn
AddPlayerClass(21,-2133.5227,180.7969,41.9599,269.5356,0,0,0,0,0,0); // bSpawn
UsePlayerPedAnims();
SetWorldTime(16);
AllowInteriorWeapons(1);
SetNameTagDrawDistance(15.0);
EnableZoneNames(1);
SetGravity(0.00800);
SetWeather(6);
rKills = 0;
bKills = 0;
allastimer = SetTimer(\"changeallas\",1000,true);
allas = TextDrawCreate(508,9,\"~r~0 ~w~: ~b~0\");
TextDrawFont(allas,2);
return 1;
}
public changeallas()
{
TextDrawDestroy(allas);
format(strallas,256,\"~r~%d ~w~: ~b~%d\",rKills,bKills);
allas = TextDrawCreate(508,9,strallas);
TextDrawHideForAll(allas);
TextDrawShowForAll(allas);
}
public OnGameModeExit()
{
print(\"-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\");
print(\" WAR MODE >v2.0>By BuBa>Unloaded\");
print(\" CopyRight 2011\");
print(\"-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\");
KillTimer(allastimer);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, -1973.7379,487.3510,29.1719);
SetPlayerFacingAngle(playerid,90.76);
SetPlayerCameraLookAt(playerid, -1973.7379,487.3510,29.1719);
SetPlayerCameraPos(playerid, -1981.8933,487.3388,29.0156);
return 1;
}
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,\"~red~ reds~w~ vs~blue~ blues\",4000,1);
tk[playerid] = 0;
pKills[playerid] = 0;
SetPlayerScore(playerid,0);
SendClientMessage(playerid,COLOR_LIGHTGREEN,\"Jó játékot\");
GetPlayerName(playerid,pName,sizeof(pName));
format(string,256,\"%s jött játszani.\",pName);
SendClientMessageToAll(COLOR_PINK,string);
return 1;
}
// Parancsok
CMD:help(playerid,params[])
{
SendClientMessage(playerid,COLOR_PINK,\"A játékmód lényege: Öld meg a másik csapat tagjait!\");
format(string,sizeof(string),\"Ha %d-nál többször megölöd a társad, a szerver kirúg.\",maxtk);
SendClientMessage(playerid,COLOR_PINK,string);
format(string,sizeof(string),\"Ha a csapatod eléri a %d ölést akkor nyert!\",roundkills);
SendClientMessage(playerid,COLOR_PINK,string);
format(string,sizeof(string),\"Piros ölések: %d Kék ölések: %d\",rKills,bKills);
SendClientMessage(playerid,COLOR_PINK,string);
SendClientMessage(playerid,COLOR_PINK,\"Fegyver vétel: /weapon(/w) 3 pontba kerül!\");
format(string,sizeof(string),\"KillStreak: %d ölés {00CC00} %d-nál jutalom!\",pKills[playerid],pJutalom);
SendClientMessage(playerid,COLOR_PINK,string);
return 1;
}
CMD:w(playerid,params[])
{
if(GetPlayerScore(playerid) < 3) return SendClientMessage(playerid,COLOR_PINK,\"Nincs három pontod!\");
w(playerid);
return 1;
}
CMD:weapon(playerid,params[])
{
if(GetPlayerScore(playerid) < 3) return SendClientMessage(playerid,COLOR_PINK,\"Nincs három pontod!\");
w(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, allas);
switch(reason)
{
case 0:
{
GetPlayerName(playerid,pName,sizeof(pName));
format(string,256,\"%s elhagyta a szervert. (Kifagyott)\",pName);
SendClientMessageToAll(COLOR_PINK,string);
}
case 1:
{
GetPlayerName(playerid,pName,sizeof(pName));
format(string,256,\"%s elhagyta a szervert. (Kilépett)\",pName);
SendClientMessageToAll(COLOR_PINK,string);
}
case 2:
{
GetPlayerName(playerid,pName,sizeof(pName));
format(string,256,\"%s elhagyta a szervert. (Kick/Ban)\",pName);
SendClientMessageToAll(COLOR_PINK,string);
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(GetPlayerSkin(playerid) == 19)
{
SetPlayerColor(playerid,COLOR_RED);
SetPlayerTeam(playerid,red);
w(playerid);
Equip(playerid);
}
else
{
SetPlayerColor(playerid,COLOR_BLUE);
SetPlayerTeam(playerid,blue);
w(playerid);
Equip(playerid);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
pKills[playerid] = 0;
SendClientMessage(playerid,COLOR_PINK,\"Meghaltál, a KillStreak pontod nullázódott.\");
if(killerid == INVALID_PLAYER_ID)
{
SendDeathMessage(killerid,playerid,reason);
}
else
{
new DeadpName[MAX_PLAYER_NAME];
GetPlayerName(killerid,pName,sizeof(pName));
GetPlayerName(playerid,DeadpName,sizeof(DeadpName));
SendDeathMessage(killerid,playerid,reason);
if(GetPlayerTeam(killerid) == red)
{
if(GetPlayerTeam(playerid) == red)
{
pKills[killerid] = 0;
tk[killerid]++;
AddPlayerScore(killerid,-1);
format(string,sizeof(string),\"%s megölte a társát, %s -t ez neki a %d/%d teamkill-je\",pName,DeadpName,tk[killerid],maxtk);
SendClientMessageToAll(COLOR_PINK,string);
if(tk[killerid] == maxtk)
{
format(string,sizeof(string),\"%s -t kirúgta a szerver, mert %d -szer megölte a társát.\",pName,maxtk);
Kick(killerid);
SendClientMessageToAll(COLOR_PINK,string);
}
else
{
format(string,sizeof(string),\"Figyelj jobban, már %d -szer öltél csapattársat! %d-nál kick!\",tk[killerid],maxtk);
SendClientMessage(killerid,COLOR_PINK,string);
}
}
else
{
rKills++;
pKills[killerid]++;
format(string,sizeof(string),\"%s megölte %s -t, ezzel a csapata már a %d-dik ölésnél jár.\",pName,DeadpName,rKills);
SendClientMessageToAll(COLOR_LIGHTGREEN,string);
AddPlayerScore(killerid,1);
if(pKills[killerid] == pJutalom)
{
format(string,sizeof(string),\"%s-nek összegyûlt egymás után %d ölés, ezért feltöltõdik az élete és pajzsa\",pName,pJutalom);
SendClientMessageToAll(COLOR_PINK,string);
Equip(killerid);
SendClientMessage(killerid,COLOR_PINK,\"Ezzel lenullázódtak az egymás után való öléseid.\");
pKills[killerid] = 0;
}
else return 0;
}
if(rKills == roundkills)
{
format(string,sizeof(string),\"A piros csapat megnyerte a kört, a mód újraindul.\");
SendClientMessageToAll(COLOR_PINK,string);
SendRconCommand(\"gmx\");
}
}
else
{
if(GetPlayerTeam(playerid) == blue)
{
tk[killerid]++;
AddPlayerScore(killerid,-1);
format(string,sizeof(string),\"%s megölte a társát, %s -t ez neki a %d/%d teamkill-je\",pName,DeadpName,tk[killerid],maxtk);
SendClientMessageToAll(COLOR_PINK,string);
if(tk[killerid] == maxtk)
{
format(string,sizeof(string),\"%s -t kirúgta a szerver, mert %d -szer megölte a társát.\",pName,maxtk);
SendClientMessageToAll(COLOR_PINK,string);
}
else
{
format(string,sizeof(string),\"Figyelj jobban, már %d -szer öltél csapattársat! %d-nál kick!\",tk[killerid],maxtk);
}
}
else
{
bKills++;
format(string,sizeof(string),\"%s megölte %s -t, ezzel a csapata már a %d-dik ölésnél jár.\",pName,DeadpName,rKills);
SendClientMessageToAll(COLOR_LIGHTGREEN,string);
AddPlayerScore(playerid,1);
}
if(bKills == roundkills)
{
format(string,sizeof(string),\"A kék csapat megnyerte a kört, a mód újraindul.\");
SendClientMessageToAll(COLOR_PINK,string);
SendRconCommand(\"gmx\");
}
}
}
return 1;
}
Ha megtudnátok nekem úgy csinálni hogy:
Egy ablakban (Box vmi :laugh: )van és
úgy számolná hogy melyik csapat vezet pl.: RedTeam: 0 : 0 :BlueTeam
Vagy ahogy szerintetek szebb.
Az elhelyezése a $ alá szeretném.
Szín mindegy azt be tudom állítani.
Nem értek annyira a Szkriptekhez.
Elõre is köszönöm hogy ( ha :laugh: ) megcsinálod. Világos témán olvashatatlan fehér szöveg. Javítva.