Example #1
0
int gsc_mysql_real_connect()
{
	int mysql;
	char *host;
	char *user;
	char *pass;
	char *db;
	int port;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql);
	helper += stackGetParamString(2, &host);
	helper += stackGetParamString(3, &user);
	helper += stackGetParamString(4, &pass);
	helper += stackGetParamString(5, &db);
	helper += stackGetParamInt(6, &port);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_real_connect(mysql=%d, host=\"%s\", user=\"%s\", pass=\"%s\", db=\"%s\", port=%d)\n", mysql, host, user, pass, db, port);
	#endif
	
	if (helper != 6)
	{
		printf_hide("scriptengine> wrongs args for mysql_real_connect(...);\n");
		return stackPushUndefined();
	}
	
	mysql = (int) mysql_real_connect((MYSQL *)mysql, host, user, pass, db, port, NULL, 0);
	
	return stackReturnInt(mysql);
}
Example #2
0
int gsc_mysql_real_escape_string()
{
	int mysql;
	char *str;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql);
	helper += stackGetParamString(2, &str);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_real_escape_string(%d, \"%s\")\n", mysql, str);
	#endif
	
	if (helper != 2)
	{
		printf_hide("scriptengine> wrongs args for mysql_real_escape_string(...);\n");
		return stackPushUndefined();
	}
	
	char *to = (char *) malloc(strlen(str) * 2 + 1);
	int ret = mysql_real_escape_string((MYSQL *)mysql, to, str, strlen(str));	
	int retString = stackPushString(to);
	free(to);
	return retString;
}
Example #3
0
void gsc_free_slot() {
	int id = 0;
	if(!stackGetParamInt(0, &id)) {
		printf("Param 0 needs to be an int for free_slot\n");
		stackPushUndefined();
		return;
	}
	int entity = PLAYERBASE(id);
	*(int*)entity = 0; //CS_FREE
	stackPushUndefined();
}
Example #4
0
int gsc_memory_int_set()
{
	int memory;
	int value;
	
	int helper = 0;
	helper += stackGetParamInt(1, &memory);
	helper += stackGetParamInt(2, &value);
	
	#if DEBUG_MEMORY
	printf("gsc_memory_int_set(memory=%d, value=%d)\n", memory, value);
	#endif
	
	if (helper != 2)
	{
		printf_hide("scriptengine> wrongs args for gsc_memory_int_set(memory, value);\n");
		return stackReturnInt(0);
	}

	*(int*)memory = value;
	return stackReturnInt(1);
}
Example #5
0
int gsc_mysql_stmt_bind_result()
{
	int mysql_stmt;
	int result;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql_stmt);
	helper += stackGetParamInt(2, &result);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_stmt_bind_result(mysql_stmt=%d, result=%d)\n", mysql_stmt, result);
	#endif
	
	if (helper != 2)
	{
		printf_hide("scriptengine> wrongs args for gsc_mysql_stmt_bind_result(mysql_stmt, result);\n");
		return stackReturnInt(0);
	}

	int ret = mysql_stmt_bind_result((MYSQL_STMT*)mysql_stmt, (MYSQL_BIND*)result);
	return stackReturnInt(ret);
}
Example #6
0
int gsc_mysql_field_seek()
{
	int result;
	int offset;
	
	int helper = 0;
	helper += stackGetParamInt(1, &result);
	helper += stackGetParamInt(2, &offset);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_field_seek(result=%d, offset=%d)\n", result, offset);
	#endif
	
	if (helper != 2)
	{
		printf_hide("scriptengine> wrongs args for mysql_field_seek(result, offset);\n");
		return stackPushUndefined();
	}

	int ret = mysql_field_seek((MYSQL_RES *)result, offset);
	return stackReturnInt(ret);
}
Example #7
0
int gsc_mysql_stmt_prepare()
{
	int mysql_stmt;
	char *sql;
	int len;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql_stmt);
	helper += stackGetParamString(2, &sql);
	helper += stackGetParamInt(3, &len);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_stmt_prepare(mysql_stmt=%d, sql=%s)\n", mysql_stmt, sql);
	#endif
	
	if (helper != 3)
	{
		printf_hide("scriptengine> wrongs args for gsc_mysql_stmt_prepare(mysql_stmt);\n");
		return stackReturnInt(0);
	}

	int ret = mysql_stmt_prepare((MYSQL_STMT*)mysql_stmt, sql, len);
	return stackReturnInt(ret);
}
Example #8
0
int gsc_memory_memset()
{
	int memory;
	int value;
	int bytes;
	
	int helper = 0;
	helper += stackGetParamInt(1, &memory);
	helper += stackGetParamInt(2, &value);
	helper += stackGetParamInt(3, &bytes);
	
	#if DEBUG_MEMORY
	printf("gsc_memory_memset(memory=%d, value=%d, bytes=%d)\n", memory, value, bytes);
	#endif
	
	if (helper != 3)
	{
		printf_hide("scriptengine> wrongs args for gsc_memory_memset(memory, value, bytes);\n");
		return stackReturnInt(0);
	}

	memset((void*)memory, value, bytes);
	return stackReturnInt(1);
}
Example #9
0
int gsc_mysql_fetch_row()
{
	int result;
	
	int helper = 0;
	helper += stackGetParamInt(1, &result);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_fetch_row(result=%d)\n", result);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for mysql_fetch_row(result);\n");
		return stackPushUndefined();
	}

	MYSQL_ROW row = mysql_fetch_row((MYSQL_RES *)result);
	if (!row)
	{
		#if DEBUG_MYSQL
		printf_hide("row == NULL\n");
		#endif
		return stackPushUndefined();
	}

	int ret = alloc_object_and_push_to_array();
	
	int numfields = mysql_num_fields((MYSQL_RES *)result);
	for (int i=0; i<numfields; i++)
	{
		if (row[i] == NULL)
			stackPushUndefined();
		else
			stackPushString(row[i]);
		
		#if DEBUG_MYSQL
		printf_hide("row == \"%s\"\n", row[i]);
		#endif
		push_previous_var_in_array_sub();
	}

	return ret;
}
Example #10
0
int gsc_mysql_error()
{
	int mysql;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_error(%d)\n", mysql);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for mysql_close(mysql);\n");
		return stackPushUndefined();
	}
	
	char *ret = (char *)mysql_error((MYSQL *)mysql);
	return stackPushString(ret);
}
Example #11
0
int gsc_mysql_affected_rows()
{
	int mysql;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_affected_rows(%d)\n", mysql);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for mysql_affected_rows(mysql);\n");
		return stackPushUndefined();
	}
	
	int ret = mysql_affected_rows((MYSQL *)mysql);
	return stackReturnInt(ret);
}
Example #12
0
int gsc_mysql_stmt_get_field_count()
{
	int mysql_stmt;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql_stmt);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_stmt_get_field_count(mysql_stmt=%d)\n", mysql_stmt);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for gsc_mysql_stmt_get_field_count(mysql_stmt);\n");
		return stackReturnInt(0);
	}

	int ret = ((MYSQL_STMT*)mysql_stmt)->field_count;
	return stackReturnInt(ret);
}
Example #13
0
int gsc_mysql_free_result()
{
	int result;
	
	int helper = 0;
	helper += stackGetParamInt(1, &result);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_free_result(result=%d)\n", result);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for mysql_free_result(result);\n");
		return stackPushUndefined();
	}

	mysql_free_result((MYSQL_RES *)result);
	return stackPushUndefined();
}
Example #14
0
int gsc_memory_int_get()
{
	int memory;
	
	int helper = 0;
	helper += stackGetParamInt(1, &memory);
	
	#if DEBUG_MEMORY
	printf("gsc_memory_int_get(memory=%d)\n", memory);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for gsc_memory_int_get(memory);\n");
		return stackReturnInt(0);
	}

	int ret = *(int*)memory;
	return stackReturnInt(ret);
}
Example #15
0
int gsc_mysql_query()
{
	int mysql;
	char *sql;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql);
	helper += stackGetParamString(2, &sql);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_query(%d, \"%s\")\n", mysql, sql);
	#endif
	
	if (helper != 2)
	{
		printf_hide("scriptengine> wrongs args for mysql_query(...);\n");
		return stackPushUndefined();
	}
	
	int ret = mysql_query((MYSQL *)mysql, sql);	
	return stackReturnInt(ret);
}
Example #16
0
int gsc_memory_malloc()
{
	int bytes;
	
	int helper = 0;
	helper += stackGetParamInt(1, &bytes);
	
	printf_hide("GANZ NORMALES ASD");
	
	
	#if DEBUG_MEMORY
	printf("gsc_memory_malloc(bytes=%d)\n", bytes);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for gsc_memory_malloc(bytes);\n");
		return stackReturnInt(0);
	}

	int ret = (int) malloc(bytes);
	return stackReturnInt(ret);
}
Example #17
0
int gsc_mysql_stmt_init()
{
	int mysql;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_stmt_init(mysql=%d)\n", mysql); // print as %d, cause i cant print it with hex in .gsc
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for gsc_mysql_stmt_init(mysql);\n");
		return stackReturnInt(0);
	}

	MYSQL_STMT *stmt;
	stmt = mysql_stmt_init((MYSQL*)mysql);
	
	int ret = (int) stmt;
	return stackReturnInt(ret);
}
Example #18
0
int gsc_mysql_store_result()
{
	int mysql;
	
	int helper = 0;
	helper += stackGetParamInt(1, &mysql);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_store_result(%d)\n", mysql);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for mysql_store_result(mysql);\n");
		return stackPushUndefined();
	}
		
	MYSQL_RES *result;
	result = mysql_store_result((MYSQL *)mysql);

	int ret = (int) result;
	return stackReturnInt(ret);
}
Example #19
0
int gsc_mysql_fetch_field()
{
	int result;
	
	int helper = 0;
	helper += stackGetParamInt(1, &result);
	
	#if DEBUG_MYSQL
	printf_hide("gsc_mysql_fetch_field(result=%d)\n", result);
	#endif
	
	if (helper != 1)
	{
		printf_hide("scriptengine> wrongs args for mysql_fetch_field(result);\n");
		return stackPushUndefined();
	}

	MYSQL_FIELD *field = mysql_fetch_field((MYSQL_RES *)result);
	if (field == NULL)
		return stackPushUndefined();
	char *ret = field->name;
	return stackPushString(ret);
}
Example #20
0
void gsc_exec_async_create_nosave()
{
	char *command;
	int callback;

	if (!stackGetParamString(0, &command))
	{
		stackError("gsc_exec_async_create_nosave() argument is undefined or has wrong type");
		stackPushUndefined();
		return;
	}

	Com_DPrintf("gsc_exec_async_create_nosave() executing: %s\n", command);

	exec_async_task *current = first_exec_async_task;

	while (current != NULL && current->next != NULL)
		current = current->next;

	exec_async_task *newtask = new exec_async_task;

	strncpy(newtask->command, command, COD2_MAX_STRINGLENGTH - 1);
	newtask->command[COD2_MAX_STRINGLENGTH - 1] = '\0';
	newtask->output = NULL;
	newtask->prev = current;
	newtask->next = NULL;

	if (!stackGetParamFunction(1, &callback))
		newtask->callback = 0;
	else
		newtask->callback = callback;

	newtask->done = false;
	newtask->save = false;
	newtask->error = false;
	newtask->levelId = scrVarPub.levelId;
	newtask->hasargument = true;

	int valueInt;
	float valueFloat;
	char *valueString;
	vec3_t valueVector;
	unsigned int valueObject;

	if (stackGetParamInt(2, &valueInt))
	{
		newtask->valueType = INT_VALUE;
		newtask->intValue = valueInt;
	}
	else if (stackGetParamFloat(2, &valueFloat))
	{
		newtask->valueType = FLOAT_VALUE;
		newtask->floatValue = valueFloat;
	}
	else if (stackGetParamString(2, &valueString))
	{
		newtask->valueType = STRING_VALUE;
		strcpy(newtask->stringValue, valueString);
	}
	else if (stackGetParamVector(2, valueVector))
	{
		newtask->valueType = VECTOR_VALUE;
		newtask->vectorValue[0] = valueVector[0];
		newtask->vectorValue[1] = valueVector[1];
		newtask->vectorValue[2] = valueVector[2];
	}
	else if (stackGetParamObject(2, &valueObject))
	{
		newtask->valueType = OBJECT_VALUE;
		newtask->objectValue = valueObject;
	}
	else
		newtask->hasargument = false;

	if (current != NULL)
		current->next = newtask;
	else
		first_exec_async_task = newtask;

	pthread_t exec_doer;

	if (pthread_create(&exec_doer, NULL, exec_async, newtask) != 0)
	{
		stackError("gsc_exec_async_create_nosave() error creating exec async handler thread!");
		stackPushUndefined();
		return;
	}

	if (pthread_detach(exec_doer) != 0)
	{
		stackError("gsc_exec_async_create_nosave() error detaching exec async handler thread!");
		stackPushUndefined();
		return;
	}

	stackPushInt(1);
}