jaokay, ich gebe zu, das das ein oder andere vllt erwähnen sollte das ich es weis aba das mit dem if pls
Teams mit gTeam erstellen [UPDATED]
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
meinst du mit "if" den Command, der zu OnPlayerCommandText gehöhrt, oder das if bei "public OnPlayerRequesstClass"
-
beides
-
dann ahndle entsprechend und pack den comamnd zu OnPlayerCommandText und den OnPlayerRequestClass zu OnPlayerRequestClass
-
man so was muss man doch wissen wenn man scripten will.
noch einfach kann man das doch nicht machen
kuck dir das nochmal richtig an
-
Hi ich bin schon länger am scripten und ich hab mal schnell das Tut gelesen... gut gemacht! *lob*
so und jtz zum wesentlichen:
Ich benutze gTeam seit 5monaten oda schon länger doch habe ich es nie so verwendet:
static gTeam[MAX_PLAYERS]
ich benutze es so
new gTeam[MAX_PLAYERS]
Ich wollte nun wissen welche von beiden anwendungen wohl sinnvoller, so auch besser ist ?!?
thx im vorraus
-
hi,
Nun ich scripte jetzt erst seit ein paar wochen naya egal.. =P
Ich wollte fragen, wie ich jetzt leute zu diesem team hinzufügen kann. Mit einem cmd, pls kann mir jemand einen beispiel schicken?
Oder so was in der art =DMfG -Stonny-
-
Das hier bei OnPlayerCommandText
if(!strcmp(strget(cmdtext, 0), "/invite")
{
new target = strval(strget(cmdtext, 1));
gTeam[target]=TEAM;
return 1;
}Und das hier irgendwo, ich habs unter den Defines
stock strget(strx[], pos, search = ' ') {
new arg, ret[128], idxx;
for (new i = 0; i < strlen(strx); i++) {
if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
arg++;
if (arg == pos + 1){
ret[i-idxx] = EOS;
return ret;
} else if (arg == pos)
idxx= i+1;
}
else if (arg == pos)
ret[i - idxx] = strx[i];
}
return ret;
}Das dürfte gehen... *gg*
Nicht getestet! -
Danke... nur leider bekomme ich diese fehler meldung:
C:\Programme\Rockstar Games\GTA San Andreas\gamemodes\test.pwn(220) : error 001: expected token: ")", but found "{"
C:\Programme\Rockstar Games\GTA San Andreas\gamemodes\test.pwn(223) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
So irgendwie strange naja weist du was das bedeutet? Oo
MfG -Stonny-
-
Der Warning ist nicht schlimm, aber zeig mal die Zeile 220
-
komischer weise ist das nur ein "{" Oo warte ich schicke mal hier den cmd rein ..
219 if(!strcmp(strget(cmdtext, 0), "/invite")
220 {
221 new target = strval(strget(cmdtext, 1));
222 gTeam[target]=TEAM_SANI;
223 return 1;
224 }habe ich da was falsch?
P.S.: die zahlen davor sollen die zeilennummern sein
-
219 if(!strcmp(strget(cmdtext, 0), "/invite"))/// hier fehlt ein ), musste immer zählen das genauso viele auf wie zu gehende klammern sind, habs mit hingesetzt!
220 {
221 new target = strval(strget(cmdtext, 1));
222 gTeam[target]=TEAM_SANI;
223 return 1;
224 } -
Da war der Viking schnelleer *GG*
-
ooh maaan, erstmal danke^^, ich habe es genau so gemacht wie ihr es mir gesagt habt... nun steht da!!!:
C:\Programme\Rockstar Games\GTA San Andreas\gamemodes\test.pwn(211) : error 017: undefined symbol "strget"
C:\Programme\Rockstar Games\GTA San Andreas\gamemodes\test.pwn(213) : error 017: undefined symbol "strget"
C:\Programme\Rockstar Games\GTA San Andreas\gamemodes\test.pwn(215) : warning 217: loose indentation
C:\Programme\Rockstar Games\GTA San Andreas\gamemodes\test.pwn(218) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
oben habe ich dieses unter den defines stehen, habe ich hier vll. etwas falsch?:
1#include <a_samp>
2
3 static gTeam[MAX_PLAYERS];
4
5 #define TEAM_SANI 0
6
7 #if defined FILTERSCRIPT
8
9 stock strget(strx[], pos, search = ' ') {
10 new arg, ret[128], idxx;
11 for (new i = 0; i < strlen(strx); i++) {
12 if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
13 arg++;
14 if (arg == pos + 1){
15 ret[i-idxx] = EOS;
16 return ret;
17 } else if (arg == pos)
18 idxx= i+1;
19 }
20 else if (arg == pos)
21 ret[i - idxx] = strx[i];
22 }
23 return ret;
24 }O.o es tut mir leid das ich euch hiermit belästige danke.
MfG -Stonny-
-
Nö ist eigentlich richtig...
Sonst probiere es nochmal nach ganz unten hin. -
YAA man danke dir bist der beste und du auch viking =DDD
... ahaha gut das es im spiel nicht klappt hahaha ... naya egal =P bin jetzt zu müde um noch irgendwas dran zu ändern -.-* danke nochmal
-
Funktioniert es nicht..?
-
Leider nein ich schicke mal meinen ganzen script rein mit allen cmds Oo und sonstiges mir egal will eh niemand haben (ist zu schlecht der script da ich noch n noob drin bin =PPP)
Also mein problem ist im spiel wenn ich /invite mache kommt nix also kp was da abgeht O.o vll hilft dir/euch das ich mal meinen script hier rein stelle.
#include <a_samp>
static gTeam[MAX_PLAYERS];
#define TEAM_SANI 0
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
AddPlayerClass(0, 2388.6797,1099.4380,34.2578,359.9680, 0, 0, 0, 0, 0, 0);
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}public OnFilterScriptExit()
{
return 1;
}#else
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}#endif
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Original-FoxHoundScript");
AddPlayerClass(0, 1242.5671, -877.9547, 46.6406, 175.4795, 0, 0, 0, 0, 0, 0);
AddStaticVehicle(416,1097.6406,-1329.8109,13.3288,0.1989,1,3); //
AddStaticVehicle(416,1110.9137,-1329.9249,13.3229,0.2527,1,3); //
AddStaticVehicle(416,1124.0470,-1330.0070,13.3147,0.2237,1,3); //
AddStaticVehicle(563,1119.5569,-1303.8116,26.4163,270.1672,1,6); //
return 1;
}public OnGameModeExit()
{
return 1;
}public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
if(classid == 0)
{
gTeam[playerid] = TEAM_SANI;
}
return 1;
}public OnPlayerRequestSpawn(playerid)
{
return 1;
}public OnPlayerConnect(playerid)
{
SendClientMessage(playerid,0xAA3333AA, "Willkommen Im FoxHoundHildenServer, Scripted by,Deniz, Frjko & Monsterduc.");
SendClientMessage(playerid,0xAA3333AA, "Tippe /help Für Hilfe.");
SendClientMessage(playerid,0xAA3333AA, "Besuch Unsere Seite : http://www.foxhoundhilden.de.vu/ =)");
SendClientMessage(playerid,0xAA3333AA, "!!!!!!Shift Drücken Um Ins Spiel Zu Kommen!!!!!!");
return 1;
}public OnPlayerDisconnect(playerid, reason)
{
return 1;
}public OnPlayerSpawn(playerid)
{
return 1;
}public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}public OnVehicleSpawn(vehicleid)
{
return 1;
}public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}public OnPlayerText(playerid, text[])
{
return 1;
}public OnPlayerPrivmsg(playerid, recieverid, text[])
{
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{if (strcmp("/teleportbsn", cmdtext, true, 10) == 0)
{
SetPlayerInterior (playerid, 0);
SetPlayerPos (playerid, 1202.4637, -902.4254, 48.0625);
return 1;
}if (strcmp("/help", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid,0x00DFDFFF,"-/v (AutoIp/AutoName) - Auto Vor Dir");
SendClientMessage(playerid,0x00DFDFFF,"-/teleportfs (Fahrschule) - Teleport Zur Fahrschule.");
SendClientMessage(playerid,0x00DFDFFF,"-/teleportbsn (BurgerShotNorth) - Teleport Zum Bsn");return 1;
}if (strcmp("/teleportfs", cmdtext, true, 10) == 0)
{
SetPlayerInterior (playerid, 0);
SetPlayerPos (playerid, -2033.9143, -104.2728, 38.9219);
return 1;
}if (strcmp(cmdtext, "/flip", true)==0)
{
new VehicleID, Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, X, Y, Z);
SetVehicleZAngle(VehicleID, 0);
return 1;
}if (strcmp(cmdtext, "/health", true)==0)
{
if(GetPlayerMoney(playerid) > 4999){
GivePlayerMoney(playerid, GetPlayerMoney(playerid) -1000000);
SetPlayerHealth(playerid,999);
}
else{
SendClientMessage(playerid,0x68978DFF,"Nicht Genug Geld Digga..");
}
return 1;
}if(strcmp(cmdtext, "/respawn", true)==0)
{
if(IsPlayerAdmin(playerid) == 1)//if player is admin
{
new vres;
for(vres=1;vres<225;vres++)
{
SetVehicleToRespawn(vres);
}
SendClientMessage(playerid, 0xFFFF00AA, "Alle Fahrzeuge Wurden Respawned.");
}
else //if the player is not an admin
{
SendClientMessage(playerid, 0xAA3333AA, "Error: Du Bist Kein Admin!!!");
return 1;
}
}if(strcmp("/copbase",cmdtext,true) == 0)
{
if(gTeam[playerid] == TEAM_SANI)
{
SetPlayerPos(playerid,123.00,456.00,22.00);
SendClientMessage(playerid,0x00FF00FF,"Du bist nun bei der Cop-Base!");
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist kein Cop!");
}
return 1;
}
if(!strcmp(strget(cmdtext, 0), "/invite"))
{
new target = strval(strget(cmdtext, 0));
gTeam[target]=TEAM_SANI;
return 1;
}
return 0;
}public OnPlayerInfoChange(playerid)
{
return 1;
}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}public OnPlayerExitVehicle(playerid, vehicleid)
{
printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
new carexitreward;
carexitreward = random(50);
switch(carexitreward)
{
case 0:
{
GivePlayerWeapon(playerid, 9,1);
SendClientMessage(playerid,0xFF0080FF, "Du Findest Eine Kettensäge Auf Dem Hintersitz Vom Auto.");
}
case 1:
{
GivePlayerMoney(playerid, 1000);
SendClientMessage(playerid,0xFF0080FF, "Du Findest Geld Auf Dem Amaturenbrett.");
}
case 2:
{
}
case 3:
{
}
case 4:
{
GivePlayerWeapon(playerid, 26, 20);
SendClientMessage(playerid,0xFF0080FF, "Du Findest Eine Shotgun Auf Dem Beifahrersitz.");
}
case 5:
{
GivePlayerWeapon(playerid, 41, 100);
SendClientMessage(playerid,0xFF0080FF, "Du Findest Eine Sprühdose Neben Dem Gaspedal.");
}
case 6:
{
GivePlayerWeapon(playerid, 5,1);
SendClientMessage(playerid,0xFF0080FF, "Du Findest Einen Baseball-Schläger Auf Dem Hintersitz Vom Auto.");
return 1;
}
}
return 0;
}public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}public OnRconCommand(cmd[])
{
return 1;
}public OnObjectMoved(objectid)
{
return 1;
}public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}public OnPlayerExitedMenu(playerid)
{
return 1;
}stock strget(strx[], pos, search = ' ') {
new arg, ret[128], idxx;
for (new i = 0; i < strlen(strx); i++) {
if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
arg++;
if (arg == pos + 1){
ret[i-idxx] = EOS;
return ret;
} else if (arg == pos)
idxx= i+1;
}
else if (arg == pos)
ret[i - idxx] = strx[i];
}
return ret;
}MfG -Stonny-
-
Sorry ich weiß nicht woran es liegen könnte, vielleicht könnte einer der Experten helfen ?
-
hehe. also abwarten und tee trinken..^^
MfG -Stonny-
-