• 23 Avril 2025, 20:48:51


Auteur Sujet: Code de fin enplus  (Lu 1687 fois)

0 Membres et 2 Invités sur ce sujet

Hors ligne Le poulain de gta

  • *
  • Tueur en série
  • Messages: 103
    • Voir le profil
Code de fin enplus
« 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

Hors ligne Azz45

  • Good Player
  • *
  • Mafioso
  • RolePlay Player
  • Messages: 2809
    • Voir le profil
Re : Code de fin enplus
« Réponse #1 le: 17 Mars 2009, 22:33:34 »
C'est rien de grave, sa me le fait tout le temps :)

~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~


~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~~•~  ~•~  ~•~  ~•~
Avancement du GM : 3%
~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~
~•Merci Kloken, pour la vidéo lors de mon anniversaire•~

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Code de fin enplus
« Réponse #2 le: 17 Mars 2009, 23:14:07 »
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 6000devrait suffire.

++
SYg
Courtesy of GtaManiac

Hors ligne Le poulain de gta

  • *
  • Tueur en série
  • Messages: 103
    • Voir le profil
Re : Code de fin enplus
« Réponse #3 le: 18 Mars 2009, 16:43:07 »
merci a tous

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Code de fin enplus
« Réponse #4 le: 19 Mars 2009, 00:19:48 »
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++





Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : Code de fin enplus
« Réponse #5 le: 19 Mars 2009, 06:57:46 »
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

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Code de fin enplus
« Réponse #6 le: 19 Mars 2009, 08:58:43 »
Bonjour,

Le fait d'agrandir "artificiellement" le script, ca ne peut pas engendrer des crash ou autre ?

++
nikko

Hors ligne Azz45

  • Good Player
  • *
  • Mafioso
  • RolePlay Player
  • Messages: 2809
    • Voir le profil
Re : Code de fin enplus
« Réponse #7 le: 19 Mars 2009, 11:35:38 »
Citer
Ce problème peut conduire à des débordement mémoire et donc à un comportement imprévisible du script ou à des plantages du serveur.


Nikko   :-*

~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~


~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~~•~  ~•~  ~•~  ~•~
Avancement du GM : 3%
~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~
~•Merci Kloken, pour la vidéo lors de mon anniversaire•~

Hors ligne » Lukubi™

  • *
  • Soy el bico loco
  • Messages: 3282
    • Voir le profil
Re : Code de fin enplus
« Réponse #8 le: 19 Mars 2009, 18:57:00 »
Nikko,  je pense pas que cela engendre des crash, a voir...

PS : GG le free post azz !  :boulz


++
MrT

“Si la Terre est un endroit dangereux ce n’est pas à cause des hommes mauvais mais à cause des hommes bons qui ne font rien pour les empêcher.” (Albert Einstein).

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Re : Code de fin enplus
« Réponse #9 le: 19 Mars 2009, 21:55:27 »
Citer
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

Hors ligne Azz45

  • Good Player
  • *
  • Mafioso
  • RolePlay Player
  • Messages: 2809
    • Voir le profil
Re : Code de fin enplus
« Réponse #10 le: 19 Mars 2009, 22:49:13 »
Salut,,

J'ai pas compris xDD

Désolé

~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~


~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~~•~  ~•~  ~•~  ~•~
Avancement du GM : 3%
~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~
~•Merci Kloken, pour la vidéo lors de mon anniversaire•~

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Code de fin enplus
« Réponse #11 le: 20 Mars 2009, 12:37:49 »
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
Courtesy of GtaManiac

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Code de fin enplus
« Réponse #12 le: 20 Mars 2009, 12:58:47 »
Merci  :)

++
nikko