GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Le poulain de gta le 17 Mars 2009, 19:33:51
-
Bonjour
voila j'ai une remarque
normalement sa fait cela a la fin
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
mais la je me retrouve avec un autre depui que j'ai mis
stock GetVehicleModelIDFromName(vehname[])
{
new VehNames[212][] = { // Vehicle Names - Betamaster
{"Landstalker"},
{"Bravura"},
{"Buffalo"},
{"Linerunner"},
{"Perrenial"},
{"Sentinel"},
{"Dumper"},
{"Firetruck"},
{"Trashmaster"},
{"Stretch"},
{"Manana"},
{"Infernus"},
{"Voodoo"},
{"Pony"},
{"Mule"},
{"Cheetah"},
{"Ambulance"},
{"Leviathan"},
{"Moonbeam"},
{"Esperanto"},
{"Taxi"},
{"Washington"},
{"Bobcat"},
{"Mr Whoopee"},
{"BF Injection"},
{"Hunter"},
{"Premier"},
{"Enforcer"},
{"Securicar"},
{"Banshee"},
{"Predator"},
{"Bus"},
{"Rhino"},
{"Barracks"},
{"Hotknife"},
{"Trailer 1"}, //artict1
{"Previon"},
{"Coach"},
{"Cabbie"},
{"Stallion"},
{"Rumpo"},
{"RC Bandit"},
{"Romero"},
{"Packer"},
{"Monster"},
{"Admiral"},
{"Squalo"},
{"Seasparrow"},
{"Pizzaboy"},
{"Tram"},
{"Trailer 2"}, //artict2
{"Turismo"},
{"Speeder"},
{"Reefer"},
{"Tropic"},
{"Flatbed"},
{"Yankee"},
{"Caddy"},
{"Solair"},
{"Berkley's RC Van"},
{"Skimmer"},
{"PCJ-600"},
{"Faggio"},
{"Freeway"},
{"RC Baron"},
{"RC Raider"},
{"Glendale"},
{"Oceanic"},
{"Sanchez"},
{"Sparrow"},
{"Patriot"},
{"Quad"},
{"Coastguard"},
{"Dinghy"},
{"Hermes"},
{"Sabre"},
{"Rustler"},
{"ZR-350"},
{"Walton"},
{"Regina"},
{"Comet"},
{"BMX"},
{"Burrito"},
{"Camper"},
{"Marquis"},
{"Baggage"},
{"Dozer"},
{"Maverick"},
{"News Chopper"},
{"Rancher"},
{"FBI Rancher"},
{"Virgo"},
{"Greenwood"},
{"Jetmax"},
{"Hotring"},
{"Sandking"},
{"Blista Compact"},
{"Police Maverick"},
{"Boxville"},
{"Benson"},
{"Mesa"},
{"RC Goblin"},
{"Hotring Racer A"}, //hotrina
{"Hotring Racer B"}, //hotrinb
{"Bloodring Banger"},
{"Rancher"},
{"Super GT"},
{"Elegant"},
{"Journey"},
{"Bike"},
{"Mountain Bike"},
{"Beagle"},
{"Cropdust"},
{"Stunt"},
{"Tanker"}, //petro
{"Roadtrain"},
{"Nebula"},
{"Majestic"},
{"Buccaneer"},
{"Shamal"},
{"Hydra"},
{"FCR-900"},
{"NRG-500"},
{"HPV1000"},
{"Cement Truck"},
{"Tow Truck"},
{"Fortune"},
{"Cadrona"},
{"FBI Truck"},
{"Willard"},
{"Forklift"},
{"Tractor"},
{"Combine"},
{"Feltzer"},
{"Remington"},
{"Slamvan"},
{"Blade"},
{"Freight"},
{"Streak"},
{"Vortex"},
{"Vincent"},
{"Bullet"},
{"Clover"},
{"Sadler"},
{"Firetruck LA"}, //firela
{"Hustler"},
{"Intruder"},
{"Primo"},
{"Cargobob"},
{"Tampa"},
{"Sunrise"},
{"Merit"},
{"Utility"},
{"Nevada"},
{"Yosemite"},
{"Windsor"},
{"Monster A"}, //monstera
{"Monster B"}, //monsterb
{"Uranus"},
{"Jester"},
{"Sultan"},
{"Stratum"},
{"Elegy"},
{"Raindance"},
{"RC Tiger"},
{"Flash"},
{"Tahoma"},
{"Savanna"},
{"Bandito"},
{"Freight Flat"}, //freiflat
{"Streak Carriage"}, //streakc
{"Kart"},
{"Mower"},
{"Duneride"},
{"Sweeper"},
{"Broadway"},
{"Tornado"},
{"AT-400"},
{"DFT-30"},
{"Huntley"},
{"Stafford"},
{"BF-400"},
{"Newsvan"},
{"Tug"},
{"Trailer 3"}, //petrotr
{"Emperor"},
{"Wayfarer"},
{"Euros"},
{"Hotdog"},
{"Club"},
{"Freight Carriage"}, //freibox
{"Trailer 3"}, //artict3
{"Andromada"},
{"Dodo"},
{"RC Cam"},
{"Launch"},
{"Police Car (LSPD)"},
{"Police Car (SFPD)"},
{"Police Car (LVPD)"},
{"Police Ranger"},
{"Picador"},
{"S.W.A.T. Van"},
{"Alpha"},
{"Phoenix"},
{"Glendale"},
{"Sadler"},
{"Luggage Trailer A"}, //bagboxa
{"Luggage Trailer B"}, //bagboxb
{"Stair Trailer"}, //tugstair
{"Boxville"},
{"Farm Plow"}, //farmtr1
{"Utility Trailer"} //utiltr1
};
for(new i = 0; i < 211; i++)
{
if (strfind(VehNames, vehname, true) != -1) return i + 400;
}
return -1;
}
et depuis j'ai sa, se n'est pas le problem mai c'est que je ne sais pas pourquoi il est la enplus
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 3764 bytes
Code size: 97708 bytes
Data size: 85448 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5010 cells (20040 bytes)
Total requirements: 203304 bytes
quelle script fait sa ?? (rajouter
Header size: 3764 bytes
Code size: 97708 bytes
Data size: 85448 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5010 cells (20040 bytes)
Total requirements: 203304 bytes
en plus)
merci d'avance
-
C'est rien de grave, sa me le fait tout le temps :)
-
Ca veut dire que tu as dépassé la mémoire par défaut allouée par le script (ce qui est normal vu la taille du tableau que tu as ajouté).
Ce problème peut conduire à des débordement mémoire et donc à un comportement imprévisible du script ou à des plantages du serveur.
Pour ne plus avoir ce message, il ajouter la directive #pragma dynamic <taille> en début de script (avant les #includes).
Pour connaître la valeur de <taille>, il faut regarder le nombre de cellules nécessaires dans le message d'erreur du compilo :
estimated max. usage=5010 cells
et mettre un valeur supérieure à ce nombre.
NB : Ce nombre est une estimation, dans certains cas il peut allègrement être dépassé, notamment lorsqu'on utilise des fonctions récursives.
Dans ton cas :
#pragma dynamic 6000
devrait suffire.
++
SYg
-
merci a tous
-
Salut,
Syg, y a t'il une autre technique, en gardant la même taille de la variable, permettant d'éliminer ce problème (sauf en faire une variable globale et le #pragma dynamic)
++Sim++
-
Perso j'evite se genre de grand tableau dans une fonction je prefere les passer en global a tout les coup quand on met un tableau de cette taille dans une fonction il faut un pragma dynamic
-
Bonjour,
Le fait d'agrandir "artificiellement" le script, ca ne peut pas engendrer des crash ou autre ?
++
nikko
-
Ce problème peut conduire à des débordement mémoire et donc à un comportement imprévisible du script ou à des plantages du serveur.
Nikko :-*
-
Nikko, je pense pas que cela engendre des crash, a voir...
PS : GG le free post azz ! :boulz
++
MrT
-
Ce problème peut conduire à des débordement mémoire et donc à un comportement imprévisible du script ou à des plantages du serveur.
Nikko :-*
T'avais pas du tout compris ma question ... :closedeyes
++
nikko
-
Salut,,
J'ai pas compris xDD
Désolé
-
Non, je ne connais pas d'autre solution que le #pragma dynamic ou la déclaration en global.
Sinon, le #pragma dynamic ne conduira pas à des plantages. Au pire, si tu mets une valeur énorme, l'interpréteur ne pourra pas allouer la mémoire nécessaire.
Tu auras cette erreur :
Script[gamemodes/test.amx]: Run time error 16: "Out of memory"
++
Syg
-
Merci :)
++
nikko