Es ist halt so eine Sache, ein Gf zu editieren geht schneller als ein Selfmade zu schreiben. Ein Nachteil wäre, du kennst den Code nicht zu 100% und ein GF hat sehr viele Bugs. Bei einem Selfmade kennt man jede Funktion, denn man hat sie ja auch selber geschrieben. Außerdem kommt eigentlich ein Selfmade besser an bei der Community, jedoch haben viele Server auch erfolg mit GF Edits, aber mit einem Selfmade kann man mal was neues machen bzw bei einem GF ist immer das Standart Grundgerüst das langsam nervt. Ich bin aber für ein Selfmade, die Arbeit lohnt sich anschließend. Jedoch solltest du dir bewusst sein, dass du scripten könne musst, sprich, wenn du deine Daten mit Dini speicherst kannst du es ganz vergessen, denn auf Ressoursen muss man sehr achten, falls man erfolgreich werden will.
bin ich mir nicht so sicher. Zwar konnte ich vor 1 Jahr noch nicht sooo gut scripten, allerdings komme ich mit meinem Selfmade viel schneller voran, da es nichht so voll ist
Schau mal:
ocmd:givegun(playerid,params[])
{
new pid, id, munition, string[128];
if(sscanf(params,"iii",pid,id,munition)) return SendClientMessage(playerid,WHITE,"["HTML_ORANGE"Warnung"HTML_WHITE"]: Benutzung: /givegun [Spielerid / Teil des Names][Waffenid][Munition]");
{
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,WHITE,"["HTML_ROT"Fehler"HTML_WHITE"]: Der angegebene Spieler ist nicht mit dem Spiel verbunden!");
if(id < 1 || id > 46) return SendClientMessage(playerid,WHITE,"["HTML_ROT"Fehler"HTML_WHITE"]: Die angegebene Waffenid darf nicht kleiner als 1 und grösser als 46 sein!");
if(munition == 0 || munition > 5000) return SendClientMessage(playerid,WHITE,"["HTML_ROT"Fehler"HTML_WHITE"]: Aus Sicherheitsgründen ist die maximale Munition 5000!");
if(Weaponwhitelist[id] == true) return SendClientMessage(playerid,WHITE,"["HTML_ROT"Fehler"HTML_WHITE"]: Die angegebene Waffe, wurde als verboten eingestuft, reaktiviere sie mit /showweapons!");
{
GivePlayerWeapon(pid,id,munition);
format(string,sizeof(string),"* Administrator %s hat dir folgende Waffe gegeben: %s | Munition: %i",PlayerInfo[playerid][Name], GetWeaponNameById(id), munition);
SendClientMessage(pid,Lightblue,string);
format(string,sizeof(string),"* Du hast dem Spieler %s folgende Waffe gegeben: %s | Munition: %i",PlayerInfo[pid][Name], GetWeaponNameById(id), munition);
SendClientMessage(playerid,Lightblue,string);
}
return 1;
}
}
//----------------------------------[GiveGun]------------------------------------------------
if(strcmp(cmd, "/givegun", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 7)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /givegun [playerid] [weaponid(eg. 46 = Parachute)] [ammo]");
return 1;
}
new playa;
new gun;
new ammo;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
gun = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /givegun [playerid] [weaponid] [ammo]");
SendClientMessage(playerid, COLOR_GRAD4, "3(Club) 4(knife) 5(bat) 6(Shovel) 7(Cue) 8(Katana) 10-13(Dildo) 14(Flowers) 16(Grenades) 18(Molotovs) 22(Pistol) 23(SPistol)");
SendClientMessage(playerid, COLOR_GRAD3, "24(Eagle) 25(shotgun) 29(MP5) 30(AK47) 31(M4) 33(Rifle) 34(Sniper) 37(Flamethrower) 41(spray) 42(exting) 43(Camera) 46(Parachute)");
return 1;
}
if(gun < 1||gun > 46||gun==27||gun==1||gun==2||gun==9||gun==17||gun==19||gun==20||gun==21||gun==36||gun==39||gun==40||gun==45)
{ SendClientMessage(playerid, COLOR_GRAD1, " wrong WeaponID!"); return 1; }
tmp = strtok(cmdtext, idx);
ammo = strval(tmp);
if(ammo <1||ammo > 999)
{ SendClientMessage(playerid, COLOR_GRAD1, " dont go below 1 or above 999 bullets!"); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 7)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GivePlayerWeapon(playa, gun, ammo);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt!");
}
}
return 1;
}
Im nachhinein stresst es einfach wenn ein Code so lang ist!
Im GF muss man 10000 Stundne nahc nem Fehler suchen und da vergeht einem die Lust