View Single Post
Author Message
SaBBa
Member
Join Date: Dec 2012
Old 09-18-2020 , 05:19   Store string in array
Reply With Quote #1

Hi, I am very new at scripting, I want to know how to write and read string from array, like assign string to player id and retrieve it.
I had this:

Code:
new playerSaved[33]
playerSaved[id] = "weapon_m4a1"

if(playerSaved[id] == "weapon_m4a1") {
   // do some stuff
}

EDIT:

First error was that I must gave specified length on the string stored in array like
Code:
new playerSaved[33][64]
and secondly, if condition was wrong, turns out I had to use equali
Code:
if(equali(playerSaved[id], "weapon_m4a1"))
I know it's poorly coded, but it is as expected
I am using this plugin with simplemenu: https://forums.alliedmods.net/showthread.php?t=284324
and in simplemenu's settings, calling do.func(buymenu_helper.amxx, get_weapon_ak47) on item selection and it works like a charm

1. New Guns (amx_buy_new)
2. Previous Guns (do.func(buymenu_helper.amxx, getPreviousGuns))
3. Previous Guns & Save (do.func(buymenu_helper.amxx, getPreviousGunsDisable))


Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fun>

new playerSelection[33]
new playerSaved[33][64]

public plugin_init() {
	register_plugin("[CSO] Buymenu Helper", "1.0", "Nevermind23")
	register_clcmd("amx_buy_open", "oldOrNew")

	register_clcmd("say /guns", "enableMenu")
	register_clcmd("say guns", "enableMenu")
	register_clcmd("team_say /guns", "enableMenu")
	register_clcmd("team_say guns", "enableMenu")
}

public oldOrNew(id) {
	if(equali(playerSaved[id], "empty") || equali(playerSaved[id], "")) {
		client_cmd(id, "amx_buy_new")
		return 1
	}
	if(playerSelection[id] == 0) {
		client_cmd(id, "amx_buy_selection")
		return 1
	}
	getPreviousGuns(id)
	return 1
}

public getPreviousGuns(id) {
	client_cmd(id, playerSaved[id])
	return 1
}

public getPreviousGunsDisable(id) {
	getPreviousGuns(id)
	playerSelection[id] = 1
	return 1
}

public enableMenu(id) {
	if(playerSelection[id] == 0) {
		client_print(id, print_chat, "[CSO] Gun selection is already enabled")
		return 0
	}
	client_print(id, print_chat, "[CSO] Gun selection has been enabled")
	client_cmd(id, "amx_buy_new")
	playerSelection[id] = 0
	return 1
}

public client_connet(id) {
	playerSelection[id] = 0
	playerSaved[id] = "empty"
	return 1
}

public client_disconnected(id) {
	playerSelection[id] = 0
	playerSaved[id] = "empty"
	return 1
}

public get_weapon_ak47(id) {
	client_cmd(id, "get_weapon_ak47")
	playerSaved[id] = "get_weapon_ak47"
	return 1
}

...

public get_weapon_m4a1(id) {
	client_cmd(id, "get_weapon_m4a1")
	playerSaved[id] = "get_weapon_m4a1"
	return 1
}

Last edited by SaBBa; 09-19-2020 at 04:42.
SaBBa is offline