Gta San Andreas MultiPlayer (samp) HUN
Navigation
     
Account
Felhasználónév:

Jelszó:
SúgóSúgó
Regisztráció
Elfelejtettem a jelszót
     
Kép
Szerver
Legyen ennek a weboldalnak saját samp szervere?

Igen
Nem
Szavazás állása
Lezárt szavazások
     
Friss

Utolsó módosítás
2013 máj. 19.
12:17

 

     
Más weblapok
 SA:MP Fórum
SA:MP Wiki
Google

     

PAWN Eszközök
     
DM készítés
Forrás:Depi, SampFórumról DM zóna létrehozása

 

Na, amit Ti is láthatjátok a címből, most azt fogom leírni Nektek, hogy hogyan is lehet megoldani,

azt ha valaki DM zónába van, akkor onnan csak egy bizonyos paranccsal tudjon kijönni ill. más parancsot se  tudjon használni addig. 

Mosolyog

Na kezdjük is el: 

Bibííí

1. Létre kell hozni egy globális változót, ami tárolja, hogy a játékos Dm zónába van-e vagy nincs

Kód:
new: bool:DM[MAX_PLAYERS];

A változónknak két értéke lehet,

 - első:

True

( igaz )

 - második:

False

( hamis ).

Akkor a

True

jelzi majd, hogy DM zónába van, és a

False

pedig hogy nincs.


2
. Ha valaki csatlakozik a szerverre akkor a DM változó értéke egyértelműen False ( hamis ) lesz.

Kód:
public OnPlayerConnect(playerid)
{
    DM[playerid] = false;
    return 1;
}

Tehát, True ( hamis ) értéket adtunk neki.


3.
Ha valaki le csatlakozik akkor is False ( hamis ) értéket adunk neki.

Kód:
public OnPlayerDisconnect(playerid, reason)
{
    DM[playerid] = false;
    return 1;
}

 

Jöhetnek a parancsok

4.

DM parancs létrehozása

Kód:
if(strcmp(cmdtext, "/dm") == 0 ) 
{
    if(DM[playerid] == true) return SendClientMessage(playerid,0xFFFF00AA,"DM zónában vagy ! Először /exitdm"); 
// Lekérdezzük hogy DM zónában van-e vagy nincs
    ResetPlayerWeapons(playerid); // meglévő fegyvereit elvesszük
    GivePlayerWeapon(playerid,32,1000); // Adunk neki fegyvert
    SetPlayerArmour(playerid, 100); // Adunk neki páncélt
    SetPlayerPos(playerid,2782.3257,-2019.7649,13.5620); // Teleport koordinátája ( ide teleportálja )
    SendClientMessage(playerid, 0xFFFF00AA,"Csatlakoztál a DM-hez! Kilépéshez: /exitdm");
 // Ki írunk neki egy 'infó' szöveget
    DM[playerid] = true; // beállítjuk a DM változót, hogy True ( igaz ) értéket mutasson.
    return 1; // Visszatérés
}

 

Hát ennyi lenne, egy egyszerű DM parancs, de ezt még lehet 'cifrázni' karakter,fegyver,élet,páncél mentésével. 

Mosolyog

Na, ha már megvolt a DM parancs, akkor hozzunk létre egy exitdm nevű parancsot. 

Vigyorog

5.

Exitdm parancs létrehozása

Kód:
if(strcmp(cmdtext, "/exitdm") == 0)
{
    if(DM[playerid] == false) return SendClientMessage(playerid,0xFFFF00AA,"Nem vagy DM zónában!");
    DM[playerid] = false; // Ha a játékos sikeresen kilépet akkor false ( hamis ) értéket kap
    SendClientMessage(playerid, 0xFFFF00AA,"Sikeresen kiléptél a DM zónából!"); 
// Ha kilépett a DM zónából akkor küldünk neki üzenetet
    ResetPlayerWeapons(playerid); // Elvesszük a fegyvereit.
    return 1; // Visszatérés
}

Tehát, ez lesz az a parancs, amit a DM zónába használhat.


6. Nézzünk egy egyszerű parancsot

Kód:
if(strcmp(cmdtext, "/tudom") == 0) 
{
    if(dm[playerid] == true) return SendClientMessage(playerid,0xFFFF00AA,"DM zónában vagy ! Először /exitdm");
 // Megvizsgáljuk, hogy DM zónába vane- vagy nincs, ha nincs akkor lefut a parancs
    SendClientMessage(playerid,0xFFFF00AA,"Ezt már te is megtanultad!"); // szöveget írunk neki, ha nincs DM zónában
    return 1; // Visszatérés
}

Hát ennyi lenne röviden.  Lehet kifogom egészíti az adatok mentésével. 

Hááát

Sok sikert.

 

Vigyorog

8 hozzászólás
Idézet
2018.01.08. 14:40
AntiPower

Az elejét elrontottad.

new: bool:DM[MAX_PLAYERS];

helyett

new bool:DM[MAX_PLAYERS];

A kettőspont nem kell a new után.

Idézet
2013.05.08. 16:48
Davis

HI és csapatos dmzonát hogylehet létrehjozni?

Jelölj skypeon pls

Skyepom: rihard234

Idézet
2012.03.12. 15:28
SweetF

Azt szeretném kérdezni hogy ezt a dm es parancsok/csokat meglehet irni ZCMD ben is? ha igen segitene valaki?

Idézet
2011.10.02. 13:27
Power

Swgítsééég!

Csinálnám a DM parancsot de ezt írja ki:

 

D:\Server\dmamiremelemmukodik.pwn(57) : error 017: undefined symbol "DM"
D:\Server\dmamiremelemmukodik.pwn(57) : warning 215: expression has no effect
D:\Server\dmamiremelemmukodik.pwn(57) : error 001: expected token: ";", but found "]"
D:\Server\dmamiremelemmukodik.pwn(57) : error 029: invalid expression, assumed zero
D:\Server\dmamiremelemmukodik.pwn(57) : fatal error 107: too many error messages on one line
 
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
 
 
4 Errors.
 
De nem tom mit csináljak
Idézet
2011.03.10. 14:56
feheristi

if(strcmp(cmdtext,"/superjump",true)==0)
{
new vehicleid = GetPlayerVehicleID(playerid);
new State = GetPlayerState(playerid);
if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
{
GameTextForPlayer(playerid,"Pipe-Stunt",4000,6);
new string[256], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s elteleportált a jumpra (/superjump) ", pname);
SendClientMessageToAll(orange, string);
return SetVehiclePos(vehicleid,1394.7571,-2425.7009,525.6313);
}
SetPlayerPos(playerid,1394.7571,-2425.7009,525.6313);
return 1;
}
return 0;
}

Ez egy teleportálo parancs szerintem jo sikerült ha van egy mapod akkor ezt tedd hozá

Idézet
2010.12.04. 00:32
Magyar

A zónát.Mármint gondolom arra gondolsz hogy hova teleportáljon amikor be/ki lépsz a DM-be/ből.Poziciót mindig a SetPlayerPos(playerid, X, Y, Z);

-hez írunk az X, Y, Z -ez jön a három kordináta és akkor oda rakja a játékost.

Idézet
2010.11.16. 16:27
Question

Huhu, de jó hogy ezt megtaláltam, már rég akartam ilyeneket, de nekem ugye halál után mindig vissza rakott az alap spawn helyre, de most már végre ilyet is tudok, most már olyanokat csinálok, hogy huha. Szal thanks!!!:D

Idézet
2010.10.02. 22:20
palesz_88

nade hol kell beál..itani a zónát? vagymi :s

     
Nézettség
Indulás: 2010-02-26
     
PAWN/Szkriptek
     
Tutorialok
     
Óra
     
Chat
Kérlek, felesleges dolgokat ne írj a chatbe!
Név:

Üzenet:
:)) :) :@ :? :(( :o :D ;) 8o 8p 8) 8| :( :'( ;D :$
     

Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168 Hívjon!    *****    A legfrissebb hírek a Super Mario világából és a legteljesebb adatbázis a Mario játékokról.Folyamatosan bõvülõ tartalom.    *****    Gigágá! Márton napján is gyertek a Mesetárba! Nemcsak libát, de kacsát is kaptok! Játsszatok velünk!    *****    A Nintendo a Nintendo Music-kal megint valami kiváló dolgot hozott létre! Alaposan nagyító alá vettem, az eredmény itt.    *****    Leanderek, Parfümök, Olajok, és Szépségápolási termékek! Használd a LEVI10 kupont és kapj 10% kedvezményt!Megnyitottunk    *****    Megjelent a Nintendo saját gyártású órája, a Nintendo Sound Clock Alarmo! Ha kíváncsi vagy, mit tud, itt olvashatsz róla    *****    Megnyílt a webáruházunk! Parfümök, Szépségápolási termékek, Olajok mind egy helyen! Nyitási akciók, siess mert limitált!    *****    Az általam legjobbnak vélt sportanimék listája itt olvasható. Top 10 Sportanime az Anime Odyssey-n!    *****    Pont ITT Pont MOST! Pont NEKED! Már fejlesztés alatt is szebbnél szebb képek! Ha gondolod gyere less be!    *****    Megnyílt a webáruházunk! NYITÁSI AKCIÓK! Tusfürdõ+Fogkrém+Sampon+Izzadásgátló+multifunkcionális balzsam most csak 4.490!    *****    Új mese a Mesetárban! Téged is vár, gyere bátran!    *****    Veterán anime rajongók egyik kedvence a Vadmacska kommandó. Retrospektív cikket olvashatsz róla az Anime Odyssey blogban    *****    Parfümök, Olajok, Párologtatók mind egy weboldalon! Siess mert nyitási AKCIÓNK nem sokáig tart! Nagy kedvezmények várnak    *****    Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168 Hívjon!    *****    Aki érdeklõdik a horoszkópja után, az nem kíváncsi, hanem intelligens. Rendeld meg most és én segítek az értelmezésben!    *****    A Múzsa, egy gruppi élményei a színfalak mögött + napi agymenések és bölcseletek    *****    KARATE OKTATÁS *** kicsiknek és nagyoknak *** Budapest I. II. XII.kerületekben +36 70 779-55-77    *****    Augusztus 26-án Kutyák Világnapja! Gyertek a Mesetárba, és ünnepeljétek kutyás színezõkkel! Vau-vau!    *****    A horoszkóp elemzésed utáni érdeklõdés, nem kíváncsiság hanem intelligencia. Rendeld meg és nem fogod megbánni. Katt!!!    *****    Cikksorozatba kezdtem a PlayStation történelmérõl. Miért indult nehezen a Sony karrierje a konzoliparban?