Crash

Započeo Sparta_, Avgust 27, 2023, 18:56:45 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 8 gostiju pregledaju ovu temu.

Pitanje/savjet:Dodao sam komandu /promeniskin, i nema errora i warninga, i kad udjem u igru i ukucam "/promeni skin", izbaci ono sto i treba: [USAGE]:/promeniskin [id] [skinid]. Ali cim ukucam id igraca i id skina, server se crashuje, ne znam u cemu je problem.
Opsirnije:[pawn]CMD:promeniskin(playerid, params[])
{
   new id, skinid, igrac1[MAX_PLAYER_NAME + 1], igrac2[MAX_PLAYER_NAME + 1];
   GetPlayerName(playerid, igrac1, sizeof(igrac1));
   GetPlayerName(id, igrac2, sizeof(igrac2));
   if(PlayerInfo[playerid][pAdmin] > 4)
    {
      if(sscanf(params, "ui", id, skinid)) return SendClientMessage(playerid, -1, "{ff0000}[USAGE]: {ffffff}/promeniskin [id] [skinid]");
      else if(skinid > 311 || skinid < 0) return SendClientMessage(playerid, -1, "{ff0000}[SERVER]: {ffffff}Nemozete uzeti skin manji od 0 i veci od 311! ");
      else
      {
          skinid = GetPlayerSkin(id);
          SetPlayerSkin(id, skinid);
          SendClientMessage(playerid, -1, "{ff0000}[KOMANDA]: {ffffff}Uspesno ste setali skin id %d igracu %s!, skinid, igrac2");
          SendClientMessage(id, -1, "{ff0000}[KOMANDA]: {ffffff}Admin %s vam je setao skin id %d!", igrac1, skinid);
          return 1;
      }
   }
   else
   {
       SendClientMessage(playerid, -1, "{ff0000}[SERVER]: {ffffff}Niste ovlasceni da koristite ovu komandu!");
       return 1;
   }
   
}[/pawn]
Dodatno:


Citat: Sparta_ poslato Avgust 27, 2023, 18:56:45 POSLE PODNE
Pitanje/savjet:Dodao sam komandu /promeniskin, i nema errora i warninga, i kad udjem u igru i ukucam "/promeni skin", izbaci ono sto i treba: [USAGE]:/promeniskin [id] [skinid]. Ali cim ukucam id igraca i id skina, server se crashuje, ne znam u cemu je problem.
Opsirnije:[pawn]CMD:promeniskin(playerid, params[])
{
   new id, skinid, igrac1[MAX_PLAYER_NAME + 1], igrac2[MAX_PLAYER_NAME + 1];
   GetPlayerName(playerid, igrac1, sizeof(igrac1));
   GetPlayerName(id, igrac2, sizeof(igrac2));
   if(PlayerInfo[playerid][pAdmin] > 4)
    {
      if(sscanf(params, "ui", id, skinid)) return SendClientMessage(playerid, -1, "{ff0000}[USAGE]: {ffffff}/promeniskin [id] [skinid]");
      else if(skinid > 311 || skinid < 0) return SendClientMessage(playerid, -1, "{ff0000}[SERVER]: {ffffff}Nemozete uzeti skin manji od 0 i veci od 311! ");
      else
      {
          skinid = GetPlayerSkin(id);
          SetPlayerSkin(id, skinid);
          SendClientMessage(playerid, -1, "{ff0000}[KOMANDA]: {ffffff}Uspesno ste setali skin id %d igracu %s!, skinid, igrac2");
          SendClientMessage(id, -1, "{ff0000}[KOMANDA]: {ffffff}Admin %s vam je setao skin id %d!", igrac1, skinid);
          return 1;
      }
   }
   else
   {
       SendClientMessage(playerid, -1, "{ff0000}[SERVER]: {ffffff}Niste ovlasceni da koristite ovu komandu!");
       return 1;
   }
   
}[/pawn]
Dodatno:
Crasha ti jer si "dodao", a nisi "uradio"...

Citat: ʟᴀᴋᴇʀɪɴɢ poslato Avgust 27, 2023, 22:34:59 POSLE PODNE
Crasha ti jer si "dodao", a nisi "uradio"...
Ne razumem sta zelis da kazes? Nov sam u skriptanju, ako zelis da kazes da sam prekopirao komandu od nekud, nisam. Gledao sam tutorijale pa sam na osnovu njih napravio.

[pawn]if
else if
else [/pawn]
average balkan code

