Korisne komande

Započeo Correlli, Maj 28, 2010, 16:52:57 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 5 gostiju pregledaju ovu temu.

Citat: Aleksandar? poslato Jul 17, 2011, 20:39:24 POSLE PODNE
A brate mili smanji malo te stringove..
Sta ce ti toliki -_-

I izbacivace errore drugima jer mozda nemoju te tvoje definisane boje..
ne, moji stringovi su uvjek 128, prije je bilo sve izmjesano sad ne jebem, 128

i da, samo da je 1 dan radio u pawnu skuzio bi da nema te boje, neka stavi onako kako je kod njega definirano
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Citat: System32 poslato Jul 17, 2011, 22:06:37 POSLE PODNE
Citat: Aleksandar? poslato Jul 17, 2011, 20:39:24 POSLE PODNE
A brate mili smanji malo te stringove..
Sta ce ti toliki -_-

I izbacivace errore drugima jer mozda nemoju te tvoje definisane boje..
ne, moji stringovi su uvjek 128, prije je bilo sve izmjesano sad ne jebem, 128
Potpuno ne optimizirano...
Kako ti mogu svi biti 128? Sta ako neki string ima vise znakova od 128?  ???

Citat: joXy poslato Jul 17, 2011, 22:12:05 POSLE PODNE
Citat: System32 poslato Jul 17, 2011, 22:06:37 POSLE PODNE
Citat: Aleksandar? poslato Jul 17, 2011, 20:39:24 POSLE PODNE
A brate mili smanji malo te stringove..
Sta ce ti toliki -_-

I izbacivace errore drugima jer mozda nemoju te tvoje definisane boje..
ne, moji stringovi su uvjek 128, prije je bilo sve izmjesano sad ne jebem, 128
Potpuno ne optimizirano...
Kako ti mogu svi biti 128? Sta ako neki string ima vise znakova od 128?  ???
ples your self -.- pa svi iaju 128 osim par njih, sve ih testam pa ako treba vise povecam, dumbass
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Citat: System32 poslato Jul 17, 2011, 22:31:06 POSLE PODNEples your self -.- pa svi iaju 128 osim par njih, sve ih testam pa ako treba vise povecam, dumbass

