Beiträge von CaptainKevin
-
-
-
Bei OnPlayerSpawn
SetPlayerSkin(playerid,GetPVarInt(playerid,"Skinid"));
Musst nurnoch die Variable Laden und Speichern lassen
-
Guten Tag allerseits!
Ich wollte ein Dynamisches Navi System machen.
D.h.: ich gebe an einem Punkt auf der Karte einen Befehl ein. Dann speichert er das ganze.
Dannach lässt er es in einer Datei verewigen. Dann kann man mit z.b. /navi alle Punkte sehen, die erstellt wurden.
Bloß jetzt spuckt er den Error aus:
C:\Users\Smith Fmily\Desktop\New\gamemodes\NGSR.pwn(649) : error 047: array sizes do not match, or destination array is too small
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
#define MAX_PUNKTE 50enum NaviInfo
{
Ort[64],
Float:posx,
Float:posy,
Float:posz
}
new nInfo[MAX_PUNKTE][NaviInfo];ocmd:perstellen(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du hast nicht die benötigten Rechte!");
new Float:x, Float:y, Float:z,name[128];
if(sscanf(params,"d",name))return SendClientMessage(playerid,Gelb,"Verwende: /perstellen [Ortsname]");
GetPlayerPos(playerid,x,y,z);
CreateNavi(x,y,z,name);//Error
return 1;
}stock LoadNavi(naviid)
{
new Ndatei[64];
format(Ndatei,sizeof(Ndatei),"/Navi/%d.txt",naviid);
if(!fexist(Ndatei))return 0;
nInfo[naviid][posx] = dini_Float(Ndatei,"PosX");
nInfo[naviid][posy] = dini_Float(Ndatei,"PosY");
nInfo[naviid][posz] = dini_Float(Ndatei,"PosZ");
format(nInfo[naviid][Ort],64,"%s",dini_Get(Ndatei,"Ort"));
return 1;
}stock CreateNavi(Float:x,Float:y,Float:z,name[64])
{
new Datei[64];
for(new n=1; n<MAX_PUNKTE; n++)
{
format(Datei,sizeof(Datei),"/Navi/%d.txt",n);
if(!fexist(Datei))
{
dini_Create(Datei);
dini_FloatSet(Datei,"PosX",x);
dini_FloatSet(Datei,"PosY",y);
dini_FloatSet(Datei,"PosZ",z);
dini_Set(Datei,"Ort",name);
return LoadNavi(n);
}
}
return 1;
}Kann mir da wer helfen?
-
Was ist grün und läuft durch den Wald?
-Ein Rudel grüner Gurken.
Und was ist der Witz daran?
-Gurken laufen nicht im Rudel! -
Scripten lernen -> logisch denken -> freuen.
Ansonsten mal die SuFu benutzen.
Wenn garnicht anders, Filterscripts suchen. -
Sonst versuch mal bei "else if(response==0)"
das else wegzulassen. -
Nein, sei denn, du erstellst sie selbst.
-
Îch mach wohl mit

Skype: warstar14 -
LoL

Kuni, ich kenne dich nichtmal.
Ich weis nicht wer du bist, ich weis nicht, woher du kommst.
Mike und Ryan:Warum sagt ihr, dass ihr es gescriptet habt, obwohl ihr mich als Scripter genutzt habt?
Ja, das Script hatte Buggs, aber die habe ich da auch selber eingebaut. Ihr benutzt mich immer als Scripter
und dann sagt ihr, ihr hättet es gescriptet
Auch mal nice -.- -
Ich bin der selben Meinung.
Selfmade kannste reinmachen was du willst und das wars. -
Einen Timer erstellen und dann einfach einen Error ins Script einfügen

-
Für mich ist wichtig, dass der Server gut strukturiert ist.
Wenn ich auf einen Server mit vielen Rechtschreibfehlern komme, drücke ich T -> /q -
meinste sowas wie?

-
-
ocmd:givemoney(playerid,params[])
{
new pID,money, string[128],string2[128];
if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,ORANGE,"/givemoney [ID/Name] [Geld Menge]");
format(string,sizeof(string),"Admin %s hat dir %i Euro gegeben.)",Spielername(playerid),money);
SendClientMessage(pID,ROT,string);
format(string2,sizeof(string2),"Du hast %s %i Euro gegeben.",Spielername(playerid),money);
SendClientMessage(playerid,ROT,string2);
GivePlayerMoney(pID,money);
SpielerSpeichern(pID);
return 1;
}
So muss es eigentlich komplett richtig sein. Sonst speichert er ja den Admin und nicht den Spieler :)
Sorry wegen allem :S -
Nicht erreichbarer Code.
Nutze den Fehlererklär Bär
-
for(new i=0; i<sizeof(Eiswagen); i++)
{
SetVehicleToRespawn(Eiswagen[0]);
}
Man fängt immer bei 0 an zu zählen.
Und die funktion musst du in einen Timer packen. -
Du hast keine "If-Abfrage" am Anfang.
Dann bringt ein "Else" auch nichts. -
Interessant, will auch mitmachen

