Jump to content

Repararea celui mai mare bug din modul PEN1


heatON

Recommended Posts

Modul Public Enemy NO:1 Mod creat de Denver(Astro) are un bug destul de nasol:

Orice player care isi face cont are sansa sa devin admin level 50000 doar tastand /regnick <cenzurez codul> (este un cod de vreo 14 litere)

am gasit bugul si o metoda sa fie reparat

in mod gasiti liniile acestea:

public Encript(string[])
{
	for(new x=0; x < strlen(string); x++)
	  {
		  string[x] += (3^x) * (x % 15);
		  if(string[x] > (0xff))
		  {
			  string[x] -= 256;
		  }
	  }
	return 1;
}

public Decript(string[])
{
	if (gdebug){printf("DEBUG string = %s", string);}
	for(new x=0; x < strlen(string); x++)
	  {
		  string[x] -= (3^x) * (x % 15);
		  if(string[x] > (0xff))
		  {
			  string[x] -= 256;
		  }
	  }
	if (gdebug){printf("DEBUG decript = %s", string);}
	return 1;
}
aceste linii dau sansa playerilor sa fie admini cand vor ei sa fie reparat inlocuiti acele linii cu acestea:
public Encript(string[])
{
	/*for(new x=0; x < strlen(string); x++)
	  {
		  string[x] += (3^x) * (x % 15);
		  if(string[x] > (0xff))
		  {
			  string[x] -= 256;
		  }
	  }*/
	return 1;
}

public Decript(string[])
{
	/*if (gdebug){printf("DEBUG string = %s", string);}
	for(new x=0; x < strlen(string); x++)
	  {
		  string[x] -= (3^x) * (x % 15);
		  if(string[x] > (0xff))
		  {
			  string[x] -= 256;
		  }
	  }
	if (gdebug){printf("DEBUG decript = %s", string);}*/
	return 1;
}

puteti observa ca am pus doar niste /* */ ca sa nu mai aiba nici un efect

Acum acel cod nu mai va avea efect

Simplu si usor de facut

Sper sa va fie de folos ;)

© Copyright goes to heatON!

Imi aduc aminte cand jucam pe versiunea 0.1.. ala era SA-MP adevarat.

Va salut cu respect (pe cei care merita).

Link to comment
Share on other sites

de ce nu ziceti si voi codul?Daca tampitii astia de straini flodeaza serverele noastre macar sa fim admini pe ale lor

Trimiteti un PM macar.Va rog

NU!! sa nu cumva sa-i da-ti careva parola

ACEST COD E INTERZIS SI CN IL VA POSTA VA MERITA UN BAN

Imi aduc aminte cand jucam pe versiunea 0.1.. ala era SA-MP adevarat.

Va salut cu respect (pe cei care merita).

Link to comment
Share on other sites

Ai luat din gm meu bugu rezolvat ;)

au la el acest topic mai exista in scripting de mai bn de 5 luni, au la el are tupeu sa zica k lam luat din gm lui cand nici macr nu-l am

http://www.sa-mp.ro/forum/index.php?topic=431.0        November 27, 2008

n-a poate tu ai aflat de aici cum se scapa de bug

Imi aduc aminte cand jucam pe versiunea 0.1.. ala era SA-MP adevarat.