Očito nisi baš najbolje upoznat sa onim što koristiš.Pročitaj malo wikipediu neće ti škodit (:


Kod (System32) [Izaberi]
CMD:gotopos(playerid, params[])
{
new Float:x, Float:y, Float:z, string[128];
if(sscanf(params, "fff", x, y, z)) return SendClientMessage(playerid, COLOR_WHITE, "Korištenje: /gotopos [X][Y][Z]");
SetPlayerPos(playerid, x, y, z);
format(string, sizeof(string), "Teleportirali ste se do %f, %f, %f", x, y, z);
SendClientMessage(playerid, COLOR_LIME, string);
return 1;
}


Već postoji ta komanda u ovom topicu:

Citat: [H]265 poslato Maj 13, 2011, 16:33:27 POSLE PODNE
COMMAND:setpos(playerid,params[]) // by [H]265
{
new
 Float:Pos[4],
 id,
 interior,
 vw,
 ime[MAX_PLAYER_NAME],
 string[128];
       #define SCM(%0,%1,%2) SendClientMessage(%0,%1,%2)
if(sscanf(params,"ufffdd",id,Pos[1],Pos[2],Pos[3],interior,vw)) return SCM(playerid,siva,"KORISTI: /setpos [playerid] [PosX] [PosY] [PosZ] [Interior] [VirtualWorld].");
else if(id == INVALID_PLAYER_ID) return SCM(playerid, siva,"SERVER. Igrac sa tim ID-om nije online.");
else
{
GetPlayerName(id, ime, MAX_PLAYER_NAME);

SetPlayerPos(playerid, Pos[1], Pos[2], Pos[3]);
SetPlayerInterior(playerid, interior);
SetPlayerVirtualWorld(playerid, vw);

format(string, sizeof string, "SERVER: Admin '%s' te premjestio na drugu lokaciju: INTERIOR: %d | VIRTUAL: %d",ime,interior,vw);
SCM(id, plava, string);

SCM(playerid, plava, "Uspjesno si promjenio kordinate igracu!");
}
       return true;
}

Kristijan Stipić

Citat: System32 poslato Jul 17, 2011, 22:31:06 POSLE PODNE
ne, moji stringovi su uvjek 128, prije je bilo sve izmjesano sad ne jebem, 128
Citat: joXy poslato Jul 17, 2011, 22:12:05 POSLE PODNE
Potpuno ne optimizirano...
Kako ti mogu svi biti 128? Sta ako neki string ima vise znakova od 128?  ???
Citat: System32 poslato Jul 17, 2011, 22:31:06 POSLE PODNE
ples your self -.- pa svi iaju 128 osim par njih, sve ih testam pa ako treba vise povecam, dumbass

Preporucio bih ti da procitas ovaj tutorial, i sledeci put proveri nesto pre nego sto napises.
http://balkan-samp.com/forum/index.php?topic=10871.msg81887#msg81887

omg budale, ja kazem da je kod mene tako, koji ti je ku*ac?
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

@Joxy

Sada slušaj! - string od 128 cellova je u redu! Objasnio sam ti na PM razlog i ovdje ću pred svima tako da i System32 vidi da je u pravu, a da ti NISI!


1. Pričaš o optimizaciji nemaš ni pojima šta je to, to ti nije samo ako prebaciš string 128 na 50.
2. SendClientMessage naredba podržava = 128 cellova što znači da nije pretjerao nego je stavio točan iznos.

- Ali naravno ti misliš na to da od tih 128 cellova je samo pola iskorišteno u toj memoriji, ali to nije točno koliko vidim nemaš pojima kako se provodi cell u PAWNCC. Svaka ćelija se broji ( to sam ti već rekao na PM ) znači zajedno sa razmakom, svako slovo/razmak = 1 cell

3. U slučaju da se doda još jedan '%' define u format ne treba se mjenjati cell na stringu nego zna da ima dosta jer je stavio 128 cellova što je maximum koji se može koristiti na toj naredbi.

4. Još jednom, optimizacija koda ti NIJE samo da prebaciš string 256 na 128 ili 128 na 50

5. I da ima višak od 50 cellova izračunaj koliko bi to viška byte-ova bilo? - ZANEMARIVO SKROZ!

Problem je kada neko stavi 256 u string koji formatira jedan red na naredbu SendClientMessage, zašto bi to neko napravio kada je max prolaz 128 ?


Znam da ti je namjera bila dobra i da si htio objasniti što je LordShigi napravio ali nisi dobro shvatio, naravno da i to spada pod optimizaciju ali neki to predoslovno shvate zato i ti još moraš dosta učiti o optimizaciji koda. - Više se baziraj na YSI ako želiš brz/dobar mod, naravno ako znaš uredno pisat kod i ako znaš nešto o optimizaciji napravit ćeš i optimiziran kod.

OFF TOPIC: ZnaÅ¡ i sam Å¡ta si meni i LordShigi-u napravio i oprostio sam ti i dopustio da ti daju UnBan i sada joÅ¡ tu meni Å¡aljeÅ¡ PM sa onim znakovima ( -.- ) Å¡to me samo naživcira kada vidim tvoje ime ovdje. Jer si Ä'ubre! Ja ti to imam pravo reći jer znaÅ¡ i sam Å¡ta si napravio.

EDIT: Lol vidim da ima još par znalaca u optimizaciju ovdje, vidio sam post od nekog ko je napisao šta ako ti treba više od 128 cellova?

  - Samo da znaÅ¡ native SA:MP chat podržava max 128 cellova < to sam već rekao

  - Ukoliko trebate spajati stringove naravno koristiti će te strcat > http://wiki.sa-mp.com/wiki/Strcat i onda povećati string cell
 
  - Ukoliko je baÅ¡ neÅ¡to bizarno malo onda naravno da se stavi manje od 128 jer npr. za ovo ne bi nitko stavio 128

new string[2][128];

   string[0] = "PORUKA";
   string[1] = "PORUKA2";

Na takve se stvari stavlja malo cellova ali za ovo što ispisuje jednu normalnu rečenicu stavlja se 128 općenito radi lakšeg edita koda.
Poslednja Izmena: Jul 18, 2011, 17:44:05 POSLE PODNE od [H]265
Kristijan Stipić

Evo, malo sam prčkao po objektima, i malo sam se zabavio.

Ova komanda daje vašem liku objekt nad glavom aureolu. Toliko da se zabavite.
Evo slika:


Evo komanda:

if (strcmp("/aureola", cmdtext, true, 10) == 0)
{
        if(IsPlayerAttachedObjectSlotUsed(playerid,2)) RemovePlayerAttachedObject(playerid,2);
SetPlayerHoldingObject(playerid, 2992,2,0.2,0.0,0.0,0.0,90.0,0.0);
return 1;
}
















CitatPhantom´s people: People don't like us. 
Come on, is not easy for us.

Zohan´s people: People don't like us too. 
Phantom´s people: Why!?
Zohan´s people: Because they think we are you.

@Zohan 
kao prvo to nece radit za sve skinove... a kao drugo komanda je u strcmp i opet nevalja :/

Evo komanda /new, jest da je vecina ima ali ova je "posebna", mislim u dijalogu je, neznaju bas svi to staviti, stavu ali im onda ne dode poruka koju je igrac napisao, nego samo prazan dio, znaci ovo ce vam i smaniti spam
Napomena: poruka ce doci samo RCON adminu, vi morate staviti kako je definirano u vase modu
komanda:
Kod (System32) [Izaberi]
YCMD:new(playerid, params[], help)
{
    #pragma unused help
    #pragma unused params
ShowPlayerDialog(playerid, 21, DIALOG_STYLE_INPUT, "Pomoć!", "Upišite pitanje administratorima!", "Ok", "Izlaz");
    return 1;
}

U OnDialogResponse
Kod (System32) [Izaberi]
    if(dialogid == 21)
    {
        format(string, sizeof(string), "Igrač %s traži pomoć: %s", GetName(playerid), inputtext);
    ABroadCast(COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIME, "VaÅ¡a pomoć je poslana administraciji servera!");
}

potrebne funkcije:
Kod (System32) [Izaberi]
stock GetName(playerid)
{
new
    pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}


u funkciji ABroadCast trebate dodati kod ove linije ovako
Kod (System32) [Izaberi]
if(IsPlayerAdmin(i))
Kod (System32) [Izaberi]
if(IsPlayerAdmin(i) || ~Define za admine u vasem modu~)
Kod (System32) [Izaberi]
stock ABroadCast(color,const string[])
{
foreach(Player, i)
if(IsPlayerAdmin(i))
{
SendClientMessage(i, color, string);
}
return 1;
}
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

poznaticovik

Setskin komanda , nije teška za napraviti , ali vidim da početnici jako često ispituju za tu komandu , pa eto poslužite se.

Kod (Matt) [Izaberi]
CMD:setskin(playerid,params[]) {
new
skinid,
pid,
str[128],
admin[MAX_PLAYER_NAME];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "GREÅ KA: Nisi admin"); // stavite svoju varijablu za provjeru admina
if(sscanf(params, "ud", pid, skinid)) return SendClientMessage(playerid, -1, "KORISTI: /setskin [player id] [skin id]");
else if(pid == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1,"GREŠKA: Igrač sa tim ID-om ne postoji!");
else {
GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
if(skinid > 299 || skinid < 0) return SendClientMessage(playerid, -1, "GREÅ KA: Koristite skin id od 0 do 299 !");
SetPlayerSkin(playerid, skinid);
format(str, sizeof(str), "Admin %s ti je promjenio skin! Tvoj novi skin id je : %d", admin, skinid);
SendClientMessage(pid,-1,str); }
return true; }
Poslednja Izmena: Septembar 02, 2011, 05:35:21 PRE PODNE od MattZL

