Criminal Russia with MySQL
#1

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:
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); 
Or

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_rawsizeof(cmd_raw), "$cmd %s"acmd_name);
    
SendClientMessage(player_id0x01010101cmd_raw);

PHP код:
    server_type get_server_type();
    
printf("Init simple gamemode %s"get_server_desc(server_type));
    {
        new 
rconcmd[256];
        
format(rconcmdsizeof(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(playeridvehicleidcomponentid) {
    if (
server_sa != server_type) {
        
// servers not have this, so player is chiter ant this may crash players
        
return false;
    }
    return 
true;
}
//------------------------------------------------------------------------------------------------------
public OnVehiclePaintjob(playeridvehicleidpaintjobid) {
    if (
server_sa != server_type) {
        
// servers not have this, so player is chiter ant this may crash players
        
return false;
    }
    return 
true;
}
//------------------------------------------------------------------------------------------------------
public OnVehicleRespray(playeridvehicleidcolor1color2) {
    if (
server_sa != server_type) {
        
// servers not have this, so player is chiter ant this may crash players
        
return false;
    }
    return 
true;
}
public 
OnPlayerCommandText(playeridcmdtext[]) {
    new 
cmd[256];
    new 
idx;
    
cmd strtok(cmdtextidx);
    if (
== strcmp("$response"cmdtrue)) {
        new 
response_cmd[256];
        new 
response_data[256];
        
response_cmd strtok(cmdtextidx);
        
strcat(response_datacmdtext[idx+1]);
        new 
text[256];
        
format(textsizeof(text), "Receive response of cmd '{FFFFFF}%s{00AA00}': '{FFFFFF}%s{00AA00}'"response_cmdresponse_data);
        
SendClientMessage(playerid0x00AA00FFtext);
        return 
true;
    }
    
    if (
== strcmp("/kill"cmdtexttrue)) {
        
SetPlayerHealth(playerid0.0);
        return 
true;
    }
    if (
== strcmp(cmdtext"/1"true))  {
        new 
Text:txtSprite1;
        
txtSprite1 TextDrawCreate(200.0220.0"samaps:map"); // Текстура txdfile:texture
        
TextDrawFont(txtSprite14); // 4 шрифт рисования спрайта
        
TextDrawColor(txtSprite10xFFFFFFFF);
        
TextDrawTextSize(txtSprite1200.0200.0); // Размер изображения Ширина:Высота
        
TextDrawShowForPlayer(playeridtxtSprite1);
        return 
true;
    }
    if (
== strcmp(cmdtext"/2"true))  {
        new 
Text:txtSprite1;
        
txtSprite1 TextDrawCreate(200.0380.0"p2:title"); // Текстура txdfile:texture
        
TextDrawFont(txtSprite14); // 4 шрифт рисования спрайта
        
TextDrawColor(txtSprite10xFFFFFF80);
        
TextDrawTextSize(txtSprite1100.0100.0); // Размер изображения Ширина:Высота
        
TextDrawAlignment(txtSprite13);
        
TextDrawShowForPlayer(playeridtxtSprite1);
        return 
true;
    }
    if (
== strcmp(cmd"/acmd"true))  {
        new 
acmd_text[256];
        
// Get the dance style param
           
acmd_text strtok(cmdtextidx);
        if(!
strlen(acmd_text)) {
            
SendClientMessage(playerid,0xFF0000FF,"USAGE: /acmd <cmd_name>");
            return 
true;
        }
        
        
send_adaptation_cmd(playeridacmd_text);
        new 
buff[255];
        
format(buffsizeof(buff), "Adaptation command sended for player: {FFFFFF}%s"acmd_text);
        
SendClientMessage(playerid0x00FF00FFbuff);
        return 
true;
    }
    return 
false;
}
//------------------------------------------------------------------------------------------------------
call_by_gametype(const function_prefix[]) {
    new 
buff[255];
    
format(buffsizeof(buff), "%s_%s"function_prefixget_server_name(server_type));
    
CallLocalFunction(buff"");
}
call_by_gametype_i(const function_prefix[], i1) {
    new 
buff[255];
    
format(buffsizeof(buff), "%s_%s"function_prefixget_server_name(server_type));
    
CallLocalFunction(buff"i"i1);

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 :
Код:
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.
Which is :

Код:
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;
}
LINE 542 is end of file but function where is skins defined is :
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
}; 
PROBLEM:
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
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
Reply
#2

For loose identation

Код:
public OnPlayerDisconnect( playerid, reason )
{
     if( User[ playerid ][ USER_LOGGED_IN ] == true )
     {
          new Query[72];
          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 );
     }
     for( new i; i < _: USER_DATA; ++i ) User[ playerid ][ USER_DATA: i ] = 0;
     return 1;
}
Quote:

Script[gamemodes/simple.amx]: Run time error 19: "File or function is not found"

You are missing a plugin or include. Double check it once again. Make sure they are all updated. Recompile again the script.
Reply
#3

PHP код:
#include <a_samp>
//#include "../include/mods"   
#include <easydialog> 
I deactived middle include and recompiled script and still got

Код:
C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(364) : warning 217: loose indentation
C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(367) : warning 217: loose indentation
C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(504) : warning 217: loose indentation
C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(543) : warning 203: symbol is never used: "skins"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Warnings.
So I replaced code what you gived me and now I got only:
Код:
C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(502) : warning 217: loose indentation
C:\Users\User\Downloads\srv-cr-mp-c3-win\gamemodes\simple.pwn(539) : warning 203: symbol is never used: "skins"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Warnings.
PHP код:
public OnPlayerSpawn(playerid) {
        
SetPlayerInterior(playerid0);
        
SetPlayerPos(playerid2554.8867, -2205.589622.4543);
        
SetPlayerFacingAngle(playerid0.0);
        
GivePlayerMoney(playerid10000);
LINE 502:    return 0;

And about skins what I ve posted before, how should be look OnPlayerRequstClass to use skins ? I need one class on connect with just skin sellector which will save player skin to user database. I know that propably is simple but I still learn and moded (for different samp version as its showing as crce not 0.3e) functions with defined all skins is new for me

PHP код:
public OnPlayerRequestClass(playeridclassid) {
    
SetPlayerInterior(playerid0);
    
SetPlayerPos(playerid2679.1013, -2535.140621.8786);
    
SetPlayerFacingAngle(playerid90.0);
    
SetPlayerCameraPos(playerid2676.5026, -2534.271721.7785);
    
SetPlayerCameraLookAt(playerid2685.1298, -2539.252622.6501);
    return 
1;

And here I think should something which loading skins, but is part of "simple.pwn" and there was

PHP код:
forward init_classes_cr();
forward init_vehicles_cr();
forward init_objects_cr();
forward init_objects_cr(); // its doubled I don't know why
forward init_npc_cr(); // when I loaded simple.amx on host, then NPC has connect and crash server, on windows server it was working fine...
forward player_init_icons_cr(player_id);
forward player_init_for_class_cr(player_id);
forward player_spawn_cr(player_id); 
Now I don't need it as I will load this only for CR so I think just need to move codes to proper place but I don't understand how to replace this to make more simple gamemode, I mean to move CreateObject which is for CR under OnGameModeInit as it should be, and rest but which to where?
Reply
#4

I Have 46k lines gamemode which I unable to compile, every compiler I use is just stop responding... I checked forum and found about brackets but as far as I see there is no anyone missing or too much. Any idea of this problem? Also have you know if there is difference between gamemode for sa-mp and gamemode for modified samp like is Criminal Russia, do I need make any special loads /defines? or it will just load for crce version as normal?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)