Why?

Started by SoFahim, Aug 06, 2015, 07:02 AM

Previous topic - Next topic

SoFahim

SA-MP , Best developing MultiPlayer system for GTASA in GTA games ( unofficial ).
This SA-MP developer good too much response . There like 15k+ servers.
They are using Pawno language for server. There many Plugins to do. Even more advance in scripting, mapping, functions etc.

Why VCMP cannot put Pawno language again like VCMP 0.3 ? Why Developer of VCMP cannot add this pawno things ?

(( Please don't fight about this . I just ask for it. Everyone have his right to tell for best ))

The reason I have left VC-MP is scripting base + the gameplay.
VC-MP 0.4 released with lots of awesome things but they put pawn behind.

Stormeus

Here's what I had to say about Pawn in 2014:
Quote
QuoteNo doubt squirrel is better but..All pawno scripters would have to to learn a brand new language which is not an easy task.Both languages look the same but they're different.Imagine that SQ is discontinued for VC:MP how would you feel?You will be angry and some might as well quite VC:MP.This is the reason i think that Pawno should be continued with sq.

That's your reason Pawn should be in continued development. Here are our reasons it shouldn't be.

  • Pawn is an abandoned language. Its last release of any kind was in 2012. Any bugs in the underlying language would become the burden of the development team. Squirrel is in active development and even had a beta release just a month or two ago for Squirrel 3.1.

  • Pawn is an orphaned language. The only major supporters of Pawn are SA:MP and AMX Mod X/SourceMod, both of which use flavors of Pawn that are modified and SourceMod using a heavily modified version of Pawn. Squirrel is used by Valve (in L4D2, Portal 2 and CS:GO) and OpenTTD.

  • Pawn is a dead language. There are only two servers on the masterlist that use Pawn. Literally every other server queried was a Squirrel server.

  • Pawn is a buggy language. While its C-like syntax offers faster speed in an embedded environment, a game server is not an embedded environment. There are many things that can go wrong between your script, the plugin interface, and the server.

  • Pawn is a dumb language. It has no concept of exception handling. If an error occurs in the execution of a script, like trying to work on a null pointer, you will not be informed. Pawn will simply crash out. And then the server will crash out. And then your server will crash often if you aren't extremely careful.

  • Pawn is a contrived language. Because it is so verbose and C-like, it is absolutely stupid to do any scripting work in it. The best example of this is strings. Strings in Pawn are the dumbest thing because you have to declare how long the string might be. Because they don't know how long some input might be, scripters will do things like make strings with lengths of 512 or 1024 cells, using kilobytes of memory for single strings. It sounds small, but this is a stupid waste of memory.

  • Pawn is a quirky language. What the flying fuck is a public function and why is it different from a regular function? Why can't stock functions return the same values as public and other functions? Why is Float an explicitly declared datatype but things like ints and strings are just declared using the new keyword?

  • Pawn is a complex language. Scripters like abstraction. Developers like abstracting scripts. Pawn is less abstract than Squirrel. If we have to handle concrete programming like explicit memory management with cells, explicit typing, in-script pointers and dereferencing and other weird tidbits (see above), everything is more complex for you and me both. And then your server crashes.

Is Pawn good for embedded work? Probably, yeah.

Is Pawn good for scripting here? Hell no. So why should we continue to support it?

For one thing, SA:MP is no longer a sister project of VC:MP — that role has largely been supplanted by LU. SA:MP developers no longer wish to have any relation to VC:MP, and in fact when I and other VC:MP players had attempted to promote VC:MP 0.4 Public Beta 3 on their forum (bearing in mind that VC:MP was, years ago, their own project), the thread was removed several times, stating that it was irrelevant.

SA:MP scripters are thus irrelevant to us if not for size. Mafia II: Multiplayer uses Squirrel. IV:MP and its successor, MultIV, use Squirrel. LU, our sister project, uses Squirrel.

For another, if we continue to support Pawn, we continue to support the headaches produced by Pawn. If we force scripters to use a language that is stable, error-resilient and actually good, not only do we avert this, but you actually learn a language that is simpler and more feature-complete.

Which is another thing — it's a bit fallacious to say we shouldn't drop Pawn support because people don't want to learn a new language. To have begun scripting in VC:MP, you had to have learned Pawn in the first place. Perhaps the same people will be able to deal with it and learn Squirrel, like the dozens of other people who have done the same and learned Squirrel in our little post-Pawn world.

Someone else is welcome to write a Pawn module, and if we really, really feel there's a problem with dropping Pawn support, then maybe we'll write a Pawn module for the sheer sake of compatibility with R2, and Pawn scripters will have no access to the new functions in 0.4.

However, this has been coming for a long time, as far back as the release of the Squirrel server really. Pawn is dead.

SoFahim

Okey , I understand. But SQ is very difficult then Pwn . Like ,I can know the functions in powno . But there no such thing to know about the Sq functions. Why there no system to use pawno script in VCMP . As SAMP support that  , SQ in SAMP . Why?

The reason I have left VC-MP is scripting base + the gameplay.
VC-MP 0.4 released with lots of awesome things but they put pawn behind.

Ksna

Pawn is similar to c++, better use c++

DizzasTeR

Pawn sucks, but wait SA-MP sucks at the first place, I mean like really, the simpler the language is, its harder for you? and the harder the language is, that's easy for your, you're flipped on the difficulty level here.

If you read @Stormeus's post up there, you noticed he pointed out true facts of pawn language, simple things in pawn can take hell of time/memory to make, I always used to give this simple example when its pawn vs squirrel in simplicity and time management on the bases of game coding environment..

Pawn: Getting a player's name and outputting it
public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
 
    format(string, sizeof(string), "%s has joined the server.", name);
    SendClientMessageToAll(0xC4C4C4FF, string);
    return 1;
}

Where as in Squirrel:
function onPlayerJoin( player )
{
  Message( format( "[#00FF00]%s [#FFFFFF]has joined the server.", player.Name ) );
}

Now decide your self... unlike Pawn here is how MTA:SA ( lua scripting ) uses the way to output name of players...

Lua:
function Join()
    outputChatBox( getPlayerName( source ) .. " has joined the server.", getRootElement(), true )
end
addEventHandler( "onPlayerJoin", Join )

Yeah, this whole problem of your is because you coded in pawn for a long time, its difficult for you to switch but that does not mean to not try at all, I used to script in SAMP in Pawn and squirrel seemed difficult as hell to me but gradually I got well in it, the same goes for Lua, I had said in the "VCMP vs SAMP" topic that Lua sucks or whatever but I was against lua but now I find lua as interesting as squirrel since both are close to each other in the way of working.

Its hard but not impossible, you need to make your mind to get rid of pawn, and you will be good in squirrel in no time.

SoFahim

Quote from: Doom_Killer on Aug 06, 2015, 08:58 AMPawn sucks, but wait SA-MP sucks at the first place, I mean like really, the simpler the language is, its harder for you? and the harder the language is, that's easy for your, you're flipped on the difficulty level here.

If you read @Stormeus's post up there, you noticed he pointed out true facts of pawn language, simple things in pawn can take hell of time/memory to make, I always used to give this simple example when its pawn vs squirrel in simplicity and time management on the bases of game coding environment..

Pawn: Getting a player's name and outputting it
public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
 
    format(string, sizeof(string), "%s has joined the server.", name);
    SendClientMessageToAll(0xC4C4C4FF, string);
    return 1;
}