Jako korisno i nije loše.....

Citat: agent55527 poslato Septembar 05, 2011, 08:01:04 PRE PODNE
[code]Evo jednostavno pravljenje komande za admin poruku
[code]
forward APMLog(string[]); //ovo stavite na vrh skripte

Sad moramo napraviti file gdje ce se spremati poruke a to ide ovako

public APMLog(string[])
{
new entry[200];
format(entry, sizeof(entry), "%s\r\n",string);
new File:hFile;
hFile = fopen("imemapeukojusesprema/apm.log", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

I sada komanda

if(strcmp(cmd, "/apm", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
if (PlayerInfo[playerid][pAdmin] >= 1)
{
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "   Nisi logiran!");
            return 1;
        }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koristi: /apm [ID Igrača/Dio Imena] [text]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (IsPlayerConnected(giveplayerid))
{
    if(giveplayerid != INVALID_PLAYER_ID)
    {

GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new h,mi,s;
      new y,m,d;
gettime(h,mi,s);
getdate(y,m,d);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Korištenje: /apm [ID Igrača/Dio Imena] [text]");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Admina %s kaze: %s",sendername,(result));
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Poruka poslana %s (%d): %s", giveplayer, giveplayerid, (result));
SendClientMessage(playerid,  COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "[ADMIN]: %s je poslao poruku %s (%d) (Text: %s).",sendername,giveplayer,giveplayerid, (result));
SendAdminMessage(COLOR_LIGHTRED,string);
format(string, sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [APM] to %s: (%s)",d,m,y,h,mi,s, sendername,giveplayer, result);
APMLog(string);
return 1;
}
}
else
{
format(string, sizeof(string), "   %d nije aktivan Igrač.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
}[code]
I to je to ;)
[/code][/code][/code]
Ovo ti nije bas korisno GF -.-....
 if(IsPlayerConnected(playerid)) Ovo ti netreba..

CMD:gotoxyz(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
new Float: a, Float: b, Float: c;
if (sscanf(params, "fff", a,b,c)) return SendClientMessage(playerid, COLOR_GRAD2, "Upotreba: /gotoxyz [x] [y] [z]");
SetPlayerPos(playerid, a, b, c);
SendClientMessage(playerid, 0xC7FA2DFF, "Parametri su dobri. Idemo tamo.");
}
return 1;
}


Jednostavna komanda za koju vam je potreban sscanf i ZCMD. Korisna je u slucaju provjeravanja raznih koordinata u gamemodeu (ukoliko zelite neke koordinate prepraviti, da ne pogrijesite).
Respekt: [H]265, John, [03]Garsino, LordShigi, Dujma, Carlsson, Randy, Jacobs, Hu5o, Toni, Lukas, Curtis, Ivo, Hawks, Jack, Koksildo, gonss

Haha OMG => http://zaslike.com/files/9rd5urq94yqagvdsx3i.png [ovo nema nigdje]