Jump to content

návod [Pro začátečníky] Jak udělat zprávy při připojení/odpojení hráče.


rEf

Recommended Posts

Menší tutoriál pro začátečníky.

Nejdřív je třeba dát si do módu někam třeba úplně dolu stock který zjistí jméno hráče podle id:

stock PlayerName(playerid)
{
    new pname[24];
    GetPlayerName(playerid,pname,24);
    return pname;
}

Stock se používá stylem PlayerName(playerid) můžete ho použít ne jen v těchto zprávách ale v celém módě určitě lepší jak u každého textu používat GetPlayerName.

 

Teď k samotným zprávám jako první si uděláme zprávu při připojení.

Stačí do OnPlayerConnect vložit:

new string[128]; // string[128] číslice 128 znamenají délku textu kterou si lze nastavit tímto způsobem.
format(string, sizeof(string), "Hráč %s se připojil na server.", PlayerName(playerid)); 
SendClientMessageToAll(0xffffffaa, string); // SendClientMessageToAll (zpráva pro všechny přítomné hráče na serveru), 0xffffffaa (barva kterou lze jednoduše změnit např.: 0xff0000aa = ČERVENÁ)

Mělo by to vypadat takto:

public OnPlayerConnect(playerid)
{
    new string[128];
    format(string, sizeof(string), "Hráč %s se připojil na server.", PlayerName(playerid));
    SendClientMessageToAll(0xffffffaa, string);
    return 1;
}

Dále si uděláme odpojení na 3 způsoby a to pád hry, odpojení a vyhození ze serveru:

Stačí do OnPlayerDisconnect vložit:

new string[128]; // string[128] číslice 128 znamenají délku textu kterou si lze nastavit tímto způsobem.
switch(reason)
{
    case 0: format(string, sizeof(string), "Hráči %s spadla hra.", PlayerName(playerid));
    case 1: format(string, sizeof(string), "Hráč %s se odpojil ze serveru.", PlayerName(playerid));
    case 2: format(string, sizeof(string), "Hráč %s byl vyhozen ze serveru.", PlayerName(playerid));
} 
SendClientMessageToAll(0xffffffaa, string); // SendClientMessageToAll (zpráva pro všechny přítomné hráče na serveru), 0xffffffaa (barva kterou lze jednoduše změnit např.: 0xff0000aa = ČERVENÁ)

Mělo by to vypadat takto:

public OnPlayerDisconnect(playerid, reason)
{
    new string[128];
    switch(reason)
    {
        case 0: format(string, sizeof(string), "Hráči %s spadla hra.", PlayerName(playerid));
        case 1: format(string, sizeof(string), "Hráč %s se odpojil ze serveru.", PlayerName(playerid));
        case 2: format(string, sizeof(string), "Hráč %s byl vyhozen ze serveru.", PlayerName(playerid));
    } 
    SendClientMessageToAll(0xffffffaa, string);
    return 1;
}

A prakticky to je vše úpravy si už můžete dělat každý sám.

(pro hatery - i tohle přijde vhod pokud to už znáte nebo to nevyužijete nehejtujte to)

Edited by rEf
Link to comment
Share on other sites

public OnPlayerSpawn(playerid) // KED SA SPAWNE
{
 SetPlayerSkin(playerid, random(100)); // NASTAVIME MU NAHODNY SKIN
 return 1;
}

Mám skvelý zbytočný tutorial, asi si založím tému.

 

Neber to zle, ale nie na všetko je potrebný tutorial, ľudia toto skôr skopírujú a aj tak nepochopia, a založia ďalší jebnutý help...

Link to comment
Share on other sites

public OnPlayerSpawn(playerid) // KED SA SPAWNE
{
 SetPlayerSkin(playerid, random(100)); // NASTAVIME MU NAHODNY SKIN
 return 1;
}

Mám skvelý zbytočný tutorial, asi si založím tému.

 

Neber to zle, ale nie na všetko je potrebný tutorial, ľudia toto skôr skopírujú a aj tak nepochopia, a založia ďalší jebnutý help...

 

 

(pro hatery - i tohle přijde vhod pokud to už znáte nebo to nevyužijete nehejtujte to)

 

Musím tě zklamat setkal jsem se z lidmi kteří neumí ani kopírovat i takový primitivní kód vkládají třeba do OnGameModeInit atd...  :)  Ber to jako jeden ze základu módu. Je tu jasně vysvětleno kam to mají dát a jak by to mělo vypadat.

Edited by rEf
Link to comment
Share on other sites

  • Administrátor

Tento příspěvek byl upraven od rEf: Dnes, 19:31:42

 

Tento příspěvek byl upraven od Ewwe: Dnes, 19:27:41

 

Samozřejmě dřív než jsem to napsal.....