Where as in Squirrel:
function onPlayerJoin( player )
{
  Message( format( "[#00FF00]%s [#FFFFFF]has joined the server.", player.Name ) );
}

Now decide your self... unlike Pawn here is how MTA:SA ( lua scripting ) uses the way to output name of players...

Lua:
function Join()
    outputChatBox( getPlayerName( source ) .. " has joined the server.", getRootElement(), true )
end
addEventHandler( "onPlayerJoin", Join )

Yeah, this whole problem of your is because you coded in pawn for a long time, its difficult for you to switch but that does not mean to not try at all, I used to script in SAMP in Pawn and squirrel seemed difficult as hell to me but gradually I got well in it, the same goes for Lua, I had said in the "VCMP vs SAMP" topic that Lua sucks or whatever but I was against lua but now I find lua as interesting as squirrel since both are close to each other in the way of working.

Its hard but not impossible, you need to make your mind to get rid of pawn, and you will be good in squirrel in no time.
Good logic. thanks brah

The reason I have left VC-MP is scripting base + the gameplay.
VC-MP 0.4 released with lots of awesome things but they put pawn behind.

KAKAN

bra* :P xD, joking
brah = brother
oh no

ysc3839

#7
Quote from: SoFahim on Aug 06, 2015, 07:02 AMSA-MP , Best developing MultiPlayer system for GTASA in GTA games ( unofficial ).
This SA-MP developer good too much response . There like 15k+ servers.
They are using Pawno language for server. There many Plugins to do. Even more advance in scripting, mapping, functions etc.

Why VCMP cannot put Pawno language again like VCMP 0.3 ? Why Developer of VCMP cannot add this pawno things ?

(( Please don't fight about this . I just ask for it. Everyone have his right to tell for best ))
SAMP isn't the best. MTA:SA is!
If you want to use Pawn, you can write your own plugin. In fact, you can use all script language in VC:MP, even use C++(may be another program language) to write a plugin for your server. But SAMP can only use the Pawn, it's limited.
(Edit: I see the SAMP Squirrel plugin source code. It have to access server function through Pawn, however VCMP can access directly. This mean VCMP plugins could have higher efficiency.)

See another GTA multiplayer mods. Only SAMP uses a "Process-oriented" language, and others uses "Object-Oriented" languages. The GTA:MP(GTA5) even uses javascript and html for scripting and GUI, I like this because I know some about Web develop. :D