Problem? - Max_Coldheart - 23.01.2011
Okay so I am doing an adminscript inside my game mode. This is what my script looks like:
Код:
#include <a_samp>
#include <dini>
#define GREY 0x99999999
#define GREEN 0x33AA33AA
#define YELLOW 0xFFFF00AA
#define WHITE 0xFFFFFFAA
#define LIGHTBLUE 0x33CCFFAA
#define ORANGE 0xFF9900AA
new maxinumber = 5;
enum gPInfo
{
Logged,
Regged,
Level
};
new PInfo[MAX_PLAYERS][gPInfo];
dcmd_register(playerid,params[])
{
new file[256],n[MAX_PLAYER_NAME];
GetPlayerName(playerid,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
if(dini_Exists(file)) return SendClientMessage(playerid,YELLOW,"ERROR: You are already registered.");
if(PInfo[playerid][Regged] == 1) return SendClientMessage(playerid,YELLOW,"ERROR: You are already registered.");
if(PInfo[playerid][Logged] == 1) return SendClientMessage(playerid,YELLOW,"ERROR: You are already registered and logged in.")
if(strlen(params))
{
if(!dini_Exists(file))
{
dini_Create(file);
dini_Set(file,"Password",params);
dini_IntSet(file,"Regged",1);
dini_IntSet(file,"Logged",0);
dini_IntSet(file,"Level",0);
SendClientMessage(playerid,GREEN,"Congratulations, you have just registered, please use /login");
PInfo[playerid][Regged] = 1;
return 1;
}
else
{
SendClientMessage(playerid,WHITE,"USAGE: /register <Password>");
return 1;
}
return 1;
}
dcmd_login(playerid,params[])
{
new file[256],n[MAX_PLAYER_NAME];
GetPlayerName(playerid,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
if(!dini_Exists(file)) return SendClientMessage(playerid,WHITE,"ERROR: You are not registered! Please /register");
if(PInfo[playerid][Logged] == 1) return SendClientMessage(playerid,WHITE,"ERROR: You are already logged in.");
if(PInfo[playerid][Regged] == 0) return SendClientMessage(playerid,WHITE,"ERROR: You are not registered! Please /register");
if(strlen(params))
{
if(strcmp(params,pass,false) != 0)
{
SendClientMessage(playerid,WHITE,"ERROR: Incorrect Password!");
}
else
{
dini_IntSet(file,"Logged",1);
PInfo[playerid][Logged] = 1;
PInfo[playerid][Level] = dini_Int(file,"Level");
SendClientMessage(playerid,GREEN,"You are now logged in.");
return 1;
}
}
else
{
SendClientMessage(playerid,WHITE,"USAGE: /login <Password>");
return 1;
}
return 1;
}
main()
{
switch(maxinumber)
{
case 2:
{
print("We havce succesfully printed the number 2.");
}
default:
{
print("Failed at printing the number 2.");
}
}
printf("Max shows us the number: %d", maxinumber);
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("My Gamemode");
// Skins
AddPlayerClass(121,1541.5951,-1675.5557,13.5529,88.8843,0,0,0,0,0,0); // Spawn Location | LSPD
// Vehicles
AddStaticVehicle(560,1669.0746,-1707.2886,15.3153,90.6526,1,1); // Sultan 1
AddStaticVehicle(560,1669.5204,-1717.3206,15.3143,91.1036,1,1); // Sultan2 in garage
AddStaticVehicle(560,1669.7122,-1697.5214,15.3145,87.8738,1,1); // Sultan3 in garage
AddStaticVehicle(522,1658.0809,-1693.5759,15.1782,179.8888,1,1); // NRG-500 in garage
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, -1995.1300,655.7142,145.8565);
SetPlayerCameraPos(playerid, -1990.8157,655.0879,145.3203);
SetPlayerCameraLookAt(playerid, -1995.1300,655.7142,145.8565);
return 1;
}
public OnPlayerConnect(playerid)
{
PInfo[playerid][Logged] = 0;
PInfo[playerid][Regged] = 0;
PInfo[playerid][Level] = 0;
new n[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid,n,sizeof(n));
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
new pname[MAX_PLAYER_NAME], Msg[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(Msg, sizeof(Msg), "%s(%d) Has Joined The Server", pname, playerid);
SendClientMessageToAll(GREY, Msg);
return 1;
}
public OnPlayerDisconnect (playerid, reason)
{
new n[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid,n,sizeof(n));
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
PInfo[playerid][Logged] = 0;
if(dini_Exists(file))
{
dini_IntSet(file,"Logged",0);
return 1;
}
new pname[MAX_PLAYER_NAME], Msg[128];
GetPlayerName(playerid, pname, sizeof(pname));
switch(reason)
{
case 0: format(Msg, sizeof(Msg), "%s(%d) Has Left The Server (Timeout)", pname, playerid);
case 1: format(Msg, sizeof(Msg), "%s(%d) Has Left The Server (Quit)", pname, playerid);
case 2: format(Msg, sizeof(Msg), "%s(%d) Has Left The Server (Kicked/Banned)", pname, playerid);
}
SendClientMessageToAll(GREY, Msg);
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256],idx;
cmd = strtok(cmdtext, idx);
dcmd(register,8,cmdtext);
}
dcmd(login,5,cmdtext);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
if(dini_Exists(file))
{
SendClientMessage(playerid,LIGHTBLUE,"You are already registered, Please use /login.");
PInfo[playerid][Regged] = 1;
PInfo[playerid][Logged] = 0;
return 1;
}
if(!dini_Exists(file))
{
SendClientMessage(playerid,LIGHTBLUE,"You are not registered, Please use /register.");
PInfo[playerid][Regged] = 0;
PInfo[playerid][Logged] = 0;
return 1;
}
and when I try to compile it only warning i get is:
Код:
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\Untitled.pwn(357) : warning 203: symbol is never used: "dcmd_register"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Warning.
and now when I try to run the server I get this:
Код:
Script[gamemodes/Untitled.amx]: Run time error 6: "Invalid Instruction"
I dont understand
![Huh?](images/smilies/confused.gif)
please help
Re: Problem? -
Janek17 - 23.01.2011
#pragma unused dcmd_register
But this in your gamemode top
Re: Problem? - Max_Coldheart - 23.01.2011
Okay Thanks
Re: Problem? -
Janek17 - 23.01.2011
np dude!
Re: Problem? - Max_Coldheart - 23.01.2011
It still keeps crashing for
Код:
runtime error 6: "Invalid Instruction"
and script is:
Код:
#include <a_samp>
#include <dini>
#define GREY 0x99999999
#define GREEN 0x33AA33AA
#define YELLOW 0xFFFF00AA
#define WHITE 0xFFFFFFAA
#define LIGHTBLUE 0x33CCFFAA
#define ORANGE 0xFF9900AA
new maxinumber = 5;
enum gPInfo
{
Logged,
Regged,
Level
};
new PInfo[MAX_PLAYERS][gPInfo];
dcmd_register(playerid,params[])
{
#pragma unused dcmd_register
new file[256],n[MAX_PLAYER_NAME];
GetPlayerName(playerid,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
if(dini_Exists(file)) return SendClientMessage(playerid,YELLOW,"ERROR: You are already registered.");
if(PInfo[playerid][Regged] == 1) return SendClientMessage(playerid,YELLOW,"ERROR: You are already registered.");
if(PInfo[playerid][Logged] == 1) return SendClientMessage(playerid,YELLOW,"ERROR: You are already registered and logged in.")
if(strlen(params))
{
if(!dini_Exists(file))
{
dini_Create(file);
dini_Set(file,"Password",params);
dini_IntSet(file,"Regged",1);
dini_IntSet(file,"Logged",0);
dini_IntSet(file,"Level",0);
SendClientMessage(playerid,GREEN,"Congratulations, you have just registered, please use /login");
PInfo[playerid][Regged] = 1;
return 1;
}
else
{
SendClientMessage(playerid,WHITE,"USAGE: /register <Password>");
return 1;
}
return 1;
}
dcmd_login(playerid,params[])
{
new file[256],n[MAX_PLAYER_NAME];
GetPlayerName(playerid,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
if(!dini_Exists(file)) return SendClientMessage(playerid,WHITE,"ERROR: You are not registered! Please /register");
if(PInfo[playerid][Logged] == 1) return SendClientMessage(playerid,WHITE,"ERROR: You are already logged in.");
if(PInfo[playerid][Regged] == 0) return SendClientMessage(playerid,WHITE,"ERROR: You are not registered! Please /register");
if(strlen(params))
{
if(strcmp(params,pass,false) != 0)
{
SendClientMessage(playerid,WHITE,"ERROR: Incorrect Password!");
}
else
{
dini_IntSet(file,"Logged",1);
PInfo[playerid][Logged] = 1;
PInfo[playerid][Level] = dini_Int(file,"Level");
SendClientMessage(playerid,GREEN,"You are now logged in.");
return 1;
}
}
else
{
SendClientMessage(playerid,WHITE,"USAGE: /login <Password>");
return 1;
}
return 1;
}
main()
{
switch(maxinumber)
{
case 2:
{
print("We havce succesfully printed the number 2.");
}
default:
{
print("Failed at printing the number 2.");
}
}
printf("Max shows us the number: %d", maxinumber);
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("My Gamemode");
// Skins
AddPlayerClass(121,1541.5951,-1675.5557,13.5529,88.8843,0,0,0,0,0,0); // Spawn Location | LSPD
// Vehicles
AddStaticVehicle(560,1669.0746,-1707.2886,15.3153,90.6526,1,1); // Sultan 1
AddStaticVehicle(560,1669.5204,-1717.3206,15.3143,91.1036,1,1); // Sultan2 in garage
AddStaticVehicle(560,1669.7122,-1697.5214,15.3145,87.8738,1,1); // Sultan3 in garage
AddStaticVehicle(522,1658.0809,-1693.5759,15.1782,179.8888,1,1); // NRG-500 in garage
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, -1995.1300,655.7142,145.8565);
SetPlayerCameraPos(playerid, -1990.8157,655.0879,145.3203);
SetPlayerCameraLookAt(playerid, -1995.1300,655.7142,145.8565);
return 1;
}
public OnPlayerConnect(playerid)
{
PInfo[playerid][Logged] = 0;
PInfo[playerid][Regged] = 0;
PInfo[playerid][Level] = 0;
new n[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid,n,sizeof(n));
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
new pname[MAX_PLAYER_NAME], Msg[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(Msg, sizeof(Msg), "%s(%d) Has Joined The Server", pname, playerid);
SendClientMessageToAll(GREY, Msg);
return 1;
}
public OnPlayerDisconnect (playerid, reason)
{
new n[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid,n,sizeof(n));
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
PInfo[playerid][Logged] = 0;
if(dini_Exists(file))
{
dini_IntSet(file,"Logged",0);
return 1;
}
new pname[MAX_PLAYER_NAME], Msg[128];
GetPlayerName(playerid, pname, sizeof(pname));
switch(reason)
{
case 0: format(Msg, sizeof(Msg), "%s(%d) Has Left The Server (Timeout)", pname, playerid);
case 1: format(Msg, sizeof(Msg), "%s(%d) Has Left The Server (Quit)", pname, playerid);
case 2: format(Msg, sizeof(Msg), "%s(%d) Has Left The Server (Kicked/Banned)", pname, playerid);
}
SendClientMessageToAll(GREY, Msg);
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256],idx;
cmd = strtok(cmdtext, idx);
dcmd(register,8,cmdtext);
}
dcmd(login,5,cmdtext);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
if(dini_Exists(file))
{
SendClientMessage(playerid,LIGHTBLUE,"You are already registered, Please use /login.");
PInfo[playerid][Regged] = 1;
PInfo[playerid][Logged] = 0;
return 1;
}
if(!dini_Exists(file))
{
SendClientMessage(playerid,LIGHTBLUE,"You are not registered, Please use /register.");
PInfo[playerid][Regged] = 0;
PInfo[playerid][Logged] = 0;
return 1;
}
but no errors.
can someone help