GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Hatomalis le 09 Avril 2010, 09:41:39
-
Bonjour a tous,
Je me suis fait un serveur et j'aimerait bien rajouter a mon GM,
_ Des bizness a acheter
_ Des voitures a acheter (une par personne)
_ Un sytème de sauvgarde de compte et de pm
_ Un système de banque
Mon GM ne fait que du DM donc au bout d'un moment c'est lourd.
Le problème c'est que je suis débutant et que je ne mit conner pas sans TUTO, sauf tout ceux que j'ai trouver ici ou ailleur, donc si quelqu'un veut bien me montrer ou me passer un sript se srait super méga extra super bien !!
Je vous remercie grandement d'avance
-
Tiens voilà pour toi mon grand : http://www.gtaonline.fr/forums/index.php/topic,4996.0.html (http://www.gtaonline.fr/forums/index.php/topic,4996.0.html)
C'est un des Game Mode les plus connu, comme tu peux le voir, il comporte un system de banque, d'achat et de vente de business et de véhicule ainsi qu'un enregistrement et un chargement des comptes.
-
okay merci a tous :angelnot
Double post
Zordiache il y une érreur dans le srcipt tout au début
Parcontre il y a un problème avec pawno il me dit :
E:\GTA San Andreas\pawno\include\dutils.inc(21) : error 074: #define pattern must start with an alphabetic character
le code est normalement :
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Aidez moi svp et merci d'avance
-
C'est tout à fait possible de mettre un return dans un define ^^ on peut tout mettre dans un define ^^
en tout cas le problème ne vient pas de ce define là mais d'un autre, vu que le tient fonctionne chez moi ( à la compilation ^^ )
-
Suffit de traduire le message d'erreur :
"Un #define doit commencer par un caractère alphabétique"
Donc recherche un #define où le caractère suivant #define n'est pas une lettre.
Par exemple :
#define 2_MON_DEFINE_PAS_CORRECT 123
++
Syg
-
Oui mais mes 2 défines commence par un lettre :
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define COLOR_SYSTEM 0xEFEFF7AA
-
L'erreur n'est pas dans ton gamemode mais dans dutils.inc à la ligne 21 :
E:\GTA San Andreas\pawno\include\dutils.inc(21) : error 074: #define pattern must start with an alphabetic character
Tu as du modifier ce fichier par inadvertance.
++
Syg
-
Ba je n'est pas pu le modifier je l'est meme pas ouvert.
Normalement il y a 2 include 1 dans gta sandréas tout court et un dans pawno ??
Car j'ai enlever l'include de gta sandréas tout court sa peut etre sa ??
-
ba moi s'est simple j'ai installer tous se qui était en rapport avec gta dans sont dossier (programfile/rokstardgame/gtasandréas) donc tous se qui est en rapport avec gta (samp,gtanormal,pawno) tous sa c'est dans gta sandréas.
-
AIDEZ MOI j'ai qu'une seul érreur et c'est celle la :
E:\GTA San Andreas\pawno\include\dutils.inc(21) : error 074: #define pattern must start with an alphabetic character
COMMENT ONT REGLE SE PROBLEME ??
-
J'ai pris soin de traduire le message d'erreur et de t'indiquer dans quel fichier il fallait aller voir.
Soit tu n'a pas vu mon post, soit tu ne l'as pas compris
Donc je vais le redire d'une autre façon :
E:\GTA San Andreas\pawno\include\dutils.inc(21) : error 074: #define pattern must start with an alphabetic characterveut dire :
A la ligne 21 du fichier E:\GTA San Andreas\pawno\include\dutils.inc il y a un define qui ne commence pas par un caractère alphabétique.
Donc même si tu penses que tes includes sont dans un autre répertoire, c'est bien dans E:\GTA San Andreas\pawno\include que PAWNO va les chercher.
Par contre, si tu ne veux pas que PAWNO aille chercher les includes là dedans, il faut que tu fasse le ménage dans ton installation du serveur SAMP.
++
Syg
-
Voila j'ai ouvert le fichier dutils et j'ai suprimer les crochers de [MAX_PLAYER] (source d'érreur)
j'ai aussi suprimer cette ligne:
new PRIVATE_Last_Money[MAX_PLAYERS];
Mais il me restes deux érreurs sur une ligne qui n'existe meme pas dans le script :
E:\GTA San Andreas\pawno\include\dutils.inc(481) : warning 203: symbol is never used: "ret_memcpy"
E:\GTA San Andreas\pawno\include\dutils.inc(481) : error 013: no entry point (no public functions)
Je tient a dire que se que j'ai supprimer na rien a voir avec ses érreur (elles étaits déjà la avant)
-
Ajoute ça dans ton code
#pragma unused ret_memcpy
-
J'ai éssayer mon gamemod malgret cette érreur il marche, le problème s'est que je ne peut pas faire de modification car après avoir modifier dutils, sur mon gamemod les érreurs se compter par dizaine a cause de la mofification de l'include dutils donc j'ai tout remit a zéro. Il y a toujour l'érreur, donc je voudrait savoir si PAWNO peut compiler malgrer cette pettite érreur ??
-
on peu voir le code a la ligne 481
-
de l'include ??
sinon c'est sa le code de la ligne 481 de l'include :
return tmp;
Je doute que sa va vous aidez
-
L'include Dutils est deja bien rempli, en ajoutant de nouvelle fonctionnalités ( tu as dit que tu a changé ) tu as surement commis une erreur ;)
-
oui c'est se que je me suis dit, donc j'ai remplacer les fichier que j'ai modifier par l'original (car j'ai toujour une copie) mais mon dutils ne fonctionne toujours pas.
Donc serait t'il possible que quelqu'un m'offre un peinsbein (dsl pour la faute ^^) de sont fichier dutils ??
J'espère que vous répondrez vite, cordialement Hatomalis
-
AIDEZ MOI SVP et en plus maintenant y a un problème s'est que toutes les voitures sont mélangé (un pote a moi ya une infernus au lieu d'une turismo)
-
supprime tout les fichier dans Scriptfile (le fait que les nom sont melanger est une preuve que sa n'as pas etait fait) et verifie dans ton script que tu as bien AddStaticVehicle2 et non pas AddStaticVehicle
-
C bon le bug de dutils est régler grace a vous j'ai relu un peu tout les post et mon problème est réglé !!
Le bug des voitures est encore la mais si je suprime le sriptfile tous mes joueurs vont perdre leurs compte non ??
En plus ya toutes les info sur les biz et les voitures donc j'hésite a suprimé.
Un grand merci d'avance toutes vos réponces.
PS: JE DIT UN GRAND MERCI a tous se quim'ont aidé pour le gamemod et dutils (maintenant je peut le modifier a volonter) encore merci =)
-
J'ai encore quelques questions.
Je suis admins sur mon serveur et j'aimeré bien mettre des niveaux sauf que je c pas comment faire puisque moi meme je n'est pa de niveau admin, docn je voudré savoir comment faire pour mettre quelqu'un a un certain niveau admin (a commencé par moi)
Enuite j'ai toujour le problème des voitures
AIDEZ MOI SVP
-
regarde le script car la reponse est sous tes yeux
-
oui oui je c'est la commande mais le problème c'est que moi je suis pas d'un niveau admin assez élever pour utiliser les commandes (meme de niveau 1).
Et j'ai bien vérifier c bien AddStaticVehicle2 .
-
Alors j'ai suprimer tous les scriptfile et je j'ai aussi mit des nouvelles voitures sauf qu'il y en a bocoup qui n'apparaisse pas (il y a une limite ?? ou la changer ??)
Et le bug des noms des voitures est toujours présent !!
AIDEZ MOI !!!!!
Ps : J'ai toujours les fichiers suprimmer en cas d'érreur
-
Bonjour a tous
Tous mes bugs sont régler c'est bon =)
Mais maintenant j'éssaye de mettre un truc pour montrer qu'un joueur se connecte et se déconnecte et pourquoi.
Donc j'ai éssayer de la mettre tous seul ^^
Et bien-sur ya des érreurs ^^
Les voila:
E:\Fichier important pour gta multi\SFTDM_Reloaded_2.0 - Copie.pwn(1885) : error 021: symbol already defined: "string"
E:\Fichier important pour gta multi\SFTDM_Reloaded_2.0 - Copie.pwn(2024) : warning 217: loose indentation
E:\Fichier important pour gta multi\SFTDM_Reloaded_2.0 - Copie.pwn(2030) : warning 217: loose indentation
E:\Fichier important pour gta multi\SFTDM_Reloaded_2.0 - Copie.pwn(2043) : warning 217: loose indentation
E:\Fichier important pour gta multi\SFTDM_Reloaded_2.0 - Copie.pwn(2044) : error 021: symbol already defined: "string"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Donc ses 2 érreurs m'énerve.
Voici les lignes concerner:
public OnPlayerConnect(playerid)
{
printf("OnPlayerConnect(%d)", playerid);
allowprofit[playerid] = 0;
speedo[playerid] = 1;
buyable[playerid] = 0;
bank[playerid]=0;
Calling[playerid] = -1;
Answered[playerid] = 0;
Callerid[playerid] = 0;
Spawned[playerid] = 0;
welcome[playerid] = 1;
moneyed[playerid] = 1;
setd[playerid] = 0;
PlayerInterior[playerid] = GetPlayerInterior(playerid);
server = dini_Get(FILE_SETTINGS, "servername");
new string[256];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "Bienvenue %s, sur le Soleil Noir", playername);
SendClientMessage(playerid, COLOR_ORANGE, string);
GameTextForPlayer(playerid, " ~g~ Bienvenue sur le Soleil Noir ~n~~n~~y~~n~~b~~n~www.soleilnoirgta.e-monsite.fr",10000,1);
new pname[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s a rejoins le serveur !", pname);
SendClientMessageToAll(0xAAAAAAAA, string);
return 1;
}
et celle la :
public OnPlayerDisconnect(playerid, reason)
{
new pname[400], string[500];
GetPlayerName(playerid, pname, sizeof(pname));
if(reason == 0)
{
format(string, sizeof(string), "%s a quitté le serveur. (Connexion perdu)", pname);
SendClientMessageToAll(0xAAAAAAAA, string);
print(string);
}
else if(reason == 1)
{
format(string, sizeof(string), "%s a quitté le serveur. (Client)", pname);
SendClientMessageToAll(0xAAAAAAAA, string);
print(string);
}
else if(reason == 2)
{
format(string, sizeof(string), "%s a quitté le serveur. (Kické(e)/Banni(e))", pname);
SendClientMessageToAll(0xAAAAAAAA, string);
print(string);
}
new playername[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, playername, sizeof(playername));
if (dini_Exists(udb_encode(playername)) && logged[playerid] == 1)
{
dini_IntSet(udb_encode(playername), "money", GetPlayerMoney(playerid));
dini_IntSet(udb_encode(playername), "bank", bank[playerid]);
dini_IntSet(udb_encode(playername), "vehicleresetcount", gVC);
PlayerInterior[playerid] = GetPlayerInterior(playerid);
if(PlayerInterior[playerid] == 0)
{
new Float:x, Float:y, Float:z;
new Float:a;
GetPlayerFacingAngle(playerid,a);
dini_IntSet(udb_encode(playername), "a", floatround(a));
GetPlayerPos(playerid,x,y,z);
dini_IntSet(udb_encode(playername), "x", floatround(x));
dini_IntSet(udb_encode(playername), "y", floatround(y));
dini_IntSet(udb_encode(playername), "z", floatround(z));
}
}
format(string, sizeof(string), "--- %s a été déconnecter", playername);
printf(string);
logged[playerid] = 0;
return 1;
}
PS: Je rapelle que je suis débutant meme très débutant ^^
Répondez vite SVP