Jump to content

návod Bomba


Pepa

Recommended Posts

Čaute, dávám jsem začátečníkům návod jak vytvořit lehce bombu:

 

Takže,

nahoru dáme:

 

#define barva 0xFF0000AA //Definuje červenou barvu
new Float:rX,Float:rY,Float:rZ; //Souřadnice
new bomba[MAX_PLAYERS]; //Bomba
new Float:bX,Float:bY,Float:bZ; //Souřadnice
new Name[21]; //Zjišťuje hráčovo jméno
new string[256];

 

a do

 

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/polozitbombu", true) == 0){ //Příkaz
if(bomba[playerid] == 0){ //Pokud je bomba nastavená na 0 znamená to že bomba ještě neni položená
bomba[playerid]=1; //Nastaví bombu jako položenou
GetPlayerPos(playerid,bX,bY,bZ); //Zjišťuje hráčovo pozíci aby se mohl vytvořit výbuch bomby
CreateObject(1654,bX,bY,bZ-0.8,rX,rY,rZ); //Vytvoří model bomby
GetPlayerName(playerid,Name, sizeof(Name)); //Zjišťuje hráčovo jméno
format(string, sizeof(string), "Hráč %s položil bombu",Name); //Napíše text do chatu
SendClientMessageToAll(barva, string); //Pošle to všem do chatu barvou
}else{ //Pokud už je bomba položená
SendClientMessage(playerid,barva, "Bomba už je položená, odpalte příkazem /boom"); //Napíše jen vám do chatu že už je bomba položená
}
return 1;
}
if(strcmp(cmdtext, "/boom", true) == 0){ //Příkaz
if(bomba[playerid] == 0){ //Pokud je bomba nastavená na 0 znamená to že bomba ještě neni položená
SendClientMessage(playerid,barva, "Bomba ještě neni položená"); //Napíše jen vám text do chatu
}else{ //Pokud je bomba nastavená na 1
CreateExplosion(bX,bY,bZ,2,3); //Vytvoří výbuch
DestroyObject(1654); //Zníčí model bomby
bomba[playerid]=0; //Vrátí bombu do původný hodnoty
GetPlayerName(playerid,Name, sizeof(Name)); //Zjišťuje hráčovo jméno
format(string, sizeof(string), "Hráč %s odpálil bombu",Name); //Napíše text do chatu
SendClientMessageToAll(barva,string); //Pošle to všem do chatu barvou
}
}
return 1;
}

 

Za každym kódem máte vysvětlivky: //vysvětlivka

Doufám že nováčkům návod pomůže a bude se hodit :)

Díky předem za hodnocení.

Link to comment
Share on other sites

  • Administrátor

if(premena == co_nechci_aby_se_stalo) return "Nemas bombu";

co si to krátit ?

 

Já bych to spíš než návod označil jako script

Link to comment
Share on other sites

On tam měl bomb systém úplně jinak takže po nim to asi fakt nebude :d

jaj tak ešte by si to mohol spravit na cas že položič bombu a že sa po 30 sek bobma vybuchne ako na csku ;)

Link to comment
Share on other sites

Já bych to spíš než návod označil jako script

Vypadá to jako script

ale dal jsem to jako návod jelikož jsou u toho vysvětlivky tak radši jak návod

 

jaj tak ešte by si to mohol spravit na cas že položič bombu a že sa po 30 sek bobma vybuchne ako na csku ;)

 

Mohl jsem, ale to už by pak vypadalo jako script :d

Link to comment
Share on other sites

Je to pekné.. Jak ešte budeš rozvýjať tento TuT alebo neviem ako to mám nazvať.. Mohol by si spraviť našlapnú mínu.. Vlastne že kontrola pozície a keď bude hráč na súradniciach bomby tak CreateExplosion :) Ale inak nice .. :d

Link to comment
Share on other sites

Je to pekné.. Jak ešte budeš rozvýjať tento TuT alebo neviem ako to mám nazvať.. Mohol by si spraviť našlapnú mínu.. Vlastne že kontrola pozície a keď bude hráč na súradniciach bomby tak CreateExplosion :) Ale inak nice .. :d

j vim, jinak díky :)

Link to comment
Share on other sites

  • Hlavní moderátor

new Name[256]; //Zjišťuje hráčovo jméno

 

nauč se šetřit místem, vystačíš si s 21 znaky

Link to comment
Share on other sites

  • Administrátor

Toto by ani žádné místo skoro nezaplňovalo, ale Upraveno

Je vidět že absolutně nevíš co děláš....

Počítej se mnnou :

21x4 = 84 bajtů

256x4 = 1024 bajtů

 

A hle celkem rozdíl že ? už máš zabráno 48x víc paměti když používáš pro jméno 256

 

new string[256];

SendClientMessageToAll(barva, string);

 

Opět vytváříš 1024 bajtů v paměti tam kde se víc než 512 bajtů nevyužije ... Do chatu lze vypsat zprávu o 127+1 ukončovací znacích

Takže když to spočítám tak v jednom příkazu zasereš zbytečně prostor 138 bajtů.

Teď když budeš mít na serveru dejme tomu 50 hráčů a všichni tenhle příkaz použijou tak máš uplně na nic vytvořenej prostor a nevyužitej 69350 bajtů.

Ještě pořád mi chceš tvrdit že to "skoro žádný místo nezaplňuje" ?

Link to comment
Share on other sites

  • Administrátor

Toto by ani žádné místo skoro nezaplňovalo, ale Upraveno

 

Tvrdí ti to snat někdo ?

však ok ..

 

Se podívej výše... Tvrdíš to ty. A jen tak mimochodem píše se snaD ne snaT

Link to comment
Share on other sites

Se podívej výše... Tvrdíš to ty. A jen tak mimochodem píše se snaD ne snaT

Děkuji za učitele češtiny

Dávám to jsem nováčkům, ne někomu kdo mě tu bude upozorňovat co a jak...

Link to comment
Share on other sites

No nedaděláme stebou nic chováš se jak malej ..

To že jsem udělal jednu chybu kterou se nic stejně nestalo se tu hned akorát předvádíš a machruješ..

Link to comment
Share on other sites

  • Administrátor

Já se nepředvádím jen tě upozornuju na to že delás kraviny v Návodech ... návod tě má něco naučit správně a ne špatně.

Ty to evidentně nedokážeš pochopit. Od někud si něco vytáhneš a myslíš si že tu budeš za borce že píšeš návody.... Možná budeš u těch patolízalů co tomu nerozuměj uplně stejně jako ty

Link to comment
Share on other sites

:facepalm: Nikdo si tu na borce nehraje, už asi sám nevíš co píšeš.

Člověk udělá jednu chybku a už asi neumí podle tebe nic tak to seš dobrej no.

Nebudu se tu s k**em hádat.

Link to comment
Share on other sites

  • Administrátor

:facepalm: Nikdo si tu na borce nehraje, už asi sám nevíš co píšeš.

Člověk udělá jednu chybku a už asi neumí podle tebe nic tak to seš dobrej no.

Nebudu se tu s k**em hádat.

 

Neříkám že neumíš nic ... jen chci říct že to neumíš na takové úrovni aby jsi mohl psát návody toť z mé strany v tomto tématu vše.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...