• 07 Juin 2026, 06:12:17


Auteur Sujet: Run time error 20:  (Lu 3253 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Run time error 20:
« le: 30 Mai 2008, 22:59:57 »
Bonsoir,

je viens de faire un petit GM, aucune erreur mais lorsque je lance le GM depuis la console, ça m'affiche l'erreur suivante:
Code: (pawn) [Sélectionner]
Script[gamemodes/dm.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
Qu'est-ce que cela veut dire ? ???

++
Alexandre

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Run time error 20:
« Réponse #1 le: 30 Mai 2008, 23:01:30 »
Jai deja eu ce pb ! mais je n'ai jamais su comment enlever ca ...  :(

++
nikko

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Run time error 20:
« Réponse #2 le: 31 Mai 2008, 11:39:26 »
La façon de résoudre se problème est simple :
Ajoute des printf un peu partout dans ton code pour déterminer à quelle ligne ton serveur se plante.

La ligne qui plante se trouve après le dernier printf affiché.

Le mieux c'est de mettre un printf pour chaque ligne de code (au moins dans la partie que tu soupçonnes de planter).
Si tu ne sais pas où ça plante commence par mettre des printf au début de chaque fonction et callback.
Une fois la fonction ou la callback identifiée, ajoute des printf dans celle-ci.

Une fois la ligne qui plante trouvée, il ne reste plus qu'à savoir pourquoi et corriger.

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Run time error 20:
« Réponse #3 le: 31 Mai 2008, 11:47:03 »
Syg, tu vien de m'apprendre un truc :P

NV.



Tu vois avant? Bah j'étais là encore avant!

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Run time error 20:
« Réponse #4 le: 31 Mai 2008, 12:05:40 »
Syg, je croi que alexandre a un probleme quand il lance le serv, et ca lui affiche ca dans la console je croi ..

++
nikko

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Run time error 20:
« Réponse #5 le: 31 Mai 2008, 12:16:32 »
Code: (pawn) [Sélectionner]
public OnGameModeInit()
{
print("17");
SetGameModeText("Blank Script");
SetDisabledWeapons(43,44,45);
//for(new skin = 0; skin < 300; skin++) if(IsValidSkin(skin)) AddPlayerClass(skin,-759.5909,1637.8881,27.3184,275.4666,0,0,0,0,0,0);
AddPlayerClass(0,-759.5909,1637.8881,27.3184,275.4666,0,0,0,0,0,0);
/*for(new i=0;i<5;i++) AddStaticVehicle(400+i,-781+(i*10),1631,26.8246,180,-1,-1); // parking near sea
for(new i=0;i<3;i++) AddStaticVehicle(461+i,-756+(i*5),1588-(i*4),26.6771,135,-1,-1); // Parking near cactus
for(new i=0;i<5;i++) AddStaticVehicle(410+i,-865,1541.2203+(i*5),22.5+(i/2),270,-1,-1); // parking near buffalo grill
for(new i=0;i<4;i++) AddStaticVehicle(477+i,-776-(i*15),1437,13.5,90,-1,-1); // teepee motels
for(new i=0;i<3;i++) AddStaticVehicle(466+i,-686+(i*10),1459,17.1745,90,-1,-1); // east south
*/
AddStaticVehicle(471,-842.4831,1478.1012,16.8755,0,-1,-1); // quad
AddStaticVehicle(475,-815.1159,1497.8127,19.7119,270,-1,-1); // sabre
AddStaticVehicle(495,-720.9217,1544.8107,39.8553,0,-1,-1); // sandking
AddStaticVehicle(517,-730.7927,1527.3113,39.2316,180,-1,-1); //tahoma
print("32");
return 1;
}
Ça m'affiche 32, puis le message :(

nikko: Je croit qu'il a compris. :happy

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Run time error 20:
« Réponse #6 le: 31 Mai 2008, 12:38:11 »
Donc c'est en dessous de ce code que l'erreur se trouve

après ça :


return 1;

}

^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Run time error 20:
« Réponse #7 le: 31 Mai 2008, 12:47:10 »
Regarde la derniere chose que tu a ajouté dans ton GM.

++
nikko

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Run time error 20:
« Réponse #8 le: 31 Mai 2008, 13:01:53 »
Code: (pawn) [Sélectionner]
stock IsValidSkin(skinid)
{
#define MAX_BAD_SKINS 22
new badSkins[MAX_BAD_SKINS] = { 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 268, 273, 289 };
for (new i = 0; i < MAX_BAD_SKINS; i++) if (skinid == badSkins[i]) return false;
return true;
}

Mais lorsque je le commente j'ai toujours la même erreur.

Sinon je pense que le problème vient d'ici :
Code: (pawn) [Sélectionner]
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/money", true))
{
//if(cmdtext[7])
//{
    new sMoney[48], pName[16];
    GetPlayerName(cmdtext[7], pName, sizeof(pName));
    format(sMoney, sizeof(sMoney), "%s have %d$", pName, GetPlayerMoney(cmdtext[7]));
    return SendClientMessage(playerid, 0xFFFFFFFF, sMoney);
//}
//else return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /money [playerid]");
}
    if(!strcmp(cmdtext, "/kill", true)) return SetPlayerHealth(playerid, 0.0);
if(!strcmp(cmdtext, "/help", true))
{
    SendClientMessage(playerid, 0xFFFFFFFF, "LB-DM v1, by ZecKo");
    SendClientMessage(playerid, 0xFFFFFFFF, "OBJECTIVE: The objective here is to kill everybody and take their cash");
    SendClientMessage(playerid, 0xFFFFFFFF, "RULES: Here all is autorized except sawnoff's C-bug, health hax and weapon hax");
    SendClientMessage(playerid, 0xFFFFFFFF, "COMMANDS: /kill to kill you, /money to see money on a player");
    if(IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, "ADMIN: /specplayer /specvehicle /specoff");
    return true;
}
return false; //SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Unknown command mm'kay ?")
}