Citat: Detth poslato Avgust 27, 2023, 22:45:10 POSLE PODNE
[pawn]if
else if
else [/pawn]
average balkan code
Gledajte, ako ce neko da mi pomogne da naucim na svojim greskama nek ucini to, a pre svega sam pocetnik, nisam se ni ja, a nije se ni niko od vas rodio naucen, ako cete me samo ismevati, onda ovaj forum nije ono cemu bi trebao da sluzi...

Citat: Sparta_ poslato Avgust 27, 2023, 22:49:13 POSLE PODNE
Gledajte, ako ce neko da mi pomogne da naucim na svojim greskama nek ucini to, a pre svega sam pocetnik, nisam se ni ja, a nije se ni niko od vas rodio naucen, ako cete me samo ismevati, onda ovaj forum nije ono cemu bi trebao da sluzi...

Procitaj dukumentaciju...

Citat: Sparta_ poslato Avgust 27, 2023, 18:56:45 POSLE PODNE
Pitanje/savjet:Dodao sam komandu /promeniskin, i nema errora i warninga, i kad udjem u igru i ukucam "/promeni skin", izbaci ono sto i treba: [USAGE]:/promeniskin [id] [skinid]. Ali cim ukucam id igraca i id skina, server se crashuje, ne znam u cemu je problem.
Opsirnije:[pawn]CMD:promeniskin(playerid, params[])
{
   new id, skinid, igrac1[MAX_PLAYER_NAME + 1], igrac2[MAX_PLAYER_NAME + 1];
   GetPlayerName(playerid, igrac1, sizeof(igrac1));
   GetPlayerName(id, igrac2, sizeof(igrac2));
   if(PlayerInfo[playerid][pAdmin] > 4)
    {
      if(sscanf(params, "ui", id, skinid)) return SendClientMessage(playerid, -1, "{ff0000}[USAGE]: {ffffff}/promeniskin [id] [skinid]");
      else if(skinid > 311 || skinid < 0) return SendClientMessage(playerid, -1, "{ff0000}[SERVER]: {ffffff}Nemozete uzeti skin manji od 0 i veci od 311! ");
      else
      {
          skinid = GetPlayerSkin(id);
          SetPlayerSkin(id, skinid);
          SendClientMessage(playerid, -1, "{ff0000}[KOMANDA]: {ffffff}Uspesno ste setali skin id %d igracu %s!, skinid, igrac2");
          SendClientMessage(id, -1, "{ff0000}[KOMANDA]: {ffffff}Admin %s vam je setao skin id %d!", igrac1, skinid);
          return 1;
      }
   }
   else
   {
       SendClientMessage(playerid, -1, "{ff0000}[SERVER]: {ffffff}Niste ovlasceni da koristite ovu komandu!");
       return 1;
   }
   
}[/pawn]
Dodatno:
[pawn]
CMD:setskin(playerid, params[])
{
   if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, -1, "Nisi ovlascen!");
   new id, skin;
   if(sscanf(params, "ui", id, skin)) return SendClientMessage(playerid, -1, "/setskin (playerid) (skin id)");
   else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Taj gradjanin nije konektovan.");
   if(skin < 1 || skin > 311) return SendClientMessage(playerid, -1, "Ne mozete odabrati manji skin od 1 ili veci od 311.");
   SendClientMessage(id, -1, "Skin Vam je promenjen.");
   SetPlayerSkin(id, skin);
   return 1;
}
[/pawn]
Aj napuni pun i vozi odavde,
na autoput u najveci krug,
da najbolje razmislim ko mi je drug.

Citat: cofilinko poslato Avgust 28, 2023, 00:13:11 PRE PODNE
[pawn]
CMD:setskin(playerid, params[])
{
   if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, -1, "Nisi ovlascen!");
   new id, skin;
   if(sscanf(params, "ui", id, skin)) return SendClientMessage(playerid, -1, "/setskin (playerid) (skin id)");
   else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Taj gradjanin nije konektovan.");
   if(skin < 1 || skin > 311) return SendClientMessage(playerid, -1, "Ne mozete odabrati manji skin od 1 ili veci od 311.");
   SendClientMessage(id, -1, "Skin Vam je promenjen.");
   SetPlayerSkin(id, skin);
   return 1;
}
[/pawn]
Hvala! Ali idalje nisam siguran, jel greska u tome sto nisam dodao proveru da li je igrac povezan?

Citat: Sparta_ poslato Avgust 28, 2023, 00:25:20 PRE PODNE
Hvala! Ali idalje nisam siguran, jel greska u tome sto nisam dodao proveru da li je igrac povezan?
Od svega ovoga sto gledam, pored
[pawn]
if
else if
else
[/pawn]
me jos vise zbunuje ovo
[pawn]
skinid = GetPlayerSkin(id);
[/pawn]
Zasto bi uzimao igracev skin i cuvao ga pod "skinid" kad vec zelis da mu postavljas neki drugi.. Sve ostalo mi izgleda okej.

Da ne moras vise da se mucis sa "GetPlayerName".
[pawn]
stock GetName(playerid)
{
   new name[24];
   GetPlayerName(playerid,name,24);
   return name;
}
[/pawn]
Poslednja Izmena: Avgust 28, 2023, 00:31:33 PRE PODNE od cofilinko
Aj napuni pun i vozi odavde,
na autoput u najveci krug,
da najbolje razmislim ko mi je drug.

Citat: cofilinko poslato Avgust 28, 2023, 00:30:31 PRE PODNE
Od svega ovoga sto gledam, pored
[pawn]
if
else if
else
[/pawn]
me jos vise zbunuje ovo
[pawn]
skinid = GetPlayerSkin(id);
[/pawn]
Zasto bi uzimao igracev skin i cuvao ga pod "skinid" kad vec zelis da mu postavljas neki drugi.. Sve ostalo mi izgleda okej.

Da ne moras vise da se mucis sa "GetPlayerName".
[pawn]
stock GetName(playerid)
{
   new name[24];
   GetPlayerName(playerid,name,24);
   return name;
}
[/pawn]
Hvala na objasnjenju, na greskama se uci. Izgleda da na ovom forumu ipak postoje neki ljudi koji bi izdvojili malo svog vremena da objasne i ukazu na greske novim clanovima...

Citat: Sparta_ poslato Avgust 28, 2023, 00:37:39 PRE PODNE
Hvala na objasnjenju, na greskama se uci. Izgleda da na ovom forumu ipak postoje neki ljudi koji bi izdvojili malo svog vremena da objasne i ukazu na greske novim clanovima...
Pomazem onoliko koliko znam. Srecno!
Aj napuni pun i vozi odavde,
na autoput u najveci krug,
da najbolje razmislim ko mi je drug.

[pawn]
 
YCMD:setskin(playerid, const string: params[], help)
{
         static
                 targetid,
                 skinid;
 
         if (sscanf(params, "ri", targetid, skinid))
                 return SendClientMessage(playerid, -1, "/setskin [targetid] [skinid]");
 
         if (!(1 <= skinid <= 311))
                 return SendClientMessage(playerid, -1, "Pogresan ID skina!");
 
         if (GetPlayerSkin(targetid) == skinid)
                 return SendClientMessage(playerid, -1, "Taj igrac vec ima taj skin!");
 
         SetPlayerSkin(targetid, skinid);
 
     return 1;
}

[/pawn]

Stvarno mislite da je problem da vam se da code... Sta si naucio iz ovoga osim da sledeci put opet otvoris temu jer neces znati da resis...

Citat: cofilinko poslato Avgust 28, 2023, 00:30:31 PRE PODNE
Od svega ovoga sto gledam, pored
[pawn]
if
else if
else
[/pawn]
me jos vise zbunuje ovo
[pawn]
skinid = GetPlayerSkin(id);
[/pawn]
Zasto bi uzimao igracev skin i cuvao ga pod "skinid" kad vec zelis da mu postavljas neki drugi.. Sve ostalo mi izgleda okej.

Da ne moras vise da se mucis sa "GetPlayerName".
[pawn]
stock GetName(playerid)
{
   new name[24];
   GetPlayerName(playerid,name,24);
   return name;
}
[/pawn]
Ne znam što će ti GetName stock jer u y_iterate iz ysi library-a ima ReturnPlayerName što je isto kao i GetName i isto se koristi kao GetName

Citat: realnaith poslato Avgust 28, 2023, 09:47:10 PRE PODNE
[pawn]
 
YCMD:setskin(playerid, const string: params[], help)
{
         static
                 targetid,
                 skinid;
 
         if (sscanf(params, "ri", targetid, skinid))
                 return SendClientMessage(playerid, -1, "/setskin [targetid] [skinid]");
 
         if (!(1 <= skinid <= 311))
                 return SendClientMessage(playerid, -1, "Pogresan ID skina!");
 
         if (GetPlayerSkin(targetid) == skinid)
                 return SendClientMessage(playerid, -1, "Taj igrac vec ima taj skin!");
 
         SetPlayerSkin(targetid, skinid);
 
     return 1;
}

[/pawn]

Stvarno mislite da je problem da vam se da code... Sta si naucio iz ovoga osim da sledeci put opet otvoris temu jer neces znati da resis...
Nisam siguran da li si primetio ali mi je ukazao na greske koje sam napravio, da bih sledeci put znao da ih ne napravim