Issues with saving

Users who are viewing this thread

I am trying to make it where items save when a item picked up, sold and bought. The Buying/selling wasnt hard but the item picked up has hit me hard.

  ("check_on_item_picked_up", # server: extra checks when an agent picks up an item
  [(store_script_param, ":agent_id", 1), # must be valid
    (store_script_param, ":item_id", 2),
    (store_script_param, ":instance_id", 3), # must be the item instance's id

    (try_begin),
      (eq, ":item_id", "itm_money_bag"), # since the item instance will be removed immediately aftewards, transfer the contents to an agent slot
      (neq, "$g_game_type", "mt_no_money"),
      (scene_prop_get_slot, ":value", ":instance_id", slot_scene_prop_gold_value),
      (scene_prop_set_slot, ":instance_id", slot_scene_prop_gold_value, 0),
      (try_for_range, ":value_slot", slot_agent_money_bag_1_value, slot_agent_money_bag_4_value + 1),
        (agent_get_slot, ":next_value", ":agent_id", ":value_slot"),
        (agent_set_slot, ":agent_id", ":value_slot", ":value"),
        (assign, ":value", ":next_value"),
      (try_end),
    (else_try),
      (this_or_next|eq, ":item_id", "itm_invisible_sword"),
      (eq, ":item_id", "itm_admin_scalpel"),
      (agent_get_player_id, ":player_id", ":agent_id"),
      (player_is_active, ":player_id"),
      (neg|player_is_admin, ":player_id"),
      (agent_unequip_item, ":agent_id", ":item_id"),
    (try_end),
## Save
(try_begin), 
    (player_get_agent_id, ":agent_id", ":player_id"),
(call_script, "script_update_player_health_values", ":player_id"),   
(call_script, "script_cf_save_gold_buy", ":player_id"),   
(call_script, "script_player_add_armor_database", ":player_id", 1),
(call_script, "script_upload_player_faction", ":player_id"),
(try_end),
    ]),
After this it starts going all weird im going to assume because of game modes. But i do not know how to fix it D:

23:42:08 - Shyana(1794012) Disconnect his/her gold updated to 7343455.
23:42:08 - Shyana(1794012) Disconnect his/her gold updated to 7343455.
23:42:09 - (12:cool: Disconnect his/her gold updated to 0.
23:42:11 - (1) Disconnect his/her gold updated to 0.
23:42:23 - Admin Shyana (1794012) has left the server.
23:42:23 -  <img=ico_headshot> Shyana

Input: SCRIPT WARNING ON OPCODE 406: Invalid Player ID: -1094622766; LINE NO: 22
:
At script: check_on_item_picked_up. SCRIPT WARNING ON OPCODE 441: Invalid Playe
r ID: -1094622766; LINE NO: 2:
At script: cf_save_gold_buy. SCRIPT WARNING ON OPCODE 407: Invalid Player ID: -
1094622766; LINE NO: 3:
At script: cf_save_gold_buy. SCRIPT WARNING ON OPCODE 2350: Invalid Player ID:
-1094622766; LINE NO: 6:
At script: cf_save_gold_buy. SCRIPT WARNING ON OPCODE 406: Invalid Player ID: -
1094622766; LINE NO: 3:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1704: Invalid Ag
ent ID: 0; LINE NO: 6:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 7:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 8:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 9:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 10:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 441: Invalid Player ID: -1094622766; LINE NO: 39:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 2350: Invalid Pl
ayer ID: -1094622766; LINE NO: 40:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 528: Invalid Player ID: -1094622766; LINE NO: 42:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 528: Invalid Pla
yer ID: -1094622766; LINE NO: 43:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 528: Invalid Pla
yer ID: -1094622766; LINE NO: 44:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 528: Invalid Player ID: -1094622766; LINE NO: 67:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 406: Invalid Player ID: -1094622766; LINE NO: 2:
At script: upload_player_faction. SCRIPT WARNING ON OPCODE 1704: Invalid Agent
ID: 1; LINE NO: 3:
At script: upload_player_faction. SCRIPT WARNING ON OPCODE 528: Invalid Player
ID: -1094622766; LINE NO: 4:
At script: upload_player_faction. SCRIPT WARNING ON OPCODE 441: Invalid Player
ID: -1094622766; LINE NO: 5:
At script: upload_player_faction. SCRIPT WARNING ON OPCODE 406: Invalid Player
ID: -1094622766; LINE NO: 22:
At script: check_on_item_picked_up. SCRIPT WARNING ON OPCODE 441: Invalid Playe
r ID: -1094622766; LINE NO: 2:
At script: cf_save_gold_buy. SCRIPT WARNING ON OPCODE 407: Invalid Player ID: -
1094622766; LINE NO: 3:
At script: cf_save_gold_buy. SCRIPT WARNING ON OPCODE 2350: Invalid Player ID:
-1094622766; LINE NO: 6:
At script: cf_save_gold_buy. SCRIPT WARNING ON OPCODE 406: Invalid Player ID: -
1094622766; LINE NO: 3:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1704: Invalid Ag
ent ID: 0; LINE NO: 6:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 7:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 8:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 9:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 1804: Invalid Ag
ent ID: 0; LINE NO: 10:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 441: Invalid Player ID: -1094622766; LINE NO: 39:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 2350: Invalid Pl
ayer ID: -1094622766; LINE NO: 40:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 528: Invalid Player ID: -1094622766; LINE NO: 42:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 528: Invalid Pla
yer ID: -1094622766; LINE NO: 43:
At script: player_add_armor_database. SCRIPT WARNING ON OPCODE 528: Invalid Pla
yer ID: -1094622766; LINE NO: 44:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 528: Invalid Player ID: -1094622766; LINE NO: 67:
At script: player_add_armor_database. At script: player_add_armor_database. SCR
IPT WARNING ON OPCODE 406: Invalid Player ID: -1094622766; LINE NO: 2:
At script: upload_player_faction. SCRIPT WARNING ON OPCODE 1704: Invalid Agent
ID: 1; LINE NO: 3:
At script: upload_player_faction. SCRIPT WARNING ON OPCODE 528: Invalid Player
ID: -1094622766; LINE NO: 4:
At script: upload_player_faction. SCRIPT WARNING ON OPCODE 441: Invalid Player
ID: -1094622766; LINE NO: 5:
At script: upload_player_faction.
 
Shyana said:
Input: SCRIPT WARNING ON OPCODE 406: Invalid Player ID: -1094622766; LINE NO: 22
:
At script: check_on_item_picked_up.
This sort of error is fatal, and means you have written broken code: any sort of invalid id means you didn't check your input values properly. From the snippet of code above, it appears you have tried to use the local variable ":player_id" for the operation player_get_agent_id (which is also "OPCODE 406", as listed in header_operations) without always setting the variable for the added block of code.

You probably wanted to use agent_get_player_id instead, with the parameters swapped. You should also use player_is_active immediately after on the returned variable, to ensure that the script was not run on a bot agent (without an associated player id): while the standard PW usage only calls it from a mission template trigger that bots should never activate, the script could be called by another script you add, and it is a good practice to check returned ids before using them if possible, unless they will definitely always be valid.
 
Back
Top Bottom