Ça déconne à block IG, aucune commande ne marche.
EDIT: Enfait seulement /money ne marche pas. :happy
« Modifié: 31 Mai 2008, 15:03:21 par -Alexandre »

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Run time error 20:
« Réponse #9 le: 31 Mai 2008, 13:13:31 »
je ne sais si ça vient de ça, mais tu a des points d'exclamations devant chaque commande, donc je ne pense pas que ça puisse fonctionner....


if(!strcmp(cmdtext, "/money", true))



if(!strcmp(cmdtext, "/kill", true)) return SetPlayerHealth(playerid, 0.0);

if(!strcmp(cmdtext, "/help", true))
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Run time error 20:
« Réponse #10 le: 31 Mai 2008, 13:14:07 »
Les ! = si la commande n'est pas ..

++
nikko

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Re : Run time error 20:
« Réponse #11 le: 31 Mai 2008, 15:04:57 »
je ne sais si ça vient de ça, mais tu a des points d'exclamations devant chaque commande, donc je ne pense pas que ça puisse fonctionner....


if(!strcmp(cmdtext, "/money", true))



if(!strcmp(cmdtext, "/kill", true)) return SetPlayerHealth(playerid, 0.0);

if(!strcmp(cmdtext, "/help", true))

Non ça n'a rien à voir, vu que strcmp renvoit 0 si les 2 strings sont égaux, et 0 est considéré comme false. :happy
Mais enfait, seul /money ne marche pas maintenant. ???

Les ! = si la commande n'est pas ..

++
nikko

Pas compris. :happy

++
Alexandre

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Run time error 20:
« Réponse #12 le: 02 Juin 2008, 12:16:13 »
Continues à mettre des printf comme tu l'as fait dans OnGameModeInit.
Sauf que la tu les mets dans OnPlayerCommandText.

Sinon, ta commande /money à un paramètre donc tu ne peux pas utiliser cmdtext pour faire la comparaison piisqu'il ne sera jamais égal à "/money" mais à /"money 12000" par exemple.
Il faut passer par un variable intermédiaire dans laquelle tu ne récupères que la commande avec strtok.

++
Syg
Courtesy of GtaManiac

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Run time error 20:
« Réponse #13 le: 02 Juin 2008, 18:10:05 »
Ah non en fait je viens de comprendre !

J'avais supprimé la condition compilateur comme un bourrin dans le fichier de base (celle qui détermine si c'est un filterscript), résultat il n'y avai plus de main() :happy

++
Alexandre