Weapons
#1

Hey!

Does anyone know how to use dudb to GetPlayerWeapon upon player entering /minigundm

and then when player TP's out of /minigundm of dies give him the weapons he had before back?


Please be detailed. Noone has been able to answer this for me.

-Kevin
Crazy Awesome, Owner
Reply
#2

Use dini instead.

Add this at the top of your script:
pawn Код:
#define PATH "Weapons"  //  Folder where a player's weapons will save
Under /minigundm, add
pawn Код:
SaveWeaponsToFile(playerid);
Copy / paste this somewhere into your script, at the complete bottom is fine.
pawn Код:
SaveWeaponsToFile(playerid)
{
    new i, path[50], string[128], weaponid, ammo;
    path = GetPlayerFormattedName(playerid);
    if (!dini_Exists(path)) dini_Create(path);
    for (i=1; i<13; i++)
    {
        GetPlayerWeaponData(playerid,i,weaponid,ammo);
        format(string,sizeof(string),"Weapon - %d",i);
        dini_IntSet(path,string,weaponid);
        format(string,sizeof(string),"AmmoID - %d",i);
        dini_IntSet(path,string,ammo);
        dini_IntSet(path,string,ammo == 65535 ? 0 : ammo);
    }
}

GetPlayerFormattedName(playerid)
{
    new name[24], full[50];
    GetPlayerName(playerid,name,sizeof(name));
    format(full,sizeof(full),"%s/%s.txt",PATH,name);
    return full;
}


forward LoadWeaponsToFile(playerid);
public LoadWeaponsToFile(playerid)
{
    new i, path[50], string[128], weaponid, ammo;
    path = GetPlayerFormattedName(playerid);
    ResetPlayerWeapons(playerid);
    for (i=1; i<13; i++)
    {
        format(string,sizeof(string),"Weapon - %d",i);
        weaponid = dini_Int(path,string);
        format(string,sizeof(string),"AmmoID - %d",i);
        ammo = dini_Int(path,string);
        GivePlayerWeapon(playerid,weaponid,ammo);
        SetTimerEx("LoadWeaponsToFile2", 2000, 0, "i", playerid);
    }
}
now under public OnPlayerDeath, add
pawn Код:
SetTimerEx("LoadWeaponsToFile",250,false,"i",playerid
The functions are not made by me, only edited. It does work for me, hope it does for you. Good luck.
Reply
#3

I did exactly what u said and i got this...



Код:
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(8567) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(8754) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(8777) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(8827 -- 8829) : error 001: expected token: ",", but found "return"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(8867) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9001) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9026) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9054) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9074) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9093) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9105) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9115) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9123) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9144) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9152) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9160) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9170) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9182) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9191) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9211) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9230) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9249) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9268) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9277) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9287) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9297) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9318) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9343) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9353) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9365) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9379) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9396) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9408) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9422) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9436) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9451) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9462) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9473) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9484) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9494) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9505) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9516) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9527) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9538) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9549) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9560) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9579) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9603) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9618) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9629) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9648) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9663) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9674) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9685) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9696) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9709) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9719) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9738) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9754) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9786) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9808) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9822) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9830) : error 004: function "SaveWeaponsToFile" is not implemented
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9831) : error 001: expected token: ";", but found "new"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9836) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9853) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9868) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9886) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9897) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9908) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9919) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9931) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9944) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9955) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9966) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9977) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9988) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(9999) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10010) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10023) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10036) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10050) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10064) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10170) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10202) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10214) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10234) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10254) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10651) : error 055: start of function body without function header
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10653) : error 010: invalid function or declaration
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10654) : error 010: invalid function or declaration
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10655) : error 010: invalid function or declaration
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10660) : error 021: symbol already defined: "format"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10662) : warning 219: local variable "path" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10662) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10662) : warning 219: local variable "ammo" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10662) : error 025: function heading differs from prototype
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10662) : error 010: invalid function or declaration
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10678) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10678) : warning 219: local variable "path" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10678) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10678) : warning 219: local variable "weaponid" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10678) : warning 219: local variable "ammo" shadows a variable at a preceding level
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10684) : error 017: undefined symbol "dini_Int"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10686) : error 017: undefined symbol "dini_Int"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10690) : error 017: undefined symbol "AlreadyGiveWeapons"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10690) : warning 215: expression has no effect
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10690) : error 001: expected token: ";", but found "]"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10690) : error 029: invalid expression, assumed zero
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10690) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


16 Errors.
Reply
#4

Check to see if you missed any brackets. "}"
Reply
#5

Quote:
Originally Posted by Faith
Посмотреть сообщение
Check to see if you missed any brackets. "}"

alright.. i fixed a feew "}" and ";"'s


but now i get this....


Код:
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10654) : error 017: undefined symbol "dini_Exists"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10654) : error 017: undefined symbol "dini_Create"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10659) : error 017: undefined symbol "dini_IntSet"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10661) : error 017: undefined symbol "dini_IntSet"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10662) : error 017: undefined symbol "dini_IntSet"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10684) : error 017: undefined symbol "dini_Int"
C:\Users\owner\Desktop\my samp server\my samp server - Copy\gamemodes\stunt.pwn(10686) : error 017: undefined symbol "dini_Int"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


7 Errors.





EDIT!!!!!

Atop the script i added "#include <dini>" but now in do i have to create any folders in scriptfiles or anywhere?
Reply
#6

Yes, create a folder called 'Weapons' into scriptfiles.
Reply
#7

ok thanks! and how do i make this work with other DM's?
Reply
#8

Add
pawn Код:
SaveWeaponsToFile(playerid);
wherever you want your weapons to save, then
pawn Код:
SetTimerEx("LoadWeaponsToFile",250,false,"i",playerid
wherever you want your weapons to load.
Reply
#9

im sorry. im rather new to scripting.... im unsure on how to do that...


so if i wanted the weapons of the player to save before he goes to /m4dm and give it back to him when he exits the dm... i would do what?

(sorry....but if i dont ask.. how will i know?)
Reply
#10

pawn Код:
if (strcmp(cmdtext, "/m4dm", true)==0){
SaveWeaponsToFile(playerid);
// do your stuff
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
SetTimerEx("LoadWeaponsToFile",250,false,"i",playerid);
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)