Legyen végre rend a szkriptekben
Tudjátok sokan szoktak tõlem segítséget kérni általában MSN-en. Sokaknak viszont hiába magyarázom, nem értik meg, és nem jutnak semmire. Ekkor szoktam mondani, hogy \"jó, küldd át megnézem\". Az átküldés után viszont elszörnyülködök a szkripteken, hogy mennyire olvashatatlanok és nem lehet velük dolgozni.
Minden \"modder\" úgy kezdi a munkáját, hogy szépen átírja, hogy \"script by XY\" és telepakolja az egészet teleportokkal meg sok hülye paranccsal, amiket máshonnan szerzett. Ez nem szkriptelés kérem, hanem szimpla Másolás-Beillesztés, ami miatt az életben nem lesz belõlük jó szkripter!
Elõször is az indentációra kell figyelni, majd a kezelhetõségre.
Ha jobban odafigyelünk, akkor nem csak szebb,hanem rövidebb is lesz a szkriptünk!
Nos itt egy nagyon tanulságos példa és annak a normális verziója:
Rossz Példa
[pawn]
if( strcmp( cmdtext, \"/tele-mn\", true ) == 0 ) {
if( IsPlayerInAnyVehicle( playerid ) ) {
new Float:X;
new Float:Y;
new Float:Z;
new VehicleID;
GetPlayerPos( playerid, X, Y, Z );
VehicleID = GetPlayerVehicleID( playerid );
SetVehiclePos( VehicleID, 809.6710, 843.3442, 9.8497 );
} else {
newFloat:X;
newFloat:Y;
newFloat:Z;
GetPlayerPos( playerid, X, Y, Z );
SetPlayerPos( playerid, 809.6710, 843.3442, 9.8497 );
}
return 1;
}
[/pawn]
Jó Példa
[pawn]
if( strcmp( cmdtext, \"/tele-mn\", true ) == 0 )
{
if( IsPlayerInAnyVehicle( playerid ) )
SetVehiclePos( GetPlayerVehicleID( playerid ), 809.6710, 843.3442, 9.8497 );
else
SetPlayerPos( playerid, 809.6710, 843.3442, 9.8497 );
return 1;
}
[/pawn]
Még jobban javíthatjuk a kezelhetõséget, ha kommenteket (// vagy /* */) teszünk a szkriptbe és ellátjuk magunkat sok hasznos információval.
Remélem, hogy ezek után jobban odafigyeltek majd erre. Ha meg nem akkor így jártatok.
Kowalski
[mod][pawn][*/pawn] tagek hozzáadva.[/mod]