07.04.2014, 09:42
hi, I want to make a server on Criminal Russia MOD. I got simple gamemode and gamemode with MySQL. I joined them together cutting unnecessary parts of gamemode for example:
Or
This and other thinkgs about game type has been removed as it will be use only for one mod so I think there is no need to define functions for other games type. (simple.pwn which you can find here:CLICK , and MySQL gamemode from here. After cleaning simple.pwn I moved section by section from MySQL to simple, I had few errors mostly with error 073, but in some way I removed them,
Now script is compiling but I get :
Which is :
LINE 542 is end of file but function where is skins defined is :
PROBLEM:
Has been compiled, has includes, has plugins but :
You can download whole script HERE as I think it will be easier to find whats wrong with it. Please help me as is my first gamemode MODED , and first time with MySQL I read many tutorials but for now I have made something like this, I hope is not just big mess It is much work to do, I just spent half or more day yesterday doing this. Firstly I tried to move FROM SIMPLE to MYSQL, but I get flooded with so many errors, so later I changed ways and now I got success (its compiling) and so I need your help, or maybe someone can make a proper gamemode for this MOD (CRCE) so we can make a deal. I know is not easy to make a proper one so I don't want you to loose your time for free, but I preffer way to teach me , as I want to do myself my server, not just buy scripts. Thanks for help !
As far as I know for sure I need define DATABASE access (login, password etc), but I don't think is the problem why server don't find compiled script
PHP код:
forward init_classes_sa();
forward init_classes_anderius();
forward init_classes_united();
forward init_classes_gostown6();
forward init_classes_cr();
forward init_classes_openvice();
forward init_classes_united2();
forward init_vehicles_sa();
forward init_vehicles_anderius();
forward init_vehicles_united();
forward init_vehicles_gostown6();
forward init_vehicles_cr();
forward init_vehicles_openvice();
forward init_vehicles_united2();
forward init_objects_sa();
forward init_objects_anderius();
forward init_objects_united();
forward init_objects_gostown6();
forward init_objects_cr();
forward init_objects_openvice();
forward init_objects_united2();
forward init_objects_sa();
forward init_objects_anderius();
forward init_objects_united();
forward init_objects_gostown6();
forward init_objects_cr();
forward init_objects_united2();
forward init_npc_sa();
forward init_npc_anderius();
forward init_npc_united();
forward init_npc_gostown6();
forward init_npc_cr();
forward init_npc_united2();
forward player_init_icons_sa(player_id);
forward player_init_icons_anderius(player_id);
forward player_init_icons_united(player_id);
forward player_init_icons_gostown6(player_id);
forward player_init_icons_cr(player_id);
forward player_init_icons_openvice(player_id);
forward player_init_icons_united2(player_id);
forward player_init_for_class_sa(player_id);
forward player_init_for_class_anderius(player_id);
forward player_init_for_class_united(player_id);
forward player_init_for_class_gostown6(player_id);
forward player_init_for_class_cr(player_id);
forward player_init_for_class_openvice(player_id);
forward player_init_for_class_united2(player_id);
forward player_spawn_sa(player_id);
forward player_spawn_anderius(player_id);
forward player_spawn_united(player_id);
forward player_spawn_gostown6(player_id);
forward player_spawn_cr(player_id);
forward player_spawn_openvice(player_id);
forward player_spawn_united2(player_id);
PHP код:
stock strtok(const string[], &index) {
new length = strlen(string);
while ((index < length) && (string[index] <= ' ')) {
index++;
}
new offset = index;
new result[256];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) {
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
stock send_adaptation_cmd(player_id, const acmd_name[]) {
new cmd_raw[256];
format(cmd_raw, sizeof(cmd_raw), "$cmd %s", acmd_name);
SendClientMessage(player_id, 0x01010101, cmd_raw);
}
PHP код:
server_type = get_server_type();
printf("Init simple gamemode %s", get_server_desc(server_type));
{
new rconcmd[256];
format(rconcmd, sizeof(rconcmd), "mapname %s", get_server_desc(server_type));
SendRconCommand(rconcmd);
}
SetGameModeText("Simple");
call_by_gametype("init_classes");
call_by_gametype("init_vehicles");
call_by_gametype("init_objects");
call_by_gametype("init_npc");
/*
// second metod
if (server_sa == server_type) {
init_sa();
}
else if (server_anderius == server_type) {
init_anderius();
}
else if (server_united == server_type) {
init_united();
}
else if (server_gostown6 == server_type) {
init_gostown6();
}
*/
return true;
}
PHP код:
send_adaptation_cmd(playerid, "get_version");
send_adaptation_cmd(playerid, "get_lang");
send_adaptation_cmd(playerid, "get_custom_hash");
send_adaptation_cmd(playerid, "get_display_resolution");
send_adaptation_cmd(playerid, "get_player_serial");
return true;
}
call_by_gametype_i("player_init_for_class", playerid);
PHP код:
public OnVehicleMod(playerid, vehicleid, componentid) {
if (server_sa != server_type) {
// servers not have this, so player is chiter ant this may crash players
return false;
}
return true;
}
//------------------------------------------------------------------------------------------------------
public OnVehiclePaintjob(playerid, vehicleid, paintjobid) {
if (server_sa != server_type) {
// servers not have this, so player is chiter ant this may crash players
return false;
}
return true;
}
//------------------------------------------------------------------------------------------------------
public OnVehicleRespray(playerid, vehicleid, color1, color2) {
if (server_sa != server_type) {
// servers not have this, so player is chiter ant this may crash players
return false;
}
return true;
}
public OnPlayerCommandText(playerid, cmdtext[]) {
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
if (0 == strcmp("$response", cmd, true)) {
new response_cmd[256];
new response_data[256];
response_cmd = strtok(cmdtext, idx);
strcat(response_data, cmdtext[idx+1]);
new text[256];
format(text, sizeof(text), "Receive response of cmd '{FFFFFF}%s{00AA00}': '{FFFFFF}%s{00AA00}'", response_cmd, response_data);
SendClientMessage(playerid, 0x00AA00FF, text);
return true;
}
if (0 == strcmp("/kill", cmdtext, true)) {
SetPlayerHealth(playerid, 0.0);
return true;
}
if (0 == strcmp(cmdtext, "/1", true)) {
new Text:txtSprite1;
txtSprite1 = TextDrawCreate(200.0, 220.0, "samaps:map"); // Текстура txdfile:texture
TextDrawFont(txtSprite1, 4); // 4 шрифт рисования спрайта
TextDrawColor(txtSprite1, 0xFFFFFFFF);
TextDrawTextSize(txtSprite1, 200.0, 200.0); // Размер изображения Ширина:Высота
TextDrawShowForPlayer(playerid, txtSprite1);
return true;
}
if (0 == strcmp(cmdtext, "/2", true)) {
new Text:txtSprite1;
txtSprite1 = TextDrawCreate(200.0, 380.0, "p2:title"); // Текстура txdfile:texture
TextDrawFont(txtSprite1, 4); // 4 шрифт рисования спрайта
TextDrawColor(txtSprite1, 0xFFFFFF80);
TextDrawTextSize(txtSprite1, 100.0, 100.0); // Размер изображения Ширина:Высота
TextDrawAlignment(txtSprite1, 3);
TextDrawShowForPlayer(playerid, txtSprite1);
return true;
}
if (0 == strcmp(cmd, "/acmd", true)) {
new acmd_text[256];
// Get the dance style param
acmd_text = strtok(cmdtext, idx);
if(!strlen(acmd_text)) {
SendClientMessage(playerid,0xFF0000FF,"USAGE: /acmd <cmd_name>");
return true;
}
send_adaptation_cmd(playerid, acmd_text);
new buff[255];
format(buff, sizeof(buff), "Adaptation command sended for player: {FFFFFF}%s", acmd_text);
SendClientMessage(playerid, 0x00FF00FF, buff);
return true;
}
return false;
}
//------------------------------------------------------------------------------------------------------
call_by_gametype(const function_prefix[]) {
new buff[255];
format(buff, sizeof(buff), "%s_%s", function_prefix, get_server_name(server_type));
CallLocalFunction(buff, "");
}
call_by_gametype_i(const function_prefix[], i1) {
new buff[255];
format(buff, sizeof(buff), "%s_%s", function_prefix, get_server_name(server_type));
CallLocalFunction(buff, "i", i1);
}
Now script is compiling but I get :
Код:
C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(363) : warning 217: loose indentation C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(366) : warning 217: loose indentation C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(503) : warning 217: loose indentation C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(542) : warning 203: symbol is never used: "skins" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Warnings.
Код:
About line 363: public OnPlayerDisconnect( playerid, reason ) { if( User[ playerid ][ USER_LOGGED_IN ] == true ) { new Query[ 72 ] ; LINE363--->format( Query, sizeof( Query ), "UPDATE users SET admin = %d WHERE username = '%s'", User[ playerid ][ USER_ADMIN ], DB_Escape( User[ playerid ][ USER_NAME ] ) ); db_query( Database, Query ); } LINE 366---> for( new i; i < _: USER_DATA; ++i ) User[ playerid ][ USER_DATA: i ] = 0; return 1; }
PHP код:
new skins[] = {
0
,1
,2
,7
,9
,10
,11
,12
,13
,14
,15
,16
,17
,18
,19
,20
,21
,22
,23
,24
,25
,26
,27
,28
,29
,30
,31
,32
,33
,34
,35
,36
,37
,38
,39
,40
,41
,43
,44
,45
,46
,47
,48
,49
,50
,51
,52
,53
,54
,55
,56
,57
,58
,59
,60
,61
,62
,63
,64
,66
,67
,68
,69
,70
,71
,72
,73
,75
,76
,77
,78
,79
,80
,81
,82
,83
,84
,85
,87
,88
,89
,90
,91
,92
,93
,94
,95
,96
,97
,98
,99
,100
,101
,102
,103
,104
,105
,106
,107
,108
,109
,110
,111
,112
,113
,114
,115
,116
,117
,118
,120
,121
,122
,123
,124
,125
,126
,127
,128
,129
,130
,131
,132
,133
,134
,135
,136
,137
,138
,139
,140
,141
,142
,143
,144
,145
,146
,147
,148
,150
,151
,152
,153
,154
,155
,156
,157
,158
,159
,160
,161
,162
,163
,164
,165
,166
,167
,168
,169
,170
,171
,172
,173
,174
,175
,176
,177
,178
,179
,180
,181
,182
,183
,184
,185
,186
,187
,188
,189
,190
,191
,192
,193
,194
,195
,196
,197
,198
,199
,200
,201
,202
,203
,204
,205
,206
,207
,209
,210
,211
,212
,213
,214
,215
,216
,217
,218
,219
,220
,221
,222
,223
,224
,225
,226
,227
,228
,229
,230
,231
,232
,233
,234
,235
,236
,237
,238
,239
,240
,241
,242
,243
,244
,245
,246
,247
,248
,249
,250
,251
,252
,253
,254
,255
,256
,257
,258
,259
,260
,261
,262
,263
,264
,265
,266
,267
,268
,269
,270
,271
,272
,274
,275
,276
,277
,278
,279
,280
,281
,282
,283
,284
,285
,286
,287
,288
,290
,291
,292
,293
,294
,295
,296
,297
,298
,299
};
Has been compiled, has includes, has plugins but :
Код:
---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3e, ©2005-2012 SA-MP Team [10:37:52] [10:37:52] Server Plugins [10:37:52] -------------- [10:37:52] Loading plugin: mysql.dll [10:37:53] >> plugin.mysql: R34 successfully loaded. [10:37:53] Loaded. [10:37:53] Loading plugin: sscanf.dll [10:37:53] [10:37:53] =============================== [10:37:53] sscanf plugin loaded. [10:37:53] © 2009 Alex "******" Cole [10:37:53] 0.3d-R2 500 Players "dnee" [10:37:53] =============================== [10:37:53] Loaded. [10:37:53] Loading plugin: streamer.dll [10:37:53] *** Streamer Plugin v2.5.2 by Incognito loaded *** [10:37:53] Loaded. [10:37:53] Loaded 3 plugins. [10:37:53] [10:37:53] Filterscripts [10:37:53] --------------- [10:37:53] Loading filterscript 'mapeditor.amx'... [10:37:53] >> SA-MP Map Editor Loaded [10:37:53] Loaded 1 filterscripts. [10:37:53] Script[gamemodes/simple.amx]: Run time error 19: "File or function is not found" [10:37:53] Number of vehicle models: 0
As far as I know for sure I need define DATABASE access (login, password etc), but I don't think is the problem why server don't find compiled script