GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: GtaManiac le 04 Novembre 2007, 02:52:54
-
Soir tlm,
Maniac se lance enfin dans le scripting , j'ai passer 3 heure a mettre des véhicules dans San Andreas et il est maintenant 3H du mat je voudrais mettre des commandes mais je grille plus vite mes neuronnes que mes cellules j'en chie d'une force , il va faire les gars vite une cuvette ! :lmfao , sérieusement voici mes questions :
1) J'ai un probleme avec la séléction de mes joueurs , je reste sur Vinewood et je sélectionne " dans le vide " pas de joueur qui apparait rien , mais quand je clique sa marche tres bien je suis téléporter a mon spawn .
2) J'ai un mega prob avec mes commandes ( je suis LOW ne l'oublier pas ^^ ) j'ai fait quelque commande mais sa bug quand je compile , voici les commands :
http://pastebin.gtaonline.fr/pastebin.php?show=177 ( le script est trop grand je l'ai mis dans pastebin ) :)
Bien sur j'ai fait une recherche mais les bouts de code que j'ai pris et les explications on donner un seul et unique même résultats : ERROR :D
J'impleure donc votre aide car sinon je vais plus pouvoir m'arracher les cheveux ^^ .
-
Ben moi je me suis crée un gamemod a partir du fichier new dans pawno et j'ai ajouter ça pour les skins:
Ceci d'abord au dessus des include:
forward SetupPlayerForClassSelection(playerid);
et ca a la fin de mon script:
public SetupPlayerForClassSelection(playerid)
{
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}
-
Vincent à tout juste, rajouter ce code à ton script pour pouvoir séletionner ton skin. Pour tes commandes, je croi que tu as oublié de mettre
return 0;
}
à la fin des commandes.
-
Merci pour une fois que j'ai juste mais bon j'ai prit exemple sur sftdm :)
-------------------------------------------------------------------
Mardi c''est mon anniversaire :birthday
-
Je crois qu'a la ligne :
GameTextForPlayer(playerid,"~p~Bienvenue au Skate Park",2500,5);
} celui ci est en trop a mon avis
return 1;
}
Pour vincent:
Vivement mardi :cheers
-
Voila essaye ça Gta Maniac je croit pas voir d'erreur :happy
Merci a toi Polvunak :happy :)
-
Lu,
J'ai beaucoup moin d'erreur mais j'en ai quand même encore 5 ;) .
La séléction ne marche pas ( je reste toujours a vinewood ) pour les cmds j'ai beaucoup moin d'erreur mais il men reste encore 5 ;) , je sais pas se sont lequel pourtant j'ai tout bien mis ...
-
j'ai juste une question a te poser ^^
es tce que tu a choisi des interrierus pour la sélection des player ?? C'estSUREMENT même très Fortement problable que se soit a cause de ça, j'ais eu le même problème
Ce qui est pas très marrant surtout si tu a choisi des interrieurs différents pour chaques class de players
Donc en faite, tu cherche l'ID de l'interrieur qui correspond a l'emplacement de ton plaer, et tu marque l'ID de l'interrieur la
SetPlayerInterior(playerid,14); (14 et 0 sont les mêmes, c'est San Andreas) donc tu remplace ce 14 par l'ID qui convient ^^
++
-
Je viens de corriger ton bout de script.
Le problème venait (comme c'est le cas très souvent) des accolades manquantes (notament après if (IsPlayerInAnyVehicle (playerid)))
Et quand on oublie une accolade, les erreurs que le compilateur donne sont souvent très bizzares.
Une façon sùre (et pas chère) d'éviter ce genre de problème c'est d'indenter correctement son script.
Tiens :
http://pastebin.gtaonline.fr/pastebin.php?show=180
++
Syg
-
Une façon sùre (et pas chère) d'éviter ce genre de problème c'est d'indenter correctement son script.
Ou d'eviter le copier / coller !
AK NV.
-
Ce n'est pas un problème spécifique au copier/coller, mais à une indentation hasardeuse qui ne permet pas de voir où doivent aller les accolades qui manquent.
Mais ceci peut aussi arriver avec un copier/coller.
++
Syg
-
Merci SYG mais j'ai 21 errors quand je compile , si tu veut je peut t'envoyer mon script entier ;)
MAJ : bon voila mon script ENTIER ( avec des errors ) => http://pastebin.gtaonline.fr/pastebin.php?show=184
Il ne reste plus qu'a corriger les errors ( la séléction du joueur et les commandes ) ;)
-
Euh les erreurs sont a quelle lignes ?
-
Sur le wiki de samp j'ai trouver un moyen de trouver facilement le numéro de l'intérieur, il faut taper /interior dans l'intérieur pour savoir l'intérieur dans lequel on se trouve.
-
Lu,
Les erreurs sont de la lignes 148 a 216 , et a la ligne 48 j'ai mis un SetPlayer mais je sais pas comment faire pour que quand je me connecte je soit dans un interrieur pour séléctionner un skin :)
-
Tu met un SetPlayerInterior(playerid,1); (le chiffre 1 représente le numéro de l'intérieur, ce chiffre doit être modifier en fonction de l'intérieur que tu utilise)
-
2) J'ai un mega prob avec mes commandes ( je suis LOW ne l'oublier pas ^^ ) j'ai fait quelque commande mais sa bug quand je compile , voici les commands :
http://pastebin.gtaonline.fr/pastebin.php?show=177 ( le script est trop grand je l'ai mis dans pastebin ) :)
Bien sur j'ai fait une recherche mais les bouts de code que j'ai pris et les explications on donner un seul et unique même résultats : ERROR :D
Et si tu nous donnais les erreurs ça serais pas mieux ? ::)
-
Je savais bien qui avais un prob avec les interrieurs ^^ :laugh
-
Voila les erreurs :
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(118) : warning 217: loose indentation
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(155) : error 017: undefined symbol "COLOR_BLUE"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(161) : warning 219: local variable "cmd" shadows a variable at a preceding level
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(168) : error 017: undefined symbol "a"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(169) : error 017: undefined symbol "b"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(170) : error 035: argument type mismatch (argument 2)
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(173) : error 017: undefined symbol "a"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(174) : error 017: undefined symbol "VERT"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(166) : warning 203: symbol is never used: "Z"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(165) : warning 203: symbol is never used: "Y"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(164) : warning 203: symbol is never used: "X"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(179) : error 017: undefined symbol "a"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(180) : error 017: undefined symbol "b"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(181) : error 017: undefined symbol "a"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(183) : error 017: undefined symbol "VERT"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(161) : warning 204: symbol is assigned a value that is never used: "cmd"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(191) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(192) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(193) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(198) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(199) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(200) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(201) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(202) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(203) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(208) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\COMPAQ~1\MESDOC~1\SERVEU~1\pawno\GAMEMO~1\Maniac.pwn(209) : error 017: undefined symbol "SendPlayerFormattedText"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
21 Errors.
;)
-
Soir,
Je vien vous signaler que je n'est plus de probleme (pouvez supprimer le post au dessus ) :D , j'ai tout résolu tout seul ( mais :laugh ) ...
MAIS : j'ai toujours un probleme avec ma commmande de téléportation , j'ai des errors un peu partout dans le script de la commande de téléportation , sinon le reste c'est nikel tout marche bien aucun bug :)
Et se maléfique script de téléportation je l'ai retourner dans tout les sens j'ai pas pu le réparer comme pour mes autres errors ;)
Voici le script :
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
cmd = strtok (cmdtext, idx);
else if(strcmp(cmdtext,"/skate", true)==0){
if(IsPlayerInAnyVehicle(playerid))
a=random(10);
b=random(10);
GetPlayerPos(playerid,1613.0461,-2539.5403,13.5469);
SetVehiclePos(VehicleID,1613.0461,-2539.5403,13.5469);
SendClientMessage(playerid, COLOR_GREEN,"Tu a été téléporté au Skate Park");
GameTextForPlayer(playerid,"~p~Bienvenue au Skate Park",2500,5);
} else {
a=random(10);
b=random(10);
SetPlayerPos(playerid, 1613.0461,-2539.5403,13.5469);
SendClientMessage(playerid, COLOR_GREEN,"Tu a été téléporté au Skate Park");
GameTextForPlayer(playerid,"~p~Bienvenue au Skate Park",2500,5);
return 1;
}
J'ai juste 4 petite error a corriger j'espere que vous pourrait m'aider :
error 012: invalid function call, not a valid address
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
-
Tiens, j''avais corrigé ton script et la fonction qui marche pas au passage.
http://pastebin.gtaonline.fr/pastebin.php?show=185
L'erreur principale de cette fonction c'était le GetPlayerPos au lieu d'un SetPlayerPos.
Sinon, j'ai ajouter des new devant a et b mais il faudrat peut-être que tu les enlève si tu as déjà fait un new a; et un new b;
La commande qui est dans le script que j'ai corrigé s'appelle /bmx mais je vois que tu es capable de changer ça.
++
Syg
-
Merci SYG sa marche super ( je dormirai moin con se soir ;) ) , t'es un amour , smax :-*