Link to comment
Share on other sites

Tento příspěvek byl upraven od rEf: Dnes, 19:31:42

 

Tento příspěvek byl upraven od Ewwe: Dnes, 19:27:41

 

Samozřejmě dřív než jsem to napsal.....

 

Samozdřejmě sem si upravoval i vzhledově příspěvek :) :) Co dalšího máš za námitky? 

Link to comment
Share on other sites

Rozhodne aby to pro novacky melo nejaky smysl tak by nebylo naskodu polopaticky vysvetlit kazdy radek co dela.

Jinak co se tyce ty barvy tak bych rozhodne nepletl novackum hlavu s tim ze jakto ze si tam muzes narvat -1 kdyz se barvy zadavaji 0x... Jo je to trochu blbost. Muzes si tam barvu zadat i desitkovou soustavou, ale rozhodne bych jim nepletl hlavu s tim ze bytovym posunem u maximalni hodnoty integeru pro bilou (0xFFFFFF) barvu vznikne -1.

Edited by ATomas
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Rozhodne aby to pro novacky melo nejaky smysl tak by nebylo naskodu polopaticky vysvetlit kazdy radek co dela.

Jinak co se tyce ty barvy tak bych rozhodne nepletl novackum hlavu s tim ze jakto ze si tam muzes narvat -1 kdyz se barvy zadavaji 0x... Jo je to trochu blbost. Muzes si tam barvu zadat i desitkovou soustavou, ale rozhodne bych jim nepletl hlavu s tim ze bytovym posunem u maximalni hodnoty integeru pro bilou (0xFFFFFF) barvu vznikne -1.

 

Jo to máš pravdu, upravím to. 

Ale já bych spíš řekl že příspěvky těch inteligentu jim popletou hlavu.

Máš tam překlep: 

case 2: format(string, sizeof(string), "Hráč %s vyl vyhozen ze serveru.", PlayerName(playerid));

 

2x..

 

Žádný překlep nevidím až na tu textovou chybu "vyl vyhozen ze serveru" jestli myslíš to.

Edited by rEf
Link to comment
Share on other sites

case 2: format(string, sizeof(string), "Hráč %s vyl vyhozen ze serveru.", PlayerName(playerid));

case 2: format(string, sizeof(string), "Hráč %s byl vyhozen ze serveru.", PlayerName(playerid));

Link to comment
Share on other sites

  • Administrátor

Jo to máš pravdu, upravím to. 

Ale já bych spíš řekl že příspěvky těch inteligentu jim popletou hlavu.

Řekl ten co akorát vykrádá ( a ještě blbě ) 30 stejných návodů které tu jsou

Link to comment
Share on other sites

Řekl ten co akorát vykrádá ( a ještě blbě ) 30 stejných návodů které tu jsou

 

Aha tak teď už jsem zloděj :) Bravo.

case 2: format(string, sizeof(string), "Hráč %s vyl vyhozen ze serveru.", PlayerName(playerid));

case 2: format(string, sizeof(string), "Hráč %s byl vyhozen ze serveru.", PlayerName(playerid));

 

Jo jo už jsem to opravil.

Link to comment
Share on other sites

  • 2 months later...

Díky moc mi to pomohlo, nekopíroval jsem to psal jsem to a jen jednu chybičku jsem měl. Sice malou ale ano.

stock PlayerName(playerid)

{
new pname[24];
GetPlayerName(playerid,pname,24);
return pname;
}
Tak místo toho jsem měl
stock PlayerName(playerid)
{
new pname[24]
GetPlayerName(playerid,pname,24);
return pname;
}
Ale sám sjem si našel chybu a opravil jsem si jí, takže to co napsal _Martin_, tak ne každý jen kopíruje a píše help. Já se pawno chci naučit a určitě nejsem sám.
10/10 Super návod. :) 
Link to comment
Share on other sites

Tohle je návod :facepalm:  ? Proč delaš zbytečne témy ? Když se to da najísť na WikiPedií SA-MP nebo todle by mnel zvladnout začatečník ale novaček možná ne .... 

Proto sem si prepsal základny novej soubour v Pawne a mam tam hned hodzene a prepsane všechno do češtiny ...

 

0.1/10 hodnoťim .... 

Link to comment
Share on other sites

Tohle je návod :facepalm:  ? Proč delaš zbytečne témy ? Když se to da najísť na WikiPedií SA-MP nebo todle by mnel zvladnout začatečník ale novaček možná ne .... 

Proto sem si prepsal základny novej soubour v Pawne a mam tam hned hodzene a prepsane všechno do češtiny ...

 

0.1/10 hodnoťim .... 

ty taky děláš zbytečné temy o helpu a nikdo tě neprudí zato :)

  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...