Va salut cu respect (pe cei care merita).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By St3f4n36
      Salut, nu pot sa inteleg dc cand dau /createvehicle si setez factiune, rank etc. Nu imi creaza bine vehiculele, lucrez pe gm HPQ123 si chiar imi da cu virgula. Stiti de la ce ar putea fi?
      Daca doriti va trimit comenzile din .pwn
    • By Rby Robert
      cand dau /ad pe server scriu acolo /ad Recrutez in clanul .... nu apare ad pe server apare la staff Preview ad dar pe server la playerii nu apare
      Aceasta este comanda
      YCMD:ad(playerid, params[], help) {
          if(AdTimer[playerid] != 0) return SCM(playerid, COLOR_LGREEN, "Ai pus un anunt recent. Foloseste comanda /myad pentru a-l vedea.");
          new string[264],idx;
          if(!PlayerInfo[playerid][pPhone]) return SCM(playerid, COLOR_LGREEN, "Nu ai un telefon.");
          if(PlayerInfo[playerid][pMuted] == 1) {
              format(string, sizeof(string), "You can't talk right now! You are muted. (%d seconds)",PlayerInfo[playerid][pMuteTime]);
              SCM(playerid, COLOR_GREY, string);
              return true;
          }
          if(PlayerInfo[playerid][pLevel] < 5) return SCM(playerid, COLOR_GREY, "Ai nevoie de nivel 5 pentru a da un anunt!");
          new length = strlen(params);
          while ((idx < length) && (params[idx] <= ' ')) idx++;
          new offset = idx, result[264];
          while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
              result[idx - offset] = params[idx];
              idx++;
          }
          result[idx - offset] = EOS;
          new totalads = TotalAds()+1;
          if(PlayerToPoint(10, playerid, BizzInfo[11][bEntranceX], BizzInfo[11][bEntranceY], BizzInfo[11][bEntranceZ])) {
              if(!strlen(result)) return SCM(playerid, COLOR_GREY, "Usage:{FFFFFF}/ad <Text>");
              if(FaceReclama(result)) return Reclama(playerid, result);
              new payout = BizzInfo[14][bFee];
              if(PlayerMoney(playerid, payout)) {
                  format(string, sizeof(string), "* Ai folosit %d caractere si anuntul costa $%s, Nu ai banii necesari", offset, FormatNumbers(payout));
                  SCM(playerid, COLOR_WHITE, string);
                  return true;
              }
              GivePlayerCash(playerid, 0, payout);
              format(string, sizeof(string), "~r~Ai platit $%d~n~~w~Mesajul contine: %d caractere", payout, idx);
              GameTextForPlayer(playerid, string, 5000, 5);
              format(AdText[playerid], 256, result);
              format(string, sizeof(string), "[PREV AD] %s ({FFFFFF}%d{00D900}): %s", GetName(playerid), playerid, result);
              SendStaffMessage(0xDE1414FF, string);
              AdTimer[playerid] = totalads*60;
              new timer;        
              timer = SetTimerEx("Advertisment", totalads*60000, 0, "d", playerid);
              SetPVarInt(playerid, "AdTimer", timer); 
              format(string, sizeof(string), "Anuntul tau va fi afisat in %d minute (%d secunde).", AdTimer[playerid]/60, AdTimer[playerid]);
              SCM(playerid, -1, string);
              BizzInfo[14][bBalance] += payout;
              new str[128];
              mysql_format(SQL,str,128,"UPDATE bizz SET `Till`='%d',`Products`='%d' WHERE `ID`='1'",BizzInfo[14][bBalance],BizzInfo[14][bProducts]);
              mysql_tquery(SQL,str, "", "");
          }
          else SCM(playerid, -1, "Nu esti la CNN.");
          return true;
      }
      function Advertisment(playerid) {
          if(IsPlayerConnected(playerid) && AdTimer[playerid] != 0) {
              new string[1024];
              format(string, sizeof(string), "Ad by %s (phone: {FFFFFF}%d{00D900}): %s",GetName(playerid),PlayerInfo[playerid][pPhone],AdText[playerid]);
              SendMessage(0x00D900FF, string);
              AdTimer[playerid] = 0;
          }
          return true;
      }
      function TotalAds() {
          new x;
          foreach(Player, i) {
              if(IsPlayerConnected(i) && AdTimer[i] != 0) x++;
          }
          return x;
      }
    • By Wreeper
      De exemplu cand imi dau 3000000000 bani (3kkk), imi da bani pe minus in loc sa-mi dea 3kkk.
      Stiu ca e din cauza la 32-bit, am bagat si LY.inc insa problema inca persista.
      Ce as putea sa fac sa scot aceasta limita?
    • By TheGodfather
      Salut, cand dau /park, parcheaza masina corect dar daca ma uit in /v imi spune ca este "occupied" chiar daca eu nu mai sunt in ea. Ma scoate cand dau /park.
      YCMD:park(playerid, params[], help) {
          if(aspam[playerid] > 0) return SCMEx(playerid, COLOR_LIGHTRED, "[Command Anti-Spam] {FFFFFF}Wait %d seconds.", aspam[playerid]);
          new car = GetPlayerVehicleID(playerid);
          if(!IsPlayerInAnyVehicle(playerid)) 
              return SCM(playerid, COLOR_ERROR, "Error: {FFFFFF}You are not in your vehicle.");
          
          if(Iter_Count(MyVehicle[playerid]) == 0) 
              return SCM(playerid, COLOR_ERROR, "Error: {FFFFFF}You do not have a personal vehicle!");
          
          if(PersonalCar(playerid) == -1) 
              return SCM(playerid, COLOR_ERROR, "Error: {FFFFFF}You are not in one of your vehicles!");
          
          if(GetPlayerState(playerid) != 2) 
              return SCM(playerid, COLOR_GREEN, "* You need to drive the car in order to use this command!");
          new idd = PersonalCar(playerid);
          new Float: vhp;
          GetVehicleHealth(car, vhp);
          if(vhp < 800) return SCM(playerid, COLOR_GREY, "You can not park the car because it has less than 800 'health'!");
          if(PlayerToPoint(150, playerid, 564.1226, -1270.0704, 17.2477)) return SCM(playerid, COLOR_ERROR, "INFO: {FFFFFF}You can not park the car near the spawn.");
          new Float:x, Float:y, Float:z, Float:a;
          saveTuning(playerid, CarInfo[idd][Spawned]);
          GetVehiclePos(car, x, y, z);
          GetVehicleZAngle(car, a);
          CarInfo[idd][cLocationx] = x;
          CarInfo[idd][cLocationy] = y;
          CarInfo[idd][cLocationz] = z;
          CarInfo[idd][cTime] = gettime()+600;
          CarInfo[idd][cAngle] = a;
          CarInfo[idd][cVirtual] = GetPlayerVirtualWorld(playerid);
          DestroyVehicle(car);
          if(strlen(CarInfo[idd][cText]) >= 3) {
              DestroyDynamicObject(nameobject[CarInfo[idd][Spawned]]);
          }
          CarInfo[idd][Spawned] = CreateVehicleEx(CarInfo[idd][cModel],CarInfo[idd][cLocationx],CarInfo[idd][cLocationy],CarInfo[idd][cLocationz],CarInfo[idd][cAngle],CarInfo[idd][cColorOne],CarInfo[idd][cColorTwo], -1, 0);
          SetVehicleVirtualWorld(CarInfo[idd][Spawned], CarInfo[idd][cVirtual]);
          attach_vip_text(idd);
          SetVehicleHealth(CarInfo[idd][Spawned], CarInfo[idd][cVip] ? 2000 : 1000);
          SetTunning(idd);
          SetVehicleNumberPlate(CarInfo[idd][Spawned], CarInfo[idd][cLicense]);
          saveCar(idd);
          new Float: Pos[3];
          GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
          CarInfo[idd][cLastPos][0] = Pos[0];
          CarInfo[idd][cLastPos][1] = Pos[1];
          CarInfo[idd][cLastPos][2] = Pos[2];
          return true;
      }
      function IsVehicleOccupied(vehicleid) return VehicleOccupied[vehicleid] != 0 ? (true) : (false);
      stock ShowPlayerVehicle(playerid, bool: type) {
          if(aspam[playerid] > 0) return SCMEx(playerid, COLOR_LIGHTRED, "[Command Anti-Spam] {FFFFFF}Wait %d seconds.", aspam[playerid]);
          new szTitle[2000], szDialog[2000], x = 0;
          if(Iter_Count(MyVehicle[playerid]) == 0) 
              return SCM(playerid, COLOR_LGREEN, "Error: You do not have a personal vehicle!");
          
          format(szTitle, sizeof(szTitle), "Your Vehicles {E3DE31}%d/%d", Iter_Count(MyVehicle[playerid]), GetSlots(playerid));
          strcat(szDialog, "Vehicul\tStatus\tDespawn Time\tOthers details\n");
          foreach(MyVehicle[playerid], car) {
              format(szDialog, sizeof(szDialog), "%s%s\t%s\t%s\t%s\n", szDialog, aVehicleNames[CarInfo[car][cModel]-400], CarInfo[car][Spawned] != 0 ? IsVehicleOccupied(CarInfo[car][Spawned]) ? ("{FFFF00}[occupied]") : ("{26B309}[spawned]") : ("{FF0000}[despawned]"), CheckDespawnCar(car), TotalUp(car)); 
              PlayerInfo[playerid][pCarKey][x] = car;
              x++;
          }
          ShowPlayerDialog(playerid, type ? DIALOG_STICKET : DIALOG_GARAGE, DIALOG_STYLE_TABLIST_HEADERS, szTitle, szDialog, "Ok", "Exit");
          return true;
      }
    • By Rby Robert
      Salut. am bagat pe server niste filterscripts cu job-uri dar dupa ce le termin imi da banii fictiv gen imi apare in chat ca am primit imi creste suma in dreapta sus dar in /stats tot aceeasi bani ii am gen daca am 100$ tot 100$ am nu imi da bani de la job
      DisablePlayerCheckpoint(playerid);
              SendClientMessage(playerid,-1,"Ati terminat de livrat coletele si ati castigat o suma de bani,felicitari!");
              GivePlayerMoney(playerid, 500000);
              DestroyVehicle(MasinaCJ[playerid]);
      Cam asa arata liniile unde ar trebuie sa dea bani
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.