-
Posts
627 -
Joined
-
Last visited
Everything posted by Phat Looser
-
Can you prove your uptime is 99.9%?
-
What is the ZM server about? Its about a troop of bleeding morons who join a gunfight with dildos. And win. Due to the anticheat and syncro, there is no problem with cheaters or with lag. The weapon system allowes to have both AK47 and M4, or Chainsaw, Knive and Shovel, etc. at the same time. It also enables the DesertEagle to be semi-automatic and to shoot its 10 shot clip within a second. The AK 47 was enhanced with a 100 shot clip. The longer you play, the better your abilities become. Current version: Kills increase your Zombie Vision abilities. Kills increase your "luck" and therefore the probability to get better weapons. Kills increase your ability to handle guns, until you get the dual ingram. Additional Items to be bought: -Instagib: Increases your damage for 20 seconds. -Invulnerability: Makes you untouchable for 10 seconds. -Double Accuracy: Doubles the accuracy of your guns until you respawn. and much more! To come: -Faster regeneration if your kill/death ratio is below 1. -Zombies with special abilities. -Ped Zombies are to become a fixed part of the server. The deal is simple. We aren't one of the many zombie servers out there, we are the original one.
-
addEventHandler("onClientProjectileCreation", getRootElement(), projectileCreation) -> trigger server event -> set server timer -> fade screen in white color for people in range -> done. Isn't that epic.
-
setCameraMatrix disables the weapon aiming.
-
Gta-multi.com, Quality MTA San Andreas Hosting.
Phat Looser replied to Gta-multi's topic in Hosting solutions
don't feed the troll. -
Problem is, that script makes the client lag because it has to load all that custom stuff.
-
One post and already asking for a free server? I could host it, but I don't know what those scripts do.
-
Are you trying that on a local server?
-
Thats Lua already.
-
Cancel Event when the damage is 50% and set the damage yourself.
-
The heads are missing, if you use the "eye bone positions" you'd have a triangle. I was thinking about that, too, for stealth.
-
I could be a teacher, too, but I don't want to mess with things like "whats a loop" or "how do I shot web". Normally I'm more of the abstract type.
-
The plain text is in English and no nonsense. The intention of this encryption is to have an encryption that is based on very simple math so ANY scripting language can implement it.
-
For the case you are trying bruteforce, the password is longer then 10 digits and pretty random.
-
What I want to do is to check if my encryption really needs a password to be decrypted, I want to know how secure it is. After all I use it to encrypt client data on the client, in other words I store stuff client side, encrypted, of course. Its pretty boring if you got the password Maybe I'll post the plain text and you'll have to find out the password. A good encryption doesn't give the password even when you have the plain text. If one of the MTA crew cracks it, I'm giving MTA the 500 Euro.
-
Little hint, its 500 Euro now. To break the code.
-
I dunno what you guys depend on. The whole concept of MTA is to work together as a community. And as such, I wanted to start a system where the community of mine (chaos.de.to) starts to work together. The intention is and stays like that: If you are good at scripting prove it. After all everyone who opens a successful server at "my host" (in fact it currently belongs to apu, but I intend to change that) does not only share his scripts but also gets to see the scripts the other people made. Since opensource doesn't seem to hit the spot I'll try to solve it this way. On the other hand, it is embarrassing how much the scripters of today trust each other. I don't think any server will get any players with stolen scripts.
-
I won't host the server even though I'm interested in RPG since 1) I don't need anyone else's scripts (haha, good one) 2) I don't know how much resources your scripts will eat. Some people i.e. do the account management via XML, which eats a lot of CPU every time someone joins or quits. Unless you give me good reasons to host the server, or if you intend to work with JasperNL. He wants to script a new RPG and I guess he needs some help.
-
[TUT] How to get MTASA server working on Debian 5.0 64 bit
Phat Looser replied to MaddDogg's topic in Linux-Server
Sometimes also needed: http://packages.debian.org/lenny/i386/libpcre3/download depending on the debian version, you also have to go into the /emul/ia32-linux/lib folder and do ln -s /emul/ia32-linux/usr/lib/libpcre.so.3 libpcre.so.3 -
And the issue is...? They just create a bunch of empty servers. That happens in every game...
-
encrypted text <-> text is a 2 way street. encrypted text -> md5 is a 1 way street. Also, md5 is old - replace it by SHA or SHA2
-
iaEncryptionArray = {}; iaDecryptionArray = {}; caPassword = ""; iPasswordLength = 0; caText = ""; caEncryptedText = ""; iPasswordPosition = 1; function addEncryptionPasswordChar(value) iPasswordPosition = iPasswordPosition + 1; if (iPasswordPosition > iPasswordLength) then iPasswordPosition = 1; end output = value + string.byte(caPassword,iPasswordPosition); if (output > 999) then output = output - 1000; end return output; end function subsEncryptionPasswordChar(value) iPasswordPosition = iPasswordPosition - 1; if (iPasswordPosition < 1) then iPasswordPosition = iPasswordLength; end output = value - string.byte(caPassword,iPasswordPosition); if (output < 0) then output = output + 1000; end return output; end function generateEncryptionPassword() iPasswordHash = 0; caOutput = ""; for i=1, iPasswordLength, 1 do iPasswordHash = iPasswordHash + string.byte(caPassword,i); -- char! end for i=1, iPasswordLength, 1 do caOutput = caOutput .. string.char(iPasswordHash % string.byte(caPassword,i)); -- char! char! end return caOutput; end function stringSetChar(string,char,pos) length = string.len(string); if pos > length then return string; end string = string.sub(string,1,pos) .. char .. string.sub(string,pos+1,length); return string; end function generateEncryptionArray() generateDecryptionArray(); end function generateDecryptionArray() caEncryptionPassword = generateEncryptionPassword(caPassword); for i=0, 999, 1 do iaEncryptionArray[i]=NIL; end iPosition = 0; n=1; for i=0, 999, 1 do n = n + 1; if (string.byte(caPassword,n) == NIL) then n=1; end iPosition = iPosition + string.byte(caEncryptionPassword,n) + string.byte(caPassword,n); iPosition = iPosition % 1000; while (iaEncryptionArray[iPosition]) do iPosition = iPosition + 1; if (iPosition >= 1000) then iPosition = iPosition - 1000; end end iaEncryptionArray[iPosition] = i; iaDecryptionArray[i] = iPosition; end end function encrypt() generateEncryptionArray(); iTextSize = string.len(caText); iEncryptedTextSize = iTextSize*3; caEncryptedText = ""; aEncryptedText = {}; for i=1, iTextSize, 1 do value = string.byte(caText,i); n=i*3; if (value < 10) then value = string.format("00%i",value); elseif (value < 100) then value = string.format("0%i",value); else value = string.format("%i",value); end aEncryptedText[(i-1)*3+1] = string.byte(value,1) - 48; aEncryptedText[(i-1)*3+2] = string.byte(value,2) - 48; aEncryptedText[(i-1)*3+3] = string.byte(value,3) - 48; end iCounter = 1; iPasswordPosition = 1; for runs=1, 32, 1 do for i=1, iEncryptedTextSize, 1 do iCounter = iCounter + 1; pos1 = i; pos2 = i+1; pos3 = i+2; if (pos2 > iEncryptedTextSize) then pos2 = pos2 - iEncryptedTextSize; pos3 = pos3 - iEncryptedTextSize; elseif (pos3 > iEncryptedTextSize) then pos3 = pos3 - iEncryptedTextSize; end local h = aEncryptedText[pos1]; local z = aEncryptedText[pos2]; local e = aEncryptedText[pos3]; if not e then caEncryptedText = ""; return; end value = 100*h + 10*z + e; value = iaEncryptionArray[value]; value = subsEncryptionPasswordChar(value); h = math.floor(value / 100); value = value - 100*h; z = math.floor(value / 10); value = value - 10*z; e = value; aEncryptedText[pos1] = h; aEncryptedText[pos2] = z; aEncryptedText[pos3] = e; end end caEncryptedText = ""; for i=1,iEncryptedTextSize,1 do caEncryptedText = caEncryptedText .. string.format("%i",aEncryptedText[i]); end end function decrypt() generateDecryptionArray(); iEncryptedTextSize = string.len(caEncryptedText); aEncryptedText = {}; for i=1,iEncryptedTextSize,1 do aEncryptedText[i] = string.byte(caEncryptedText,i) - 48; end caEncryptedText = ""; iPasswordPosition = - (iEncryptedTextSize*32) - 1; iPasswordPosition = iPasswordPosition % iPasswordLength + 1; for runs=1, 32, 1 do for i=iEncryptedTextSize, 1, -1 do pos1 = i; pos2 = i+1; pos3 = i+2; if (pos2 > iEncryptedTextSize) then pos2 = pos2 - iEncryptedTextSize; pos3 = pos3 - iEncryptedTextSize; elseif (pos3 > iEncryptedTextSize) then pos3 = pos3 - iEncryptedTextSize; end local h = aEncryptedText[pos1]; local z = aEncryptedText[pos2]; local e = aEncryptedText[pos3]; if not e then caText = ""; return; end value = 100*h + 10*z + e; value = addEncryptionPasswordChar(value); value = iaDecryptionArray[value]; h = math.floor(value / 100); value = value - 100*h; z = math.floor(value / 10); value = value - 10*z; e = value; aEncryptedText[pos1] = h; aEncryptedText[pos2] = z; aEncryptedText[pos3] = e; end end iTextSize = iEncryptedTextSize / 3 caText = ""; for i=1,iEncryptedTextSize,1 do caEncryptedText = caEncryptedText .. string.format("%i",aEncryptedText[i]); end for i=1, iTextSize, 1 do n = (i-1)*3+1; char = aEncryptedText[n]*100 + aEncryptedText[n+1]*10 + aEncryptedText[n+2]; if char > 255 then caText = ""; return; end caText = caText .. string.char(char); end end function encryptString(caTextInput,caPasswordInput) if not caTextInput or not caPasswordInput then outputDebugString("NIL or FALSE values given!"); return nil; end caText = caTextInput; caPassword = caPasswordInput; iPasswordLength = string.len(caPassword); encrypt(); return (caEncryptedText); end function decryptString(caTextInput,caPasswordInput) if not caTextInput or not caPasswordInput then outputDebugString("NIL or FALSE values given!"); return nil; end caEncryptedText = caTextInput; caPassword = caPasswordInput; iPasswordLength = string.len(caPassword); decrypt(); return (caText); end It encrypts stuff, so you can i.e. send it client side and let the client save the stuff. Do you think you can break it?
-
That got a true part. But normally lazy people don't create successful servers.
-
Ok, give me ten seconds. Server side: ped = {}; function createBoss(pedskin,health,x,y,z) local element = createPed(pedskin,x,y,z); ped[element] = true; setElementData(ped[id],"INVUL",true); setElementData(ped[id],"HEALTH",health); end function setBossHealth(element,health) if ped[element] then setElementData(element,"HEALTH",health); end end function bossDamage(element,damage) player = source; if ped[element] then local health = getElementData(element,"HEALTH"); if health == 0 or health <= damage killPed(element,player,getPedWeapon(player)); ped[element] = nil; else setElementData(element,"HEALTH",health-damage); end addEvent("Damage_Boss",true); addEventHandler("Damage_Boss",getRootElement(),bossDamage); XML: just define those two not callback functions as call-able client: function onPedDamage(element, weapon, bodypart, damage) if getElementData(element,"INVULNERABLE") then cancelEvent() triggerServerEvent("Damage_Boss",getLocalPlayer(),element,damage); end end I think that should run. Now that your script was released, do you think otherwise? Ok, fading out the ped is missing. A timer should do the job - trigger it client side, make the client fade it out (alpha-10 each frame) and done.
-
Still you have an "extra health" script in your signature.