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
     
Fel/le csatlakozás

 

Csatlakozási és távozási üzenet
by ALIEN
Előszó
Üdv, most megmutatom hogy-hogy csinálhatunk üzenetet,
amikor valaki csatlakozik a szerverre vagy éppen,
távozik a szerverről. Na lássuk is.

------------------------------------Csatlakozás:----------------------------------
Itt egy üzenetet fogunk csinálni a többi
playernek hogy tudják hogy te csatlakoztál a szerverre.
Itt egy példa: ALIEN csatlakozott a szerverre.
public OnPlayerConnect(playerid) -nél fogunk dolgozni,
úgy hogy keressük is meg, vagy ha nincs akkor írjunk egyet.
1.Elsőnek is hozzunk létre 2 tárolót.
Az egyik, a játékos nevét fogja tárolni, a másik a szöveget fogja tárolni.
Kód:
new pName[MAX_PLAYER_NAME];// a játékos nevét tárolja
new string[256];// a szöveget tárolja

2.
Most meg kell tudnunk a játékos nevét, erre a GetPlayerName
függvényt fogjuk használni:
Kód:
GetPlayerName(playerid, pName, sizeof(pName)); // ezzel a parancsal tudjuk meg a játékos nevét

3.
Most az eltárolt nevet az üzenetbe be kell valahogy helyezni.
Ehhez hívjuk, segítségül a format -ot:
Kód:
format(string, sizeof(string), "%s csatlakozott a szerverre.", pName);// %s = játékos neve és üzenete

4.
És már csak el kell küldeni az üzenetet mindenkinek.
 Ehhez a SendClientMessageToAll függvényt fogjuk használni:
Kód:
SendClientMessageToAll(0x00FF28FF, string); elküldi mindenkinek az üzenetet
-a string az eltárolt üzenet.
Itt egy minta:
Kód:
public OnPlayerConnect(playerid)
{
new pName[MAX_PLAYER_NAME];
new string[46];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s csatlakozott a szerverre.", pName);
SendClientMessageToAll(0x00FF28FF, string);
return 1;
}


---------------------------------------------Távozás:--------------------------------

Itt az üzenetet arra az esetre fogjuk megcsinálni ha a játékos távozik.
PL. -ban/kick, -időtullépés, -vagy csak símán kilépett a játékos.
Itt egy példa: ALIEN elhagyta a szervert.
Most a public OnPlayerDisconnect(playerid, reason)-nál fogunk dolgozni.
Keressük meg, vagy ha nincs akkor csináljunk egyet.
1.Megint kellenek a new-ek, a lecsatlakozó player
nevének tárolásához és a szöveg tárolásához:
Kód:
new name[MAX_PLAYER_NAME];
new str[128];

2.
Megint lekérdezzük a játékos nevét GetPlayerName -val:
Kód:
GetPlayerName(playerid, name, sizeof(name));

3.
Most kell egy switch függvény hogy a szöveg megfelelő legyen:
Kód:
switch(reason)

4.
Most létre kell hozni különféle
pontokat ahol a játékost bannolták, kilépett vagy időtúllépés volt nála.
case parancsal fogjuk végre hajtani.
Most elsőnek ban/kick-es üzenetet foglyuk megcsinálni:
Kód:
case 0:	format(str, sizeof(str), "*** %s (%d) Kilépett a szerverről (Időtullépés)", name, playerid);
Most ugyanúgy megcsináljuk az időtúllépéses üzenettel, és a kilépéses üzenettel is!
Kód:
case 1:	format(str, sizeof(str), "*** %s (%d) Kilépett a szerverről (Kilépés)", name, playerid);

Kód:
case 2:	format(str, sizeof(str), "*** %s (%d) Kilépett a szerverről (Kirúgva/Bannolva)", name, playerid);

Mintláthattátok csak a sorszámot és a szöveget kellet megváltoztatni.
És már kész is, itt egy példa:
  1. public OnPlayerDisconnect(playerid, reason)
  2. {
  3.         new name[MAX_PLAYER_NAME], str[128];
  4.         GetPlayerName(playerid, name, sizeof(name));
  5.         switch (reason) {
  6.         case 0: format(str, sizeof(str), "*** %s (%d) Kilépett a szerverről (Időtullépés)", name, playerid);
  7.         case 1: format(str, sizeof(str), "*** %s (%d) Kilépett a szerverről (Kilépés)", name, playerid);
  8.         case 2: format(str, sizeof(str), "*** %s (%d) Kilépett a szerverről (Kirúgva/Bannolva)", name, playerid);
  9.         }
  10.         SendClientMessageToAll(0xC0C0C0AA, str);
  11.         return 1;
  12. }

Utószó

Remélem sokat segítettem ezzel a bemutatóval. Most már jöhetnek a kritikák.

 

5 hozzászólás
Idézet
2012.04.28. 11:06
DAVID

public OnPlayerConnect(playerid)
{
    new pName[MAX_PLAYER_NAME];
    new string[46];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "%s [ID:%d] Csatlakozott A Szerverre.", pName, playerid);
    SendClientMessageToAll(0x0dff00AA, string);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof(name));
    switch (reason) {
    case 0: format(str, sizeof(str), "*** %s [ID:%d] Kilépett A Szerverről. (Időtullépés)", name, playerid);
    case 1: format(str, sizeof(str), "*** %s [ID:%d] Kilépett A Szerverről. (Kilépet)", name, playerid);
    case 2: format(str, sizeof(str), "*** %s [ID:%d] Kilépett A Szerverről. (Kirúgva/Bannolva)", name, playerid);
    }
    SendClientMessageToAll(0x0dff00AA, str);
    return 1;
}

 

Tess itt egy teljes minta csak másold be és változtasd meg a szint ha meg akarod

Idézet
2012.01.17. 23:28
[DON]$Marcury$

Akkor valamit rosstul csináltál

Idézet
2011.02.20. 12:46
matyi

 beraktam, de valahogy a játékba baléptem de nem írta ki 

Idézet
2010.11.02. 17:42
palez

azt hogy lehet, hogy pl csak annak is irjon valamit, aki csatlakozik?

pl.: Üdv a Szerven, érezd jól magad!

__________________________________________________________________________________________________________________________

válasz:

A SendClientMessageToAll(...); helyére ezt teszed SendClientMessage(playerid, színkód, "szöveg");

Idézet
2010.11.01. 13:04
Matt

 Hali.Ezt a csatlakozás/távozást jelző üzit hogy lehet beállítani h csak adminnak mutassa?

______________________________________________________________________________________________________________________

válasz:

Ez attol függ mien adminnak mutassa Rcon nak vagy a te saját admin scriptedbe lévőnek.

     
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?