Hast du das Filterscript auch geladen? Hast es im Filterscriptordner? Hast es überhaupt eingetragen?
Beiträge von KeksOfDeath
-
-
Ja, dann les aber beide Variablen (artikel und anzahl) per sscanf aus
Und dann blbl+=anzahl;
Wird dann addiert -
Du hast kein Tut gefunden? o.o
Hast du auch im Bereich "Tutorials" geguckt?
//OnPlayerComamndText:
if(strcmp(cmdtext,"/kill",true)==0) {//diese funktion "vergleicht" 2 texte miteinander, wenn die texte gleich sind, gibt sie 0 wieder, sonst -1
SetPlayerHealth(playerid,0);//leben des spielers wird auf 0 gesetzt
return 1;//damit der publaaic an dieser stelle abgebrochen wird
}//die "{", die oben auf geht, muss ja auch wieder geschlossen werden -
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == 2)
{
if (GetPlayerVehicleID(playerid) == TruckerVehicle[0]) {
if(GetPlayerSkin(playerid)!=242)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, "Das ist nicht das Richtige Fahrzeug!");
}
}
} -
Also, als Beispiel:
//OnGameModeInit steht da:
AddPlayerClass(...);//classid 0
AddPlayerClass(...);//classid 1
AddPlayerClass(...);//classid 2
AddPlayerClass(...);//classid 3
AddPlayerClass(...);//classid 4
...
//dann bei OnPlayerRequstClass:
if(classid==0) {
GameTextForPlayer(playerid,"ein text",2000,5); }
else if(classid==1) {
GameTextForPlayer(playerid,"ein anderer Text",2000,5); }
... -
Du erstellst nen Checkpoint
SetPlayerCheckpoint(playerid,x,y,z,radius);//glaub, dass es so ist
Dann bei OnPlayerEnterCheckpoint:
if(GetPlayerState(playerid)==2) {
SetVehicleHealth(GetPlayerVehicleID(playerid),100); } -
Müsstest du noch selbst auslesen^^
Ich habs einfach mal "festgelget", damits schneller geht -
Man macht jetzt sagen wir mal:
dcmd_kaufen(playerid,params[]) {
new artikel=strval(params);
switch(artikel) {
case 1: {//sind die Drogen, davon hat er jetzt, nehmen wir mal an 10 Stück gekauft
drogendabei[playerid]=10; }
//case 2 ist ja das handy, davon hat man ja nicht mehrer dabei
case 3: {//von den kekse kauft er sagen wir mal 15
kaksedabei[plyerid]=15; }
}
for(new i=0; i<2; i++) {
if(tasche[playerid][i]==0) {
tasche[playerid][i]=artikel;
i=2; }}
return 1;
} -
Hmmm, bin auch noch recht neu und kanns nicht, aber vllt hilft dir ja das: [ SCRIPTING ] Tutorial zu beweglichen Toren/Gates
-
Rechtsklick auf die Datei ----> Hier entpacken
Solltest du kein WinRAR haben: Klick -
Damit die Abfrage "tasche[playerid][i]==0" nur für den Bereich ist
Beim anderen, damit die Schleife nur für einen bestimmten Bereich ist -
Die 2 ist, weil er 2 Taschen hat und die Kekse sind gar nicht definiert, ich hab ihnen jetzt einfach mal die Nummer 3 gegeben
-
Vllt hat keiner eine Idee, weil dort nix falsch ist?
Ist der Codeschnipsel in einem FS oder im GM drinne? -
Du hast jetzt sagen wir mal 2 Taschen, 3 Produkte (Drogen, Handy, Kekse)
new tasche[MAX_PLAYERS][2], drogendabei[MAX_PLAYERS], keksedabei[MAX_PLAYERS];//für ahndy brauch man sowas ja eigendlich nicht, weil keiner 2 handys dabei haben wird, oder es haben möchte
Wenn er sich sagen wir jetzt mal 10 Kekse kauft:
for(new i=0; i<2; i++) {//2 wegen den 2 taschen
if(tasche[playerid][i]==0) {
tasche[playerid][i]=3;//wir nehmen den Keks jetzt einfach mal als Artikel nummer 3
keksedabei[playerid]=10;//er hat ja 10 Kekse
i=2;//er solls ja nur in einer tasche haben
}
Wenn er dann 10 Kekse isst:
if(keksedabei[playerid]-[kekse, die er isst, in diesem fall 10]==0) {
for(new i=0; i<2; i++) {
if(tasche[playerid][i]==3) {
tasche[playerid][i]=0;
i=2; }} -
Stehen die auch außerhalb eines publics?
-
if(strcmp(cmdtext,"/adm",true,4)==0) {
if(IsPlayerAdmin(playerid)) {
if(!strlen(cmdtext[4])) return SendClientMessage(playerid,FARBE,"/adm Text");
new s[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(s,sizeof(s),"Admin %s: %s",name,cmdtext[4]);
SendClientMessageToAll(FARBE,s); }
else { SendClientMessage(playerid,FARBE,"Nur für Rcons"); }
return 1;
}
Dies ist jetzt nur für Rcon-Admins, wir wissen ja nicht, wie die "Admins" sonst bei dir deklariert sind -
Hier so gehts:
Ganz Oben:
forward ue(playerid);außerhalb eines public's
public ue(playerid)
{
SetPlayerArmour(playerid, 0);
}
-.- Mach mal die Augen auf -
SetTimer("ue",180000,false);
Mach daraus mal lieber ein:
SetTimerEx("ue",180000,0,"d",playerid);Und ja, außerhalb eines publics kann ganz unten sein
Und nein, das in 2 Posts über mir ist nichtt das gleiche, wie 4 Posts über mir -
//ganz nach oben:
forward vlebencheck();
new Text:vleben[MAX_PLAYERS];
//OnGameModeInit:
SetTimer("vlebencheck",1000,1);
//ganz nach unten:
public vlebencheck() {
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(GetPlayerState(i)==2) {
new Float:aleben;
GetVehicleHealth(GetPlayerVehicleID(i),aleben);
aleben-=250;
new s[50];
format(s,sizeof(s),"Auto hat %.2f Prozent Leben",100/750*aleben);
TextDrawSetString(vleben[i],s); }}}
return 1;
}
//OnPlayerConnect:
vleben[playerid]=TextDrawCreate(x,y," ");
//OnPlayerDisconnect:
TextDrawDestroy(vleben[playerid]);
//OnPlayerStateChange:
if(newstate==2) {
TextDrawShowForPlayer(playerid,vleben[playerid]); }
else if(oldstate==2) {
TextDrawHideForPlayer(playerid,vleben[playerid]); } -
Hast das vllt in irgendeinem Filterscript drinne?