Mode késztés... az alapoktól
Nyissuk meg a Pawnoval a sftdm.pwn-t.
Menj le a 85. sorig!
main()
{
print("n----------------------------------");
print(" SFTDM by Cam (2006)n");
print("----------------------------------n");
}
Ez határozza meg azt a kis keretet amit a gamemode elindításakor látsz. Könnyen átalakítható egyszerűen írd át a középső szöveget! Ezek után így fog kinézni:
main()
{
print("n----------------------------------");
print(" SFTDM: készítette VlolxD");
print("----------------------------------n");
}
Ez alatt a 97. sortól megtaláljuk mode főbeállításait:
public OnGameModeInit()
{
SetGameModeText("San Fierro TDM");
SetTeamCount(7);
ShowNameTags(1);
ShowPlayerMarkers(1);
SetWorldTime(18);
A "SetGameModeText("San Fierro TDM");"-nél tudjuk a szerver üdvözlő üzenetét át állítani.
A " SetTeamCount(7);" írja a csapatok számát, mindig annyira kell írni mint a csapatok száma.
A "ShowNameTags(1);"-el tudjuk beállítanz azt,hogy látszódjon-e az ellenfelünk élete vagy ne. Ha 1-re írjuk látszódik, ha 0-ra akkor nem.
A "ShowPlayerMarkers(1);"-nél módosíthatjuk, hogy látszódjanak-e a jelek a térképen vagy sem. A beállítás módja olyan mint elöbb.
A "SetWorldTime(18);-vel tudjuk az időt módosítani.
public OnGameModeInit()
{
SetGameModeText("VlolxD SFTDM");
SetTeamCount(7);
ShowNameTags(0);
ShowPlayerMarkers(1);
SetWorldTime(12);
Ez alatt találjuk a csapatok indulóhelyeinek és fegyvereinek koordinátáit és ID-it.
AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //Worker
A koordináták meghatározása úgy történik, hogy belépünk a multi-ba és odaállunk, abban a szögbe ahol szeretnénk hogy induljunk. Ha ez megtörtént akkor a szövegboxba (t) bírom, hogy "/save".
Ekkor a gép lementette az adott koordinátáidat egy fájlba. Ezt a fájlt a GTA:SA mappájában találod "savedpositions.txt" néven. Ezzel a sorral írjuk felül az eredeti sort, és máris onnan indul a karakter ahonnan szeretnénk.
A pozíciót már meghatároztuk, ideje beállítani a fegyverzetet:
Az elmentett kód így néz ki:
AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,0,0,0,0,0,0);
A végén található 0-kal tudjuk beállítani a fegyvereket:
A 0-k párban állnak az első 0 a fegyver azonosítója a második a lőszer száma, három fegyvert van lehetőségünk beállítani.
A fegyver ID-k a következők:
Ha én beszeretnék állítani egy AK-t, egy UZI-t és egy pisztolyt az így fog kinézni:
AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,0,0,0,0,0,0);
Az indulóhelyek alatt találhatóak meg a járművek helyzetei. Ebből korlátlan számmal rakhatunk be. Ezt szintén a "/save"es eljárással tudjuk berakni.
Célszerű a végére rakni az új járműveket. Ügyeljünk arra, hogy megtartjuk a formázást!(
egy sor szöveg, együres sor.
A járművek alatt találhatóak a pickup-ok, ezekkel egy másik anyagban fogunk foglalkozni.
Ez után következik néhány beállítási lehetőség:
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"San Fierro: ~r~TDM",2500,5);
GivePlayerMoney(playerid, 1000);
SetPlayerColor(playerid, COLOR_GREY); // Set the player`s color to inactive
return 1;
"GameTextForPlayer(playerid,"San Fierro: ~r~TDM",2500,5);"-vel tudjuk beállítani az üdvözlő üzenetet.
"GivePlayerMoney(playerid, 1000);" itt pedig az induló pénzösszeget módosíthatjuk.
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"Béla SFTDM",2500,5);
GivePlayerMoney(playerid, 45000);
SetPlayerColor(playerid, COLOR_GREY); // Set the player`s color to inactive
return 1;
Kicsit lejjebb a 480. sor környékén találjuk a killek jutalmazásáról szóló részt:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {
if(gTeam[killerid] != gTeam[playerid]) {
// Valid kill
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 1000);
}
A GivePlayerMoney(killerid, 1000); nél tudjuk módosítani a killért járó pénz jutalmat.
Ez alatt találjuk a teamkill-ért járó levonást:
//Team Killer!
new warning[256];
format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling.");
SendClientMessage(killerid, 0xFFFF00AA, warning);
SendDeathMessage(killerid,playerid,reason);
GivePlayerMoney(killerid, -1000);
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
}
}
return 1;
Itt lehetőségünk van egy üzenet megadására amit a csapattárs megölése után kap a játékos:
format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling.");
lejebb, ismét tudunk összeget megadni, de itt ajánlott a negatív összeg, büntetés képpen.
Ez alatt már csak a csapatokra vonatkozó beállításokat találunk.
Csapat név módosítás:
Menjünk a dukumentum tetejére! A kurzort helyezzük az első sor elejére!
Felül a menüben nyissuk le az Edit fület, azon belül válasszuk ki Replace opciót! (Ctrl+H)
A "Serch for"-hoz írjuk be az eredeti csapatnevet:
pl: PIMP
A "Replace with"-hez írd be az általad kívánt csapat nevet:
Pl: VlolxD csapata
A direction-t állítsuk Forward-ra, a többihez ne nyúljünk!
Nyomj egy OK gombot, utána ha kéri akkor kattints a "Yes, to all"-ra.
Le fog ugrani az aljára, ha ez nem törtélnik meg vmi-t rosszul csináltál.
Ha ezekkel végeztünk, kattintsunk a Toolbar-ban a kék nyilra.
Ha 6-7 sornál többet ír ki valamit elrontottál, a hiba jelzés mögött ott lesz a sor száma melyben a hiba található.