GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Infu le 20 Mai 2011, 00:01:51
-
Bonjour,
J'ai créer un serveur, le problème c'est qu'il me faut un code PAWN qui permet de faire un Register. (Se log sur un serveur)
Pour qu'ensuite, j'ai accès au /rcon ...
[ J'ai créer se serveur pour testé des codes PAWN, car je débute, et pour ensuite les proposés aux serveurs GTAOnline. Et pour le Mapping aussi ;) ]
Merci.
++
Infu
-
Il n'est pas possible de loguer un joueur RCON par le script, il faut obligatoirement qu'il passe par le commande /rcon login <MDP>.
Par contre, on peut se servir de la fonction SendRconCommand pour envoyer des commandes RCON depuis le script sans avoir à se loguer RCON.
Exemple :
if (!strcmp("/gmx", cmdtext, true))
{
/* Si le joueur à le niveau suffisant */
if (Level[playerid] > 8) // Ceci n'est qu'un exemple
{
SendRconCommand ("gmx");
}
}
Sinon, pour le "register" tu trouveras des tonnes d'exemples en faisant une recherche sur ce forum.
++
Syg
-
Merci Syg, mais normal que mon rcon.exe démarre pas?
EDIT: Et le 'login' dans /rcon login <MDP> . C'est le pseudo du joueur?
Ou est-ce qu'il faut que j'ajoute une phrase dedans:
(http://lightpics.eu/images/1zmz.png)
-
Non, c'est une commande console ça ne marche pas comme une identification client (par exemple) ou tu doit entrer un login (pseudo) et password (mot de passe).
Ici tu doit simplement dire a la console que tu souhaite t'identifier avec "login", donc /rcon login 12345 et non /rcon Infusion 12345.
-
Sinon, on peut toujours créer un plugin qui met le joueur en admin, si tu veux je peux te le faire ce weekend, normalement ça ne me prendra pas très longtemps vu que j'ai reverse samp coté serveur presque complètement.
.text:0049B85D mov ebx, [ebp+arg_0]
.text:0049B860 movzx eax, word ptr [ebx]
.text:0049B863 mov ecx, [edi+4]
.text:0049B866 mov dword ptr [ecx+eax*4+4074h], 1
C'est pas le code complet vu qu'ici on connais pas ecx ( la valeur exacte )
au pire la fonction on peut voir sur la fonction IsPlayerAdmin
.text:00484D90 amx_IsPlayerAdmin proc near ; DATA XREF: .data:004CFD14o
.text:00484D90
.text:00484D90 arg_4 = dword ptr 8
.text:00484D90
.text:00484D90 mov eax, dword_4F6270
.text:00484D95 mov edx, [esp+arg_4]
.text:00484D99 mov ecx, [eax+4]
.text:00484D9C mov ax, [edx+4]
.text:00484DA0 cmp ax, 1F4h
.text:00484DA4 jnb short loc_484DBA
.text:00484DA6 movzx edx, ax
.text:00484DA9 cmp dword ptr [ecx+edx*4], 0 ; ici on check si le pointeur sur le CPlayer n'est pas à 0
.text:00484DAD jz short loc_484DBA ; S'il vaut 0 alors on retourne 0
.text:00484DAF movzx eax, ax
.text:00484DB2 mov eax, [ecx+eax*4+4074h] ; et la on retourne 1 si le joueur est admin, ou 0
.text:00484DB9 retn
.text:00484DBA ; ---------------------------------------------------------------------------
.text:00484DBA
.text:00484DBA loc_484DBA: ; CODE XREF: amx_IsPlayerAdmin+14j
.text:00484DBA ; amx_IsPlayerAdmin+1Dj
.text:00484DBA xor eax, eax
.text:00484DBC retn
.text:00484DBC amx_IsPlayerAdmin endp
edit: Cadeau http://www.gtaonline.fr/forums/index.php/topic,13386.0.html (http://www.gtaonline.fr/forums/index.php/topic,13386.0.html)