Die Namen sind wirklich absoluter mist
Da kann ich mir schon mein Teil zu denken.
Ich würde realistisch denken und was nehmen was man auch beim ersten mal lesen versteht
Beiträge von Beavis
-
-
Oh hab mich verlesen
Ganz einfach such nach
GetPlayerHealth
Irgendwo findest du dann die Funktion -
lösch den Inhalt von deiner W-Baum und füg mein code da ein
-
er müsste die datei eigendlich erstellen
hast du die Include auch nach meiner angepasst und hast du auch den Ordner erstellt?
-
Beim stock Addbaum kansnt du mit DINI dir dann eine Datei erstellen lassen wo du die Bäume speicherst
Eine sehr hilfreiche aussage
Erstellen kann er die Zwar aber das auslesen klappt dann wohl nicht so
@TE
gib bitte eine Antwort ob mein system klappt, da ich es nicht getestet habe -
Schreib das mal in deiner Include rein den rest raus sollte so gehen
#include a_samp
#include dini#define MAX_BAEUME 100 // Maximale Anzahl von Weihnachtsbäumen
enum eBaum {ID, Float:BaumX, Float:BaumY, Float:BaumZ, nErstellt};
new Baum[MAX_BAEUME][eBaum];stock AddBaum(playerid)
{
new Float:x, Float:y, Float:z, Float:a, data[20];
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid, a);
for(new i = 0; i < sizeof(Baum); i++)
{
if(Baum[i][nErstellt] == 0)
{
format(data,sizeof data,"baum/%d.ini",i);
if(!dini_Exists(data))
{
dini_FloatSet(data,"X",x);
dini_FloatSet(data,"Y",x);
dini_FloatSet(data,"Z",x);
}
Baum[i][BaumX] = x;
Baum[i][BaumY] = y;
Baum[i][BaumZ] = z - 0.7;
Baum[i][nErstellt] = 1;
Baum[i][ID] = CreateObject(19076, x, y - 0.7, z - 1, 0.0, 0.0, a - 90.0);
return 1;
}
}
return 0;
}
stock RemoveBaum(playerid)
{
for(new i = 0; i < sizeof(Baum); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3, Baum[i][BaumX], Baum[i][BaumY], Baum[i][BaumZ]))
{
new data[20];
if(Baum[i][nErstellt] == 1)
{
format(data,sizeof data,"baum/%d.ini",i);
if(dini_Exists(data))dini_Remove(data);
Baum[i][nErstellt] = 0;
Baum[i][BaumX] = 0.0;
Baum[i][BaumY] = 0.0;
Baum[i][BaumZ] = 0.0;
DestroyObject(Baum[i][ID]);
return 1;
}
}
}
return 0;
}forward _OnGameModeInit();
public OnGameModeInit()
{
new data[20];
for(new i;i<MAX_BAEUME;i++)
{
format(data,sizeof data,"baum/%d.ini",i);
if(dini_Exists(data))
{
Baum[i][BaumX] = dini_Float(data,"X");
Baum[i][BaumY] = dini_Float(data,"Y");
Baum[i][BaumZ] = dini_Float(data,"Z") - 0.7;
Baum[i][nErstellt] = 1;
Baum[i][ID] = CreateObject(19076, Baum[i][BaumX], Baum[i][BaumY], Baum[i][BaumZ] - 1, 0.0, 0.0, 90.0);
}
}
return CallLocalFunction("_OnGameModeInit", "");
}#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit _OnGameModeInitBitte in deinen Scriptfiles Ordner ein neuen Ordner erstellen der den Namen:
hat -
Ja das meine ich ja
Und jetzt brauch ich noch das womit du dein acc oder so speicherst
wie mit z.B. dini/MySQL..... -
Hier bitte alle 5 Minuten bekommt er 5 Leben abgezogen
//OnGameModeInit
SetTimer("Blublabla",1000*60*5,1);//5 Minuten//Da wo nix ist
forward Blublabla();
public Blublabla()
{
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
new Float:horst;
GetPlayerHealth(playerid,horst);
SetPlayerHealth(playerid,horst-5);//-5 Leben
}
return 1;
}Mehr ist das nicht
-
Das ist eine Include
Die gibt es hier aber finde den link nicht daher brauch ich den dann kann ich es dir eben umschreiben -
wie ist dein Speichersystem von dein Gamemode?
(sende mir ma bitte den link zu der W-Baum ich schreib dir da eben was um)
-
Womit speicherst du?
und der cmd hilft nicht, da er die funktion aus einer anderen funktion holt
-
Timer
Zeit abfragen wann er xx Leben welieren soll
Leben holen
Leben Setten minus den was er verlieren soll -
da sieht man auch so viel..
in der Funktion wo du den Baum erstellst, in einer Datei setzen und beim Serverstart wieder laden lassen -
ein
\t
ist in Pawn die Tab taste also das es in einen Dialog als Tab gilt@TE wiso machst du es untereinander nicht in einer Reihe?
-
debugge das mal oder sende den mysql log
-
so soll es doch auch sein -.-
Ich komm mir verarscht vorif(pInfo[playerid][Adminlevel]==0) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Admin!");
Der Code geht wenn er 0 ist kommt das return
return = abbruch
Also wenn er 0 ist, sendet er die Message
Ist er nicht 0 kommt der Befehl -
Beavis Ich will das aber nicht so machen weil das dann nur für einen Admin Rang geht
Darf ich dich auslachen?Wenn er auf NULL ist darf er es NICHT
Ist er auf 1,2,3,4,5,6,7,8,9,10...... dann geht der Command -
-
ehm nein
Plugin nur darein packen wo die serverconfig liegt
(nur das libmysql)in der Config soll das nicht stehen
-
wenn du es so machst dann gibt er die message wieder aus nimm das